Deployment
Configure SSL and reverse proxy for your Checkend installation.
Deployment Modes
Checkend supports two deployment modes:
- Direct SSL: Checkend handles SSL certificates automatically using Let's Encrypt via Thruster
- Reverse Proxy: Use your own nginx, Caddy, or other proxy to handle SSL and forward requests to Checkend on port 3000
The deployment mode is configured during setup. When using a reverse proxy, the setup script creates a
compose.override.yml that exposes port 3000.
Direct SSL Mode
For direct SSL mode, set the THRUSTER_TLS_DOMAIN environment variable to your domain. Checkend will automatically provision and renew SSL certificates from Let's Encrypt.
Make sure your domain's DNS is pointing to your server before starting Checkend.
Reverse Proxy Setup
When using a reverse proxy, configure it to forward requests to localhost:3000.
nginx
nginx.conf
server {
listen 443 ssl;
server_name checkend.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
} Caddy
Caddy automatically provisions SSL certificates:
Caddyfile
checkend.example.com {
reverse_proxy localhost:3000
} Switching Modes
To switch between deployment modes, run the setup script again:
Terminal
cd /opt/checkend
./setup.sh # Select your new deployment mode
docker compose up -d --build DNS Configuration
Make sure your domain's DNS is configured and propagated before deploying. SSL certificate provisioning will fail if the domain doesn't resolve to your server.