koha-docker/docker-compose.yaml

64 lines
1.7 KiB
YAML

services:
koha:
# image: teogramm/koha:24.11
build: .
networks:
- koha
- public # network which connects to the reverse proxy
cap_add:
- DAC_READ_SEARCH
- SYS_NICE
env_file: ./.env.prod
environment:
MYSQL_SERVER: koha-db
MYSQL_USER: koha
# MYSQL_PASSWORD: # set in .env.prod
DB_NAME: koha
MEMCACHED_SERVERS: koha-memcached:11211
MB_HOST: koha-rabbitmq
depends_on:
- koha-db
- koha-rabbitmq
- koha-memcached
labels:
traefik.http.routers.koha-opac.rule: Host(`koha.techwork.zone`)
traefik.http.routers.koha-opac.tls.certresolver: letsencrypt_standalone
traefik.http.routers.koha-opac.service: koha-opac-service
traefik.http.routers.koha-admin.rule: Host(`admin.koha.techwork.zone`)
traefik.http.routers.koha-admin.tls.certresolver: letsencrypt_standalone
traefik.http.routers.koha-admin.service: koha-admin-service
traefik.http.services.koha-opac-service.load-balancer.server.port: 8080
traefik.http.services.koha-admin-service.load-balancer.server.port: 8081
koha-rabbitmq:
image: docker.io/rabbitmq:3
volumes:
- ./rabbitmq_plugins:/etc/rabbitmq/enabled_plugins
networks:
- koha
koha-db:
image: docker.io/mariadb:11
volumes:
- ./mounts/database:/var/lib/mysql
env_file: ./.env.prod
environment:
MARIADB_RANDOM_ROOT_PASSWORD: true
MARIADB_DATABASE: koha
MARIADB_USER: koha
# MARIADB_PASSWORD: # set in .env.prod
networks:
- koha
koha-memcached:
image: docker.io/memcached
networks:
- koha
volumes:
mariadb-koha:
networks:
koha:
internal: true