mirror of
https://gitlab.com/koha-community/koha-sandboxes-docker.git
synced 2026-06-12 12:39:06 +00:00
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%
| ansible | ||
| sandbox_manager | ||
| .editorconfig | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| container_vars.template.yml | ||
| cpanfile | ||
| create-sandbox-instance.sh | ||
| destroy-sandbox-instance.sh | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
| run.sh | ||
| setup-sandbox-server.sh | ||
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-utilssudo htpasswd -c /etc/apache2/.htpasswd <username>- Edit ansible/vars/user.yml, set USE_HTPASSWD to true