This guide will help you deploy Archipelago to a production environment.
It includes:
- Traefik to orchestrate domain names and certificates
- Apache Jena Fuseki triplestore to store semantic data (on port 3030)
- Redis to cache data and improve performances
In your DNS registrar, you will need to point two domains to your server:
data.mydomain.comwith the domain name where your data will be storedmydomain.comwith the domain name where the frontend will be available
In docker-compose.yml:
- Replace
data.mydomain.comwith the domain name where your data will be stored - Replace
mydomain.comwith the domain name where the frontend will be available - Replace
myemail@mydomain.comby your email address (this is for Let's encrypt certificates) - Replace
mypasswordwith the password you want for the Fuseki admin
In middleware/app/.env.local:
- Replace
data.mydomain.comwith the domain name where your data will be stored - Replace
mypasswordby the previously set Fuseki password - Add the configuration required to connect to your OIDC server
In frontend/app/.env.local:
- Replace
data.mydomain.comwith the domain name where your data will be stored
Any file added to the
middleware/appandfrontend/appdirectories will be copied to the Docker containers, eventually overwriting existing files.
docker-compose build
docker-compose up -dOR using makefile
make build-prod
make start-prod
make log-prod
make stop-prodFor those who want to try this Docker configuration in a local environment
docker-compose -f docker-file-dev.yaml build
docker-compose -f docker-file-dev.yaml up -dOR using makefile
make build-dev
make start-dev
make log-dev
make stop-dev