Readeck with Docker Compose

Here are some community provided configuration files to start Readeck with Docker Compose.

Thanks to @ghost_of_cerberus for providing the initial files.

SQLite only version

This compose file starts a Readeck instance on the TCP 8000 port.

Create a compose.yaml file with the content bellow and run docker compose up.

version: "3.9"
services:
  app:
    image: codeberg.org/readeck/readeck:latest
    container_name: readeck
    ports:
      - 8000:8000
    environment:
      # Defines the application log level. Can be error, warning, info, debug.
      - READECK_LOG_LEVEL=info
      # The IP address on which Readeck listens.
      - READECK_SERVER_HOST=0.0.0.0
      # The TCP port on which Readeck listens. Update container port above to match (right of colon).
      - READECK_SERVER_PORT=8000
      # The URL prefix of Readeck.
      - READECK_SERVER_PREFIX=/
      # A list of hostnames allowed in HTTP requests. Required for reverse proxy configuration.
      - READECK_ALLOWED_HOSTS=readeck.example.com
      # Use the 'X-Forwarded-' headers. Required for reverse proxy configuration.
      - READECK_USE_X_FORWARDED=true
    volumes:
      - readeck-data:/readeck
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "/bin/readeck", "healthcheck", "-config", "config.toml"]
      interval: 30s
      timeout: 2s
      retries: 3

With PostgreSQL

If you'd like to use Readeck with a PostgreSQL database, this compose file may help you get started.

Create a compose.yaml file with the content bellow and run docker compose up.

version: "3.9"
services:
  app:
    image: codeberg.org/readeck/readeck:latest
    container_name: readeck
    depends_on:
      - db
    ports:
      - 8000:8000
    environment:
      # The URL of the instance's database.
      - READECK_DATABASE_SOURCE=postgres://readeck:readeckisawesome@readeck-db:5432/readeck
      # Defines the application log level. Can be error, warning, info, debug.
      - READECK_LOG_LEVEL=info
      # The IP address on which Readeck listens.
      - READECK_SERVER_HOST=0.0.0.0
      # The TCP port on which Readeck listens. Update container port above to match (right of colon).
      - READECK_SERVER_PORT=8000
      # The URL prefix of Readeck.
      - READECK_SERVER_PREFIX=/
      # A list of hostnames allowed in HTTP requests. Required for reverse proxy configuration.
      - READECK_ALLOWED_HOSTS=readeck.example.com
      # Use the 'X-Forwarded-' headers. Required for reverse proxy configuration.
      - READECK_USE_X_FORWARDED=true
    volumes:
      - readeck-data:/readeck
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "/bin/readeck", "healthcheck", "-config", "config.toml"]
      interval: 30s
      timeout: 2s
      retries: 3

  db:
    image: postgres:16-alpine
    container_name: readeck-db
    environment:
      - POSTGRES_DB=readeck
      - POSTGRES_USER=readeck
      - POSTGRES_PASSWORD=readeckisawesome
    volumes:
      - readeck-db:/var/lib/postgresql/data
    restart: unless-stopped

2024 © Readeck