services:
  grimmory:
    image: ghcr.io/grimmory-tools/grimmory:latest
    container_name: grimmory
    environment:
      - USER_ID=999
      - GROUP_ID=1000
      - TZ=Europe/Berlin
      - DATABASE_URL=jdbc:mariadb://172.20.0.2:3306/grimmory
      - DATABASE_USERNAME=grimmory
      - DATABASE_PASSWORD=amoIh7vF17RKY
      - SWAGGER_ENABLED=false
      - FORCE_DISABLE_OIDC=false
    depends_on:
      mariadb:
        condition: service_healthy
    ports:
      - "7070:6060"
    volumes:
      - /DATA/AppData/grimmory/data:/app/data
      - /DATA/AppData/grimmory/books:/books
      - /DATA/AppData/grimmory/bookdrop:/bookdrop
    networks:
      grimmory-net:
        ipv4_address: 172.20.0.3
    restart: unless-stopped
 
  mariadb:
    image: mariadb:11.4
    container_name: grimmory-mariadb
    environment:
      - TZ=Europe/Berlin
      - MARIADB_ROOT_PASSWORD=V2g1Rx8IDbLmZ
      - MARIADB_DATABASE=grimmory
      - MARIADB_USER=grimmory
      - MARIADB_PASSWORD=amoIh7vF17RKY
    volumes:
      - /DATA/AppData/grimmory/mariadb:/var/lib/mysql
    networks:
      grimmory-net:
        ipv4_address: 172.20.0.2
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 5s
      timeout: 5s
      retries: 10
 
networks:
  grimmory-net:
    name: grimmory-net
    ipam:
      config:
        - subnet: 172.20.0.0/16