name: readeck
services:
  db:
    cpu_shares: 
    command: []
    container_name: readeck-db
    deploy:
      resources:
        limits:
          memory: 
        reservations:
          devices: []
    environment:
      - POSTGRES_DB=readeck
      - POSTGRES_PASSWORD=readeckisawesome
      - POSTGRES_USER=readeck
    healthcheck:
      test:
        - CMD
        - pg_isready
        - -U
        - readeck
        - -d
        - readeck
      timeout: 1m0s
      interval: 5s
      retries: 5
      start_period: 1m20s
    image: postgres:17
    labels:
      icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/readeck.png
    restart: unless-stopped
    volumes:
      - type: bind
        source: /DATA/AppData/readeck/db
        target: /var/lib/postgresql/data
    ports: []
    devices: []
    cap_add: []
    networks:
      - readeck_network
    privileged: false
  readeck:
    cpu_shares: 
    command: []
    container_name: readeck
    depends_on:
      db:
        condition: service_healthy
        restart: true
        required: true
    deploy:
      resources:
        limits:
          memory: 
        reservations:
          devices: []
    environment:
      - READECK_DATABASE_SOURCE=postgres://readeck:readeckisawesome@readeck-db:5432/readeck
      - READECK_LOG_FORMAT=text
      - READECK_LOG_LEVEL=info
    healthcheck:
      test:
        - CMD
        - /bin/readeck
        - healthcheck
        - -config
        - config.toml
      timeout: 2s
      interval: 30s
      retries: 3
    image: codeberg.org/readeck/readeck:latest
    labels:
      icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/readeck.png
    ports:
      - target: 8000
        published: "8340"
        protocol: tcp
    restart: always
    volumes:
      - type: bind
        source: /DATA/AppData/readeck/data
        target: /readeck
    devices: []
    cap_add: []
    networks:
      - readeck_network
    privileged: false
networks:
  readeck_network:
    name: readeck_network
    driver: bridge
x-casaos:
  author: self
  category: self
  hostname: 
  icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/readeck.png
  index: /
  is_uncontrolled: false
  port_map: "8340"
  scheme: http
  store_app_id: readeck
  title:
    custom: READECK
    en_us: readeck