Kestra

Piattaforma open-source per l'orchestrazione di flussi di lavoro programmati e basati su eventi.

Access Kestra

  • Apri il browser e visita: 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)

Percorsi importanti

  • Kestra installation directory: /root/kestra
  • Main configuration file: /root/kestra/application.yaml
  • File Docker Compose: /root/kestra/docker-compose.yml
  • Kestra storage volume: /var/lib/docker/volumes/kestra-data/_data
  • Volume dei dati PostgreSQL: /var/lib/docker/volumes/postgres-data/_data
  • Configurazione del sito Nginx: /etc/nginx/sites-available/kestra
  • Enabled site (symlink): /etc/nginx/sites-enabled/kestra
  • Certificati SSL autofirmati: /etc/nginx/ssl/fullchain.pem e /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

Abilitazione SSL con un dominio

1. Indirizza il tuo dominio all'IP del server.

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. Modifica la configurazione di Nginx e sostituisci entrambi server_name <IP>; con il tuo dominio (<your-domain>) sia per i blocchi HTTP (porta 80) che HTTPS (porta 443):

vim /etc/nginx/sites-available/kestra

5. Installa Certbot:

apt install -y certbot python3-certbot-nginx

6. Esegui il seguente comando per generare un certificato Let's Encrypt valido:

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. Riavvia Nginx per applicare le modifiche:

systemctl restart nginx

9. Apri il browser e visita: https://yourdomain.com

Dettagli dell'applicazione