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.com
with the domain name where your data will be storedmydomain.com
with the domain name where the frontend will be available
In docker-compose.yml
:
- Replace
data.mydomain.com
with the domain name where your data will be stored - Replace
mydomain.com
with the domain name where the frontend will be available - Replace
[email protected]
by your email address (this is for Let's encrypt certificates) - Replace
mypassword
with the password you want for the Fuseki admin
In middleware/app/.env.local
:
- Replace
data.mydomain.com
with the domain name where your data will be stored - Replace
mypassword
by the previously set Fuseki password - Add the configuration required to connect to your OIDC server
In frontend/app/.env.local
:
- Replace
data.mydomain.com
with the domain name where your data will be stored
Any file added to the
middleware/app
andfrontend/app
directories will be copied to the Docker containers, eventually overwriting existing files.
docker-compose build
docker-compose up -d
OR using makefile
make build-prod
make start-prod
make log-prod
make stop-prod
For 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 -d
OR using makefile
make build-dev
make start-dev
make log-dev
make stop-dev