Access Kestra
- Open your browser and visit:
https://<SERVER_IP> - A browser SSL warning is expected (self-signed certificate)
- Create your admin account immediately on first visit.
- Metrics (internal use only):
http://localhost:8081/prometheus(not exposed publicly for security)
Important Paths
- Kestra installation directory:
/root/kestra - Main configuration file:
/root/kestra/application.yaml - Docker Compose file:
/root/kestra/docker-compose.yml - Kestra storage volume:
/var/lib/docker/volumes/kestra-data/_data - PostgreSQL data volume:
/var/lib/docker/volumes/postgres-data/_data - Nginx site config:
/etc/nginx/sites-available/kestra - Enabled site (symlink):
/etc/nginx/sites-enabled/kestra - Self-signed SSL certificates:
/etc/nginx/ssl/fullchain.pemand/etc/nginx/ssl/privkey.pem
Manage the Stack
cd /root/kestra
# View running containers
docker ps
# View logs
docker compose logs -f
# Restart services
docker compose restart
# Stop stack
docker compose down
# Start stack
docker compose up -d
Enabling SSL with a Domain
1. Point your domain to the server IP.
2. Update the url in Kestra configuration (/root/kestra/application.yml):
url: https://yourdomain.com/
3. Restart Kestra services:
cd /root/kestra/
docker compose restart
4. Edit Nginx config and replace both server_name <IP>; with your domain (<your-domain>) for both HTTP (port 80) and HTTPS (port 443) blocks:
vim /etc/nginx/sites-available/kestra
5. Install Certbot:
apt install -y certbot python3-certbot-nginx
6. Run the following command to generate a valid Let’s Encrypt certificate:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
7. Replace SSL paths in Nginx config:
vim /etc/nginx/sites-available/kestra
# Before:
# ssl_certificate /etc/nginx/ssl/fullchain.pem;
# ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
8. Restart Nginx to apply the changes:
systemctl restart nginx
9. Open your browser and visit: https://yourdomain.com