services: # Upgrade path from Booklore: # Keep your existing service name, container_name, database names/users, ports, # and mounted volumes. Replace only the image line(s) with Grimmory tags. grimmory: # Stable release example: image: ghcr.io/grimmory-tools/grimmory:latest # The suggested deployment approach is to use a specific version rather than `latest` # so upgrading is more straightforward and convenient. In those cases, you can # use the tagged version, such as `v3.2.4` rather than `latest`. container_name: grimmory environment: - USER_ID=1000 - GROUP_ID=1000 - TZ=Etc/UTC - DATABASE_URL=jdbc:mariadb://mariadb:3306/grimmory - DATABASE_USERNAME=grimmory - DATABASE_PASSWORD=your_secure_password - SWAGGER_ENABLED=false - FORCE_DISABLE_OIDC=false # ALLOWED_ORIGINS= # Override JVM memory defaults (the image ships sensible defaults for ~512 MB heap). # Uncomment and adjust if you want a tighter or looser cap: # - JDK_JAVA_OPTIONS=-Xmx256m # Heap dumps are disabled by default. Enable them only when debugging an OOM: # The JVM creates a PID-specific .hprof file in /app/data. # - JDK_JAVA_OPTIONS=-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/data depends_on: mariadb: condition: service_healthy ports: - "6060:6060" volumes: - ./data:/app/data - ./books:/books - ./bookdrop:/bookdrop # Uncomment the block below if you need to override the defaults: #healthcheck: # test: wget -q --spider http://localhost:6060/api/v1/healthcheck # interval: 60s # retries: 5 # start_period: 60s # timeout: 10s # # Uncomment the block below if you want to disable healthchecks: #healthcheck: # disable: true restart: unless-stopped mariadb: image: lscr.io/linuxserver/mariadb:11.4.8 environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - MYSQL_ROOT_PASSWORD=super_secure_password - MYSQL_DATABASE=grimmory - MYSQL_USER=grimmory - MYSQL_PASSWORD=your_secure_password volumes: - ./config:/config restart: unless-stopped healthcheck: test: [ "CMD", "mariadb-admin", "ping", "-h", "localhost" ] interval: 5s timeout: 5s retries: 10