Skip to content

Option 2: Deploying Allegrograph on a subdomain (Recommended)

1. Start by setting up your sub domain in your DNS provider. Create a sub domain e.g. and set the A record to the public IP address of your FDP server.
2. Once the sub domain has propagated, generate the Let's Encrypt SSL certificates for agraph.example.com To do that we first start by stoping our docker containers. Reason being, when you initiate SSL certificate requests, certbot uses port 80 to communicate which unfortunately will already be in use by fdp-proxy container (your reverse proxy)
Start by stopping your containers
docker compose down

# Optionally disable NGINX if it was already running
systemctl stop nginx.service

3. Issue SSL certificate using certbot
sudo certbot certonly --standalone -d agraph.example.com

4. Update your NGINX configuration nginx/sites-avaialble/fdp.conf
# FAIR Data Point (FDP) Server
server {
listen 443 ssl;
server_name <your_fdp_domain>;

# FDP Certificates
ssl_certificate /etc/letsencrypt/live/<your_fdp_domain>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<your_fdp_domain>/privkey.pem;

location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass_request_headers on;
proxy_pass http://fdp-client;
}
}

# AllegroGraph Server
server {
listen 443 ssl;
server_name <your_agraph_domain>;

# AllegroGraph Certificates (MUST exist before restarting Nginx)
ssl_certificate /etc/letsencrypt/live/<your_agraph_domain>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<your_agraph_domain>/privkey.pem;

location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass_request_headers on;
proxy_pass http://allegrograph:10035;
}
}

# HTTP to HTTPS Redirects for both domains
server {
listen 80;
server_name <your_fdp_domain> <your_agraph_domain>;
return 301 https://$host$request_uri;
}

5. Start up your docker containers to load the new config
docker compose up -d

6. Access Allegrograph using your created subdomain
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.