Diana Hille's avatar

Diana Hille

hille

Involved Projects and Packages
Maintainer

Home Project of Horde 5 Distribution Packaging.

Projects:

isv:B1-Systems:Horde5:rolling - semiautomated lab, may contain experimental builds
isv:B1-Systems:Horde5:stable - A collection of apps known to work.
isv:B1-Systems:Horde5:dependencies - Non-Horde Pear Packages which may be missing on certain target distributions

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

You can get the container here:
docker pull registry.opensuse.org/isv/b1-systems/horde5/containers/opensuse/tumbleweed/container/opensuse/tumbleweed:current

I recommend to run the container parallel with a database container. Therefor I created a docker-compose yml, which you can find here:
git clone https://github.com/FrankFlorian/hordeOnTumbelweed.git

Then you can run the command:
docker-compose -f docker-compose.yml up

Now you should be able to access the container with:

docker exec -it hordeontumbelweed_php_1 /bin/bash

Also you should be able to see the Horde environment via your browser on http://loacalhost

To set up the database:

docker exec -it hordeontumbelweed_db_1 mysql -p -e "create database horde; grant all on horde.* to 'horde'@'%' identified by 'horde'";

docker exec -it hordeontumbelweed_php_1 chown wwwrun:www -R /srv/git/horde/base/config

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:

SQL Database Settings:

$conf['sql']['phptype'] = MySQL/PDO
$conf['sql']['username'] = horde
$conf['sql']['password'] = horde
$conf['sql']['protocol'] = TCP/IP
$conf['sql']['hostspec'] = hordeontumbelweed_db_1
$conf['sql']['port'] = 3306
$conf['sql']['database'] = horde
$conf['sql']['charset'] = utf-8
$conf['sql']['ssl'] = No
$conf['sql']['splitread'] = Disabled
$conf['sql']['logqueries'] = no checkmark

Save the settings.
To finish the database setup run:
docker exec -it hordeontumbelweed_php_1 /srv/git/horde/base/bin/horde-db-migrate

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.

--

0 contributions in the last year
Mon                                                                                                          
Tue                                                                                                          
Wed                                                                                                        
Thu                                                                                                        
Fri                                                                                                        
Sat                                                                                                        
Sun                                                                                                        
openSUSE Build Service is sponsored by