Kestra

Open-source platform for event-driven and scheduled workflow orchestration.

Access Kestra

  • 打开浏览器并访问: 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)

重要路径

  • Kestra installation directory: /root/kestra
  • 主配置文件: /root/kestra/application.yaml
  • Docker Compose 文件: /root/kestra/docker-compose.yml
  • Kestra storage volume: /var/lib/docker/volumes/kestra-data/_data
  • PostgreSQL 数据量: /var/lib/docker/volumes/postgres-data/_data
  • Nginx 站点配置: /etc/nginx/sites-available/kestra
  • Enabled site (symlink): /etc/nginx/sites-enabled/kestra
  • 自签名SSL证书: /etc/nginx/ssl/fullchain.pem 以及 /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

为域名启用SSL

1. 将您的域名指向服务器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. 编辑 Nginx 配置文件并替换两处 server_name <IP>; 使用您的域名 (<your-domain>) 同时适用于 HTTP(端口 80)和 HTTPS(端口 443)的封堵:

vim /etc/nginx/sites-available/kestra

5. 安装 Certbot:

apt install -y certbot python3-certbot-nginx

6. 运行以下命令生成有效的Let’s Encrypt证书:

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. 重启 Nginx 以应用更改:

systemctl restart nginx

9. 打开浏览器并访问: https://yourdomain.com

申请详情