60 lines
1.5 KiB
YAML
60 lines
1.5 KiB
YAML
services:
|
|
booklore:
|
|
image: ghcr.io/booklore-app/booklore:latest
|
|
container_name: booklore
|
|
environment:
|
|
USER_ID: 1000
|
|
GROUP_ID: 1000
|
|
TZ: Europe/Amsterdam
|
|
DATABASE_URL: jdbc:mariadb://mariadb:3306/booklore
|
|
DATABASE_USERNAME: booklore
|
|
DATABASE_PASSWORD: ${DB_PASSWORD}
|
|
BOOKLORE_PORT: 6060
|
|
depends_on:
|
|
mariadb:
|
|
condition: service_healthy
|
|
volumes:
|
|
- /srv/booklore/data:/app/data
|
|
- /srv/booklore/books:/books
|
|
- /srv/booklore/bookdrop:/bookdrop
|
|
restart: unless-stopped
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.booklore.rule=Host(`booklore.marijndoeve.nl`)
|
|
- traefik.http.routers.booklore.entrypoints=websecure
|
|
- traefik.http.routers.booklore.tls.certresolver=marijndoeve
|
|
- traefik.http.services.speed.loadbalancer.server.port=6060
|
|
networks:
|
|
- internal
|
|
- web
|
|
|
|
mariadb:
|
|
image: lscr.io/linuxserver/mariadb:11.4.8
|
|
container_name: mariadb
|
|
environment:
|
|
PUID: 1000
|
|
PGID: 1000
|
|
TZ: Europe/Amsterdam
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
|
MYSQL_DATABASE: booklore
|
|
MYSQL_USER: booklore
|
|
MYSQL_PASSWORD: ${DB_PASSWORD}
|
|
volumes:
|
|
- db-data:/config
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: [ "CMD", "mariadb-admin", "ping", "-h", "localhost" ]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
networks:
|
|
- internal
|
|
|
|
volumes:
|
|
db-data:
|
|
|
|
networks:
|
|
web:
|
|
external: true
|
|
internal:
|
|
external: false |