- Clone the aseemsDB repo at https://github.com/aseem-keyal/aseemsDB
- Make an empty directory to store the recoll configuration and index
- Edit dev.yml to mount the following directories as volumes:
- the app folder inside the aseemsDB repo you cloned (skip this if you don't want to make any changes to the app and just run it as is)
- the packet archive you want to index using aseemsDB
- the empty recoll configuration you created
- Run
docker-compose -f dev.yml up
- Run
docker exec -it aseemsdb recollindex
in order to run the initial recoll index operation. Once this completes, you can CTRL+D orexit
out of the container - Open
localhost:8080
in your browser and the app folder inside your cloned aseemsDB repo in your text editor/IDE of choice
Edits to the aseemsDB source code should auto-reload the uvicorn server and be reflected in the running app.
- Clone this repo on your server into your home directory
- Create an empty
recollconf
directory and a populatedpacket_archive
directory in your home directory - Register the domain for aseemsDB and the following subdomains:
traefik.yourdomainhere
,grafana.yourdomainhere
, andprometheus.yourdomainhere
- Follow the guide at https://dockerswarm.rocks/ to set up Docker Swarm.
- Follow the first three steps of the guide at https://dockerswarm.rocks/traefik/ to set up a docker network and node for traefik
- Edit the
prod.sh
file and then runsource prod.sh
to set the relevant environment variables - Edit the prometheus data source in
grafana/provisioning/datasources/datasource.yml
to point to the prometheus endpoint you're exposing (prometheus.yourdomain:8082
) - Set the
ACCESS_KEY
andSECRET_KEY
environment variables for your S3 bucket (if you don't want to backup to S3 you can remove the backup service fromdocker-compose.yml
) - Run
docker network create --driver=overlay inbound
to create another docker network - Run
docker stack deploy -c docker-compose.yml aseemsdb
to create all the services - Give the services a minute or two to start up and then you should be able to go to your domain and see the aseemsDB UI
- Run
docker exec -it [aseemsdb container name here] bash
to enter the aseemsdb container and then runrecollindex
to start indexing
You now have a deployed instance of aseemsDB with metrics, logging, and automated backups that can be scaled by adding more docker swarm nodes to your cluster.