Self-Hosting Guide
Deploy Fyren on your own infrastructure with Docker.
Requirements
- Docker and Docker Compose
- PostgreSQL 15+
- Redis 7+
- A server with at least 512MB RAM
Quick Start with Docker
The fastest way to get Fyren running:
docker run -d -p 3000:3000 fyren/fyrenThis starts Fyren with an embedded SQLite database, suitable for evaluation. For production, use Docker Compose with external PostgreSQL and Redis.
Docker Compose (Recommended)
Download the production compose file and start all services:
curl -o docker-compose.yml https://fyren.dev/compose
docker compose up -dThis starts Fyren along with PostgreSQL and Redis containers.
Compose File Reference
version: "3.8"
services:
fyren:
image: fyren/fyren:latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgres://fyren:password@db:5432/fyren
REDIS_URL: redis://redis:6379
BASE_URL: https://status.example.com
depends_on:
- db
- redis
db:
image: postgres:15-alpine
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_USER: fyren
POSTGRES_PASSWORD: password
POSTGRES_DB: fyren
redis:
image: redis:7-alpine
volumes:
pgdata:Environment Variables
See the Configuration Reference for all available environment variables.
Reverse Proxy
Fyren should be placed behind a reverse proxy (Nginx, Caddy, Traefik) for TLS termination in production.
Caddy Example
status.example.com {
reverse_proxy fyren:3000
}Nginx Example
server {
listen 443 ssl;
server_name status.example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}Updating
To update Fyren to the latest version:
docker compose pull
docker compose up -dDatabase migrations run automatically on startup.