Kivitendo Entwicklungsumgebung mit docker

Aus revampedia

Kivitendo Entwicklungsumgebung mit docker nutzen.

Um die Einrichtung einer Entwicklungsumgebung für Kivitendo zu vereinfachen, habe ich diese mittels docker/docker-compose vorbereitet.

Anwendung

Voraussetzungen

  • aktuelles docker sowie docker-compose
  • git

Auf unserem delfin-web sind diese bereits installiert.

docker-compose Umgebung einrichten

Klonen des git repository ins home Verzeichnis: https://github.com/rebootl/kivitendo-docker-devel.git

   $ git clone https://github.com/rebootl/kivitendo-docker-devel.git
   $ cd kivitendo-docker-devel

Allenfalls die Konfigurationsdatei docker-compose.yml anpassen.

Da auf delfin-web mehrere Leute arbeiten sollten dort der Port 8080, der Container Name sowie der image Name angepasst werden.

Z.B. hier bei image und container_name -cem1 angehängt, sowie ports auf "80001:80" geändert.

version: '3'
services:
  webapp:
    build: ./kivi
    image: mykivi-cem1
    container_name: mykivi-test-cem1
    depends_on:
      - "db"
    ports:
      - "80001:80"
    volumes:
      - "./kivi/kivitendo-erp:/var/www/kivitendo-erp"
  db:
    build: ./pgsql-kivi
    image: mypgsql-cem1
    container_name: mypgsql-test-cem1

Kivitendo einbinden

Da wir zur Entwicklung das Kivitendo ausserhalb des Containers haben wollen, muss dieses separat eingebunden werden:

   $ cd kivi/
   $ git clone https://github.com/kivitendo/kivitendo-erp.git

Die kivitendo.conf Datei allenfalls anpassen und ins Kivitendo Verzeichnis kopieren oder neu erstellen.

Falls der name des Datenbank Containers in der docker-compose.yaml angepasst wurde so muss dieser in der kivitendo.conf als Datenbank hostname eingetragen werden, e.g. mypgsql-test-cem1.

Container start/stop

Danach können die Container gebuilded und gestartet werden mit:

   $ cd ..
   $ docker-compose build
   $ docker-compose up

Stoppen mit Ctrl-C oder:

   $ docker-compose down

Danach sollte das Kivitendo erreichbar sein unter http://delfin-web:80001/kivitendo-erp/

Die Datenbank muss noch, wie üblich, über das Admin-Interface eingerichtet werden.

Weitere docker Befehle

Laufende Container anzeigen:

   $ docker ps

Alle Container anzeigen:

   $ docker ps -a

Images anzeigen:

   $ docker images

Container/Images entfernen:

   $ docker rm    # container
   $ docker rmi   # image