Files
ubuntu-based-kiosk/library/docker-compose.yml
T
Claude a15478b382 library: run bootstrap via runuser, keep mpm_itk, add SETUID/SETGID caps
- 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
2026-11-06 06:29:27 +00:00

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: