This is the repository for the Indicia Warehouse, the server-side component of Indicia, the online wildlife recording toolkit. Indicia accelerates development of wildlife recording websites and mobile applications. Documentation is available at https://indicia-docs.readthedocs.io/en/latest/index.html.
Details of the installation procedure are at http://indicia-docs.readthedocs.org/en/latest/administrating/warehouse/warehouse-installation.html.
The latest stable download of the warehouse code is available at https://github.com/Indicia-Team/warehouse/releases/latest
Details of the upgrade procedure are at http://indicia-docs.readthedocs.org/en/latest/administrating/warehouse/warehouse-upgrading.html.
For those working in Linux, there is a set up script which will install and configure a 'complete' (work in progress) Indicia infrastructure using Docker. The code is in a shared volume so that you can see the effect of changes immediately and xdebug is set up so you can set breakpoints and single step through code.
Naturally you'll need Docker installed.
Currently, a postgres client is needed on the host for the script to complete the set
up of the indicia schema. E.g. on Ubuntu you can
sudo apt install postgresql-client
.
If you clone this repo, cd docker
and execute ./compose.sh
it will start
8 docker containers offering these services.
admin
having
password password
.To reset your docker system to an entirely clean state, execute ./reset.sh
from the docker
folder.
If you are going to immediately restart docker then delete cookies from
your browser too.
Once running you can browse the warehouse at http://localhost:8080. You can examine the database with pgAdmin at http://localhost:8070. Any mail sent by the warehouse can be viewed at http://localhost:8025. GeoServer can be configured at http://localhost:8090/geoserver. The Elasticsearch API is accessible at https://localhost:9200. Kohana is accessed by browsing https://localhost:5601.
To log in , the default credentials are
To connect pgAdmin to the database, add a new server and configure the connection with
docker container ls --format "table {{.Names}}\t{{.Ports}}"
To log in, the default credentials are:
Note that security is enabled so use https. To log in the default credentials are
There is a separate Docker configuration for unit testing which can be
run up by cd docker
then ./phpunit.sh
. This replicates the unit
testing performed when you push commits to the repository, enabling you
to create and debug tests locally. It uses its own volume for the database
so won't overwrite any setup you have in your development system. You do have to
stop your development containers before running unit testing though, as it uses
the same ports and modifies configuration. Config files that are modified by
testing are backed up and restored, provided the script runs to completion.