Compare commits

...

2 commits

Author SHA1 Message Date
D. Scott Boggs 38a3f2566b set up production configs 2025-05-11 09:26:31 -04:00
D. Scott Boggs 0a039cbb29 basic working demo 2025-05-11 08:31:59 -04:00
4 changed files with 72 additions and 0 deletions

5
.dockerignore Normal file
View file

@ -0,0 +1,5 @@
docker-compose.yml
Dockerfile
.git
LICENSE
README.md

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
**/.env*
**/*.secret
**/*.pw

63
docker-compose.yaml Normal file
View file

@ -0,0 +1,63 @@
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:
- db
- rabbitmq
- 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

1
rabbitmq_plugins Normal file
View file

@ -0,0 +1 @@
[rabbitmq_stomp].