Technical Reference
This section provides detailed technical documentation for FTL's core components, configuration specifications, and CLI commands. It serves as the authoritative reference for experienced engineers working with FTL deployments.
Contents
- CLI Commands - Comprehensive documentation of all FTL command-line interface commands, flags, and usage patterns
- Configuration File - Complete specification of the
ftl.yaml
configuration file format, including all available options and their effects - Environment Variables - Details about environment variable handling, substitution patterns, and runtime configuration
- Troubleshooting - Common issues, error messages, and their resolutions
Key Technical Concepts
Image Management
FTL supports two distinct approaches for managing Docker images:
Direct SSH Transfer
- Default method when no
image
field is specified - Builds images locally
- Implements custom layer caching
- Transfers only modified layers via SSH
- Optimized for single-server deployments
- Default method when no
Registry-based Deployment
- Activated when
image
field is specified - Requires registry authentication (username/password only)
- Follows standard Docker registry workflow
- Suitable for multi-server deployments
- Activated when
Deployment Process
The deployment system implements:
- Zero-downtime container replacement
- Health check verification
- Automatic SSL/TLS certificate management via ACME
- Integrated Nginx reverse proxy configuration
- Resource cleanup post-deployment
Networking
FTL manages several networking aspects:
- Reverse proxy routing
- SSL/TLS termination
- SSH tunneling for remote dependencies
- Docker network isolation
Security Considerations
- SSH key-based authentication for server access
- ACME protocol for SSL/TLS certificate management
- Docker network isolation between services
- Environment variable substitution for sensitive data
For detailed information about specific aspects of FTL, please refer to the relevant sections in this reference documentation.