Flynn is an open-source Platform-as-a-Service (PaaS) designed to run, scale, and manage applications and databases in containers.
Typical Workflow
- Launch a Flynn cluster (on AWS, DigitalOcean, or Vagrant)
- Add the cluster credentials with
flynn cluster add - Create your application with
flynn create <app_name> - Deploy via git:
git push flynn master
Cluster Management
Installation & Cluster Setup
flynn install # Provisions Flynn on AWS EC2 or digital cloud
flynn key add # Adds your SSH public key to cluster
Cluster Credentials (~/.flynnrc)
flynn cluster # List configured clusters
flynn cluster add [-g githost] [-p pin] NAME URL KEY # Connect local CLI to cluster
flynn cluster remove NAME # Remove cluster configuration
flynn cluster default NAME # Set active default cluster
Application Lifecycle
New App Setup
cd ~/my-project
flynn create example # Adds a git remote named 'flynn'
flynn route # Inspect default HTTP routes
git push flynn master # Build and deploy code
CLI Commands
Environment Variables
flynn env # List all environment variables
flynn env set KEY=value FOO=bar# Set config vars and trigger deploy
flynn env unset KEY # Remove a config variable
flynn env get KEY # Output specific config value
Process Scaling
flynn scale web=3 worker=2 # Scale web dynos to 3 and workers to 2
flynn scale # Show current running process counts
flynn ps # List all individual container instances
Logs & Monitoring
flynn log # Tail live combined cluster logs
flynn log -f # Follow live stream
flynn log --process=web # Filter logs for process type
Executing Commands & One-Off Tasks
flynn run bash # Open an interactive bash shell in container
flynn run rake db:migrate # Run one-off database migration
Domain & Route Management
flynn route # List all HTTP / TCP routes
flynn route add http app.domain.com # Attach custom domain to app