Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • K koha-docker
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • digibib
  • koha-docker
  • Wiki
  • Environment and Configuration

Last edited by Benjamin Rokseth Mar 29, 2017
Page history

Environment and Configuration

A lot of the configuration is made through setting environment variables. See the various files in folder docker-compose for examples.

NB: ANY environment variable can be set/overridden in docker-compose by placing them in a file docker-compose/.env

example:

KOHA_ADMINPASS=supersecret

Env

docker-compose.env - basic variables

KOHA_BUILD     : the patched build of Koha, built in [[Patch Setup]]
KOHA_VERSION   : The current tag of Koha base we build  on
KOHA_IMAGE_TAG : Only used as basis for building koha_dev image [[Development Setup]]
GITREF         : The git commmit ID used to identify image (locally or on Docker hub)
                 Only built from `master` branch

common.yml - mysql server and data volume

We highly recommend using a separate container for mysql server and a Data volume for mysql data. This is for persistence and mutability/separation of concerns. Which is docker basics, and a good thing.

build.yml - the base koha setup, for production use

pulls an image from docker hub (digibib/koha:GITREF) or builds locally with make build

KOHA_ADMINPASS                : database admin password
KOHA_ADMINUSER                : database admin userid
KOHA_INSTANCE                 : name of koha instance
INSTALL_LANGUAGES             : languages to install (space separated)
DEFAULT_LANGUAGE              : default language to use
EMAIL_ENABLED                 : enable email sending? ("True"|"False")
SMTP_SERVER_HOST              : smtp relay hostname
SMTP_SERVER_PORT              : smtp relay port
ENABLE_MYSQL_TRIGGERS         : enable Mysql triggers? (from files/installer/triggers)
ENABLE_MYSQL_SCHEMA           : enable Mysql Schema overrides? (from files/installer/schema)
MESSAGE_QUEUE_FREQUENCY       : frequency of message queue cronjob
SMS_DRIVER                    : SMS Driver module (must be included in code)
SMS_USER                      : SMS Driver userid
SMS_PASS                      : SMS driver password
API_PASSPHRASE                : Unreadable API server secret
SIP_AUTOPASS                  : Default SIP user password
SIP_WORKERS                   : Number of SIP workers
APACHE_MINSERVERS             : Number of apache server workers
APACHE_TIMEOUT                : Default timeout of apache requests
APACHE_SERVER_STATUS_NET      : Network range to allow access to apache Status endpoint
APACHE_REMOTE_INTERNAL_PROXY  : Remote proxy of apache
PLACK_MAX_REQUESTS            : Maximum concurrent requests of plack
PLACK_WORKERS                 : Number of plack workers
NLENABLE                      : Enable Norwegian Patron database?
NLBASEUSER                    : Userid of Norwegian Patron database
NLBASEPASS                    : Password of Norwegian Patron database
NLVENDORURL                   : Url of Norwegian Patron database
NLVENDORUSER                  : Vendor userid of Norwegian Patron database
NLVENDORPASS                  : Vendor password of Norwegian Patron database
NLVENDORKEY                   : Vendor key of Norwegian Patron database
PIDGEON_URL                   : Print notice receiver service
PIDGEON_USER                  : Print notice userid
PIDGEON_PASS                  : Print notice password

dev.yml - development setup

Workdir: kohadev

Purpose: sets up a koha git instance ready for development. Exposes mysql on port 3306.

Dockerfile: Uses a shallow clone of Koha-github repo and sets up development tools in /kohadev Sets up apache, plack and SIPserver to use code from git repo.

ENV

AUTHOR_NAME  : Bugzilla Name
AUTHOR_EMAIL : Bugzilla email
BUGZ_USER    : Bugzilla userid
BUGZ_PASS    : Bugzilla password

patched.yml - building a patched Koha

workdir: koha-patched

Purpose: build image for one-off containers to patch koha, run tests and produce .deb installation files for koha

Dockerfile: mounts in local folders /debian and /patches from workdir. Pulls and installs a Koha tag from github, applies patches in /patches folder, runs Koha unit tests and, if successful, builds debian packages ready for use in /debian folder. These can be added to an apt repo and used in normal package installs.

Clone repository
  • Development
  • Environment and Configuration
  • Home
  • Patching or Building
  • Setup
  • System Overview
  • Troubleshooting
  • Using the Koha Docker image