- koha-shell -c wraps the command in single quotes, which broke the env assignments; use runuser + env instead and verify tables were created - koha-create requires mpm_itk, so keep it and grant the caps it needs - stop any Apache started by koha-create before running it in foreground Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013wi3ZSot4XbUViwRFgLpRf
53 lines
1.3 KiB
YAML
53 lines
1.3 KiB
YAML
name: library
|
|
|
|
services:
|
|
db:
|
|
image: mariadb:10.11
|
|
container_name: library-db
|
|
restart: unless-stopped
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
|
|
MARIADB_DATABASE: koha_library
|
|
MARIADB_USER: koha_library
|
|
MARIADB_PASSWORD: ${DB_PASSWORD}
|
|
command: ["--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci", "--innodb-buffer-pool-size=128M"]
|
|
volumes:
|
|
- db-data:/var/lib/mysql
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 20
|
|
|
|
koha:
|
|
build:
|
|
context: ./koha
|
|
args:
|
|
KOHA_SUITE: ${KOHA_SUITE:-stable}
|
|
image: library-koha:local
|
|
container_name: library-koha
|
|
restart: unless-stopped
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
environment:
|
|
TZ: ${TZ:-UTC}
|
|
KOHA_DB_HOST: db
|
|
KOHA_DB_PASS: ${DB_PASSWORD}
|
|
KOHA_ADMIN_USER: ${ADMIN_USER:-admin}
|
|
KOHA_ADMIN_PASS: ${ADMIN_PASSWORD}
|
|
KOHA_LIBRARY_NAME: ${LIBRARY_NAME:-My Library}
|
|
# Koha's Apache uses mpm_itk, which switches users per request.
|
|
cap_add:
|
|
- SETUID
|
|
- SETGID
|
|
ports:
|
|
- "${OPAC_PORT:-8080}:80"
|
|
- "${STAFF_PORT:-8081}:8081"
|
|
volumes:
|
|
- koha-data:/var/lib/koha
|
|
|
|
volumes:
|
|
db-data:
|
|
koha-data:
|