 services:
  romm-db:
    image: mariadb:11.4
    restart: unless-stopped
    environment:
      MARIADB_ROOT_PASSWORD: ${ROMM_DB_ROOT_PASSWORD}
      MARIADB_DATABASE: romm
      MARIADB_USER: romm-user
      MARIADB_PASSWORD: ${ROMM_DB_PASSWORD}
      MARIADB_AUTO_UPGRADE: "1"
    volumes:
      - /var/lib/romm/mysql:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      start_period: 30s
      start_interval: 10s
      interval: 10s
      timeout: 5s
      retries: 5
    mem_limit: 1g
    mem_reservation: 256m
    cpus: "1.0"

  romm:
    image: rommapp/romm:5.0.0
    restart: unless-stopped
    environment:
      ROMM_DB_DRIVER: mariadb
      DB_HOST: romm-db
      DB_NAME: romm
      DB_USER: romm-user
      DB_PASSWD: ${ROMM_DB_PASSWORD}
      ROMM_AUTH_SECRET_KEY: ${ROMM_AUTH_SECRET_KEY}
      ROMM_BASE_URL: https://romm.kennethreitz.org
      HASHEOUS_API_ENABLED: "true"
      HLTB_API_ENABLED: "true"
      WEB_SERVER_CONCURRENCY: "1"
      SCAN_WORKERS: "8"
    volumes:
      - /var/lib/romm/library:/romm/library
      - /var/lib/romm/assets:/romm/assets
      - /var/lib/romm/config:/romm/config
      - /var/lib/romm/resources:/romm/resources
      - /var/lib/romm/redis-data:/redis-data
    depends_on:
      romm-db:
        condition: service_healthy
        restart: true
    healthcheck:
      test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:8080/api/heartbeat >/dev/null"]
      start_period: 60s
      interval: 30s
      timeout: 5s
      retries: 3
    mem_limit: 2g
    mem_reservation: 512m
    cpus: "2.0"
