This deployment is intended for production use. If you want to just test FIP Wizard locally, visit Local Deployment.
Docker Engine version 19.03 (or higher)
Docker Compose version 1.25 (or higher)
Domain and DNS records set for providing FIP Wizard (you can use any other subdomains):
dsw.your-domain.tld- for FIP Wizard (DSW)
api.dsw.your-domain.tld- for FIP Wizard API (DSW API)
sparql.your-domain.tld- for Triple Store (Nanopublications)
Get FIP Wizard¶
git clone repository https://github.com/fip-wizard/fip-deployment-production locally.
fip-deployment-production we call FIP Wizard root directory. It consists all necessary configuration files and
Configure domains and secrets¶
There are several things that you need to configure before running FIP Wizard for production deployment. In files, look for comments marked with
proxy/nginx/dsw.confwith your domain names. Those need to have valid DNS records pointing to that server.
dsw_clientservice) to your value for
clientUrlto your value for
allegrograph/agraph.cfg- set strong password and optionally change username using
SuperUserdirective, the same credentials must be configured in
Obtain SSL certificates¶
Before providing FIP Wizard you need also to get SSL certificates to be able to use HTTPS. We recommend using Let’s Encrypt but you can use any other way and change Nginx proxy configuration accordingly.
includelines at the end of
Start the proxy service
docker-compose up -d proxy
Get certificates for your domains:
sudo certbot certonly --webroot -w ./proxy/letsencrypt -d dsw.your-domain.tld
sudo certbot certonly --webroot -w ./proxy/letsencrypt -d api.dsw.your-domain.tld
sudo certbot certonly --webroot -w ./proxy/letsencrypt -d sparql.your-domain.tld
Create certificate file for AllegroGraph (it needs to merge
privkey.pemobtained by Let’s Encrypt into a single file):
sudo cat /etc/letsencrypt/live/sparql.your-domain.tld/cert.pem /etc/letsencrypt/live/sparql.your-domain.tld/privkey.pem > ./allegrograph/cert.pem
Stop the proxy service
Uncomment lines at the end of
If getting certificates fails, it can be caused by incorrectly set DNS records. Optionally, verify if Nginx container is running and view its logs. You should also setup certificates renewal according to Certbot documentation.
Start FIP Wizard (and wait a bit until all services start).
docker-compose up -d
dsw.your-domain.tld, login using
passwordand change default user accounts with strong passwords.
sparql.your-domain.tld, create a repository
/and create other users with permissions according to your needs (see AllegroGraph documentation for details). For example, create an anonymous user with only read permissions to catalog / and repository fip.
Restart FIP Wizard and wait a bit until all services start up (depending on your hardware, less than a minute).
docker-compose down docker-compose up -d
Verify setup by creating FAIR Implementation Profile, saving it, creating a document, and submitting a nanopublication.
🎉 After this, your FIP Wizard is ready to be used!
To check if everything is working, you can use
docker-compose logs and
docker-compose ps commands.
⚙️ For additional configuration options, see Advanced Configuration.
Stop FIP Wizard
Overwrite configurations and
Check if there are new configuration values to be changed according to your setup (marked with
Start FIP Wizard again
From root directory of
docker-compose down git pull docker-compose up -d
This may need you to
git stash your changes and then
git stash pop them (and eventually solve git conflicts).