Horde 5 Developer Container based on openSUSE

Edit Package horde5-developer-Docker-Leap

This container includes a runnable git checkout of Horde 5 (after git split).
It is designed for interactive development and testing of libraries both from upstream and from custom projects.

https://download.opensuse.org/repositories/isv:/B1-Systems:/Horde5:/opensuse-appliance/images/

An internal web server is added, this can also test drive apps.

Load the image

docker pull registry.opensuse.org/isv/b1-systems/horde5/opensuse-appliance/images/horde5-developer:latest
docker tag registry.opensuse.org/isv/b1-systems/horde5/opensuse-appliance/images/horde5-developer:latest horde5-developer:latest

NOTE: URL might change if/when the docker feature of OBS is updated.

For Browser Usage from local desktop, exposing Horde on all interfaces port 80
docker run -d -p 80:80 --name horde5 horde5-developer /bin/start

For interactive usage

docker run -it --name horde5 horde5-developer /bin/bash

For unit testing
cd /srv/git/horde/$componentName/
/srv/git/horde/components/bin/horde-components qc

For development
First run the container and copy horde git, then restart and bind mount to use the code from your home dir

docker run -it --name horde5 horde5-developer /bin/bash
mkdir ~/horde
docker cp horde5:/srv/git/horde/ ~/horde
docker stop horde5; docker rm horde5; docker run -it -v ~/horde/:/srv/git/horde/ --name horde5 horde5-developer /bin/bash

This allows live editing with GUI tools

For Custom Apps / Libs
Bind mount or add a volume containing your horde checkout with added app/lib, then
docker exec /srv/git/git-tools/bin/horde-git-tools dev install

For version upgrades
/srv/git/horde/components/bin/horde-components update --new-api="2.0.0" --new-state=stable --new-version="2.0.0" --new-apistate=stable

For Changelog entries

/srv/git/horde/components/bin/horde-components changed "[xyz] Added Foo."

For snapshots

/srv/git/horde/components/bin/horde-components snapshot --keep-version

--
Add a database - development only, don't use this in public!

docker pull mariadb

docker network create horde
docker network connect horde horde5
docker run --name horde5-db -e MYSQL_ROOT_PASSWORD=horde5 --hostname horde5-db --network horde -d mariadb
docker exec -it horde5-db mysql -p -e "create database horde; grant all on horde.* to 'horde'@'%' identified by 'horde'";

Add the mysql database to the horde backend, access the horde application via:
docker run -d -p 80:80 -v ~/horde/:/srv/git/horde/ --name horde5 horde5-developer /bin/start

Use the frontend for building the new configuration:
Go to the gear symbol select Administration->Configuration and then select the configuration for Horde.

Click on the database tab. Add the following settings:

$conf['sql']['username'] = 'horde';
$conf['sql']['password'] = 'horde';
$conf['sql']['hostspec'] = 'horde5-db';
$conf['sql']['port'] = 3306;
$conf['sql']['protocol'] = 'tcp';
$conf['sql']['database'] = 'horde';
$conf['sql']['charset'] = 'utf-8';
$conf['sql']['ssl'] = false;
$conf['sql']['splitread'] = false;
$conf['sql']['logqueries'] = false;
$conf['sql']['phptype'] = 'mysql';

Save the settings, maybe it is necessary to change the rights of the following directory:
docker exec -it horde5 chown wwwrun:www -R /srv/git/horde/base/config

Exit the container and use

docker exec -it horde5 /srv/git/horde/base/bin/horde-db-migrate

This should setup the database completely.

--

Refresh
Refresh
Source Files
Filename Size Changed
_constraints 0000000101 101 Bytes
_icon 0000012719 12.4 KB
config.kiwi 0000003607 3.52 KB
config.sh 0000001891 1.85 KB
horde5-developer-Docker-Leap.changes 0000000509 509 Bytes
root.tar.bz2 0110513467 105 MB
Latest Revision
Ralf Lang's avatar Ralf Lang (ralflangb1) committed (revision 16)
Refreshed root.tar.bz2
Comments 0
openSUSE Build Service is sponsored by