-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
Summary
Deploy Estim to production using Fly.io.
Why Fly.io
- Excellent Phoenix/Elixir support
- Built-in PostgreSQL
- Easy SSL/custom domains
- Global edge deployment
- Reasonable pricing
Setup Tasks
- Create Fly.io account and app
- Configure fly.toml
- Set up Fly PostgreSQL database
- Configure secrets (SECRET_KEY_BASE, DATABASE_URL)
- Set up custom domain (estim.dev)
- Configure SSL certificate
- Set up health check endpoint
- Configure auto-scaling rules
fly.toml
```toml
app = "estim"
primary_region = "iad"
[build]
builder = "heroku/buildpacks:20"
[env]
PHX_HOST = "estim.dev"
PORT = "8080"
[http_service]
internal_port = 8080
force_https = true
auto_stop_machines = true
auto_start_machines = true
[[services]]
protocol = "tcp"
internal_port = 8080
[[services.ports]]
port = 80
handlers = ["http"]
[[services.ports]]
port = 443
handlers = ["tls", "http"]
```
Secrets to Configure
- SECRET_KEY_BASE
- DATABASE_URL
- GITHUB_CLIENT_ID
- GITHUB_CLIENT_SECRET
- SLACK_CLIENT_ID
- SLACK_CLIENT_SECRET
Acceptance Criteria
- App deployed and accessible at estim.dev
- Database connected and migrated
- SSL working
- Health checks passing
Reactions are currently unavailable