Skip to main content

Fly.io Deployment

Fly.io is a good fit when you want container-native deployment and explicit process groups.

Working fly.toml

app = "remembr"
primary_region = "iad"

[build]
dockerfile = "server/Dockerfile"

[env]
EMBEDDING_PROVIDER = "ollama"
OLLAMA_BASE_URL = "https://your-ollama-endpoint"
OLLAMA_EMBEDDING_MODEL = "nomic-embed-text"

[http_service]
internal_port = 8000
force_https = true
auto_stop_machines = false
auto_start_machines = true
min_machines_running = 1

[[vm]]
size = "shared-cpu-1x"

[processes]
app = "uvicorn app.main:app --host 0.0.0.0 --port 8000"
worker = "celery -A app.celery_app worker --loglevel=info --concurrency=2"
beat = "celery -A app.celery_app beat --loglevel=info"

Secrets

fly secrets set DATABASE_URL=... REDIS_URL=... SECRET_KEY=...

Run migrations with a one-off machine:

fly ssh console -C "cd /app && alembic upgrade head"