Compare commits

..

7 commits
main ... prod

5 changed files with 81 additions and 53 deletions

5
.dockerignore Normal file
View file

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

4
.gitignore vendored Normal file
View file

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

72
docker-compose.yml Normal file
View file

@ -0,0 +1,72 @@
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
volumes:
- ./mounts/koha-sites.conf:/etc/koha/koha-sites.conf:ro
depends_on:
- koha-db
- koha-rabbitmq
- koha-memcached
labels:
traefik.enable: true
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.loadbalancer.server.port: 8080
traefik.http.services.koha-admin-service.loadbalancer.server.port: 8081
koha-rabbitmq:
image: docker.io/rabbitmq:3
volumes:
- ./rabbitmq_plugins:/etc/rabbitmq/enabled_plugins
networks:
- koha
labels:
traefik.enable: false
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
labels:
traefik.enable: false
koha-memcached:
image: docker.io/memcached
networks:
- koha
labels:
traefik.enable: false
volumes:
mariadb-koha:
networks:
koha:
internal: true

View file

@ -1,53 +0,0 @@
version: "3.9"
services:
koha:
image: teogramm/koha:24.11
ports:
- 8080:8080
- 8081:8081
networks:
- koha
cap_add:
- DAC_READ_SEARCH
- SYS_NICE
environment:
MYSQL_SERVER: db
MYSQL_USER: koha_teolib
MYSQL_PASSWORD: example
DB_NAME: koha_teolib
MEMCACHED_SERVERS: memcached:11211
MB_HOST: rabbitmq
depends_on:
- db
- rabbitmq
- memcached
rabbitmq:
image: docker.io/rabbitmq:3
volumes:
- ./rabbitmq_plugins:/etc/rabbitmq/enabled_plugins
networks:
- koha
db:
image: docker.io/mariadb:11
volumes:
- mariadb-koha:/var/lib/mysql
environment:
MARIADB_ROOT_PASSWORD: example
MARIADB_DATABASE: koha_teolib
MARIADB_USER: koha_teolib
MARIADB_PASSWORD: example
networks:
- koha
memcached:
image: docker.io/memcached
networks:
- koha
volumes:
mariadb-koha:
networks:
koha: