Skip to content

FTL: Faster Than Light Deployment

Simple, zero-downtime deployments without the complexity of traditional CI/CD pipelines.

📦 Single binary installation

✨ Simple YAML configuration

🔐 Automated SSL/TLS management

🐳 Registry-optional Docker deployment

🚀 Zero-downtime updates

🗄️ Database provisioning included

yaml
project:
  name: my-project
  domain: my-project.example.com
  email: [email protected]

servers:
  - host: my-project.example.com
    port: 22
    user: my-project
    ssh_key: ~/.ssh/id_rsa

services:
  - name: my-app
    image: my-app:latest
    port: 80
    health_check:
      path: /
      interval: 10s
      timeout: 5s
      retries: 3

routes:
  - path: /
    strip_prefix: false

dependencies:
  - name: postgres
    image: postgres:16
    volumes:
      - postgres_data:/var/lib/postgresql/data
    env:
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_USER=${POSTGRES_USER:-postgres}
      - POSTGRES_DB=${POSTGRES_DB:-app}

About FTL

FTL is a deployment tool that uses SSH to manage Docker containers on remote servers. It's a single binary that handles deployment without requiring a container registry or CI/CD pipeline.

How It Works

FTL executes Docker commands over SSH, handling image builds, container deployment, and infrastructure configuration. It manages Nginx routing, Let's Encrypt certificates, health checks, and database containers with persistent storage.

When to Use

FTL is optimal for deployments to 1-5 servers where direct SSH access is available. Not suitable for distributed systems or multi-region deployments.

Released under the MIT License.