A Koha sandbox system that only requires Docker to be installed on the sandbox host server.
  • Perl 82.4%
  • Shell 9.4%
  • Dockerfile 4%
  • Jinja 3.2%
  • HTML 1%
Find a file
2026-03-04 11:59:32 -08:00
ansible Add missing koha-shell parameter for 'Fix git repo permissions' 2026-03-04 11:59:32 -08:00
sandbox_manager Fix syntax error causing: /bin/bash: -c: line 1: unexpected EOF while looking for matching `'' 2026-03-02 09:33:01 -05:00
.editorconfig Update git 2017-02-17 11:20:27 -08:00
.gitignore Issue #57: Be gentle with VS users 2021-06-24 13:01:53 -03:00
.gitlab-ci.yml Issue #58: Ok, done 2021-06-24 17:23:54 -03:00
container_vars.template.yml Fix typo 2018-08-20 18:46:47 +00:00
cpanfile Issue #57: Add cpanfile for convenience 2021-06-24 13:02:02 -03:00
create-sandbox-instance.sh Revert "Merge branch 'issue_54' into 'master'" 2021-06-21 10:45:20 +00:00
destroy-sandbox-instance.sh Revert "Merge branch 'issue_54' into 'master'" 2021-06-21 10:45:20 +00:00
Dockerfile Update plays for koha-testing-docker running on Debian Bullseye 2022-01-25 10:27:50 -08:00
LICENSE Add LICENSE 2023-07-11 20:10:55 +00:00
README.md Update plays for koha-testing-docker running on Debian Bullseye 2022-01-25 10:27:50 -08:00
run.sh Issue #57: Add Dockerfile 2021-06-24 13:02:02 -03:00
setup-sandbox-server.sh Accept any Python 3 version, install pip 3 2021-03-16 18:15:58 +00:00

Koha Sandbox Server

The Koha Sandbox Server is a system to allow easy testing of Koha patches and git branches.

It is powered by Docker, Ansible and Perl. It uses koha-testing-docker to create each Koha sandbox.

Installation

Starting with a Debian 9 system:

  • Install the latest release of Ansible
  • Become root user
  • Set Python 3 as your default python version: update-alternatives --install /usr/bin/python python /usr/bin/python3 2
  • Clone this repository
  • cd to the git clone
  • Copy ansible/vars/user.yml.example to ansible/vars/user.yml
  • Update ansible/vars/user.yml for your domain and account
  • Run ./setup-sandbox-server.sh
  • Browse to the domain you entered as SANDBOX_HOST_DOMAIN in your user.yml

Features

  • Create and destroy Koha instances dyanmically
  • Web-based viewing of logs
  • Ability to sign off bugs from web
  • Apply Koha bugs by community bug number
  • Test Koha branches from arbitrary git repositories
  • Restart Koha services ( koha-common, apache, memached ) from the web
  • Re-index Zebra from the web
  • Delete the database and start fresh without reprovisioning from the web

Future Goals

  • Add ability to run specific unit tests from web
  • Add ability to select a pre-generated database list ( also we need to generate those databases )
  • Allow ssh to koha containers, either through web or cli
  • Dockerize such that sandbox host needs only Docker. Ansible, the web app, and the daemon will run from a container and steer the host Docker daemon via Ansible.

Guide

Using a htpasswd

Using a password should be set before provisioning. Otherwise you'll need to reprovision after following the instructions below.

  • sudo apt install apache2-utils
  • sudo htpasswd -c /etc/apache2/.htpasswd <username>
  • Edit ansible/vars/user.yml, set USE_HTPASSWD to true