Fyren Docs

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/fyren

This starts Fyren with an embedded SQLite database, suitable for evaluation. For production, use Docker Compose with external PostgreSQL and Redis.

Download the production compose file and start all services:

curl -o docker-compose.yml https://fyren.dev/compose
docker compose up -d

This 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 -d

Database migrations run automatically on startup.

On this page