Table of Contents
HumHub
Zum Anforderungskatalog.
Humhub ist eine OpenSource - Software, mit deren Hilfe man ein eigenes soziales Netzwerk aufbauen kann. Mehr dazu kann man auf der offiziellen Webseite oder im offiziellen GitHub-Repo
Serverdaten
Property | Value |
---|---|
IP | 81.169.219.125 |
Host | SPD-KV-Dresden |
Admin | Nico |
Unsere Installation
Unsere HumHub Instanz läuft auf einem Server der SPD-Dresden. Unser Humhub läuft mittels der Virtualisierungssoftware Docker und der darauf aufbauenden Software Docker-compose. Einige Handgriffe im Umgang mit Docker werden folgend erläutert. Eine detailierte Anleitung dazu gibt es auf den offiziellen Seiten dazu.
Als Docker-Image nutzen wir ein öffentliches von mriedmann.
Back-Ups
Die Installation besteht aus 2 Containern. Diese müssen einzeln gebackupt werden.
Datenbank
Die Datenbank kann mit folgendem Befehl exportiert werden:
docker exec MARIA_DB_ID sh -c 'exec mysqldump --all-databases -uroot -p"MARIA_DB_PASSWORD"' > /path/all-databases.sql
Und mit folgenden Befehl wieder eingespielt werden:
docker exec -i MARIA_DB_ID sh -c 'exec mysql -uroot -p"MARIADB_ROOT_PASSWORD"' < /path/all-databases.sql
HumHub
Alle in Daten, die veränderbar sind, sind in 3 Volumes gespeichert. Diese kann man mit folgendem Befehl exportieren:
docker run --rm --volumes-from HUMHUB_CONTAINER_ID -v $(pwd):/backup ubuntu tar cvzf /backup/humhub-modules.tar.gz /var/www/localhost/htdocs/protected/modules /var/www/localhost/htdocs/protected/config /var/www/localhost/htdocs/uploads
Mit folgenden Befehl können die Volumes wieder eingespielt werden:
docker run --rm --volumes-from HUMHUB_CONTAINER_ID -v $(pwd):/backup ubuntu bash -c "tar xzvf /backup/humhub-backup.tar.gz"
docker-compose.yml
Quelle: mriedmann, aber editiert
# NOTE: This files purpose is to spin-up the project for testing it in CI. # Please do not understand it as recommendation for an production # docker-compose setup. For that see the README. If you have additions # to make, please add them there. version: '3.1' services: humhub: image: docker.io/mriedmann/humhub:stable ports: - "8080:80" environment: HUMHUB_DB_USER: ${HUMHUB_DB_USER} HUMHUB_DB_PASSWORD: ${HUMHUB_DB_PASSWORD} HUMHUB_DB_HOST: 'db' HUMHUB_DB_NAME: 'humhub' HUMHUB_AUTO_INSTALL: 1 HUMHUB_DEBUG: 1 HUMHUB_PROTO: 'https' HUMHUB_HOST: 'localhost' # Mailer install setup HUMHUB_MAILER_SYSTEM_EMAIL_ADDRESS: 'info@humhub.spd-dresden.de' HUMHUB_MAILER_SYSTEM_EMAIL_NAME: 'HumHub - Mailman' HUMHUB_MAILER_TRANSPORT_TYPE: 'smtp' HUMHUB_MAILER_HOSTNAME: 'sslout.de' HUMHUB_MAILER_PORT: 465 HUMHUB_MAILER_USERNAME: info@humhub.spd-dresden.de HUMHUB_MAILER_PASSWORD: ${HUMHUB_MAIL_PASSWORD} HUMHUB_MAILER_ENCRYPTION: 'SSL' HUMHUB_MAILER_ALLOW_SELF_SIGNED_CERTS: 0 # Cache Config HUMHUB_CACHE_EXPIRE_TIME: 3600 HUMHUB_CACHE_CLASS: yii\redis\Cache HUMHUB_QUEUE_CLASS: humhub\modules\queue\driver\Redis HUMHUB_REDIS_HOSTNAME: redis HUMHUB_REDIS_PORT: 6379 HUMHUB_REDIS_PASSWORD: redis_password volumes: - my_www:/var/www/localhost/ healthcheck: test: ["CMD", "curl", "-f", "http://localhost/ping"] interval: 30s timeout: 10s retries: 3 db: image: mariadb environment: MYSQL_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD} MYSQL_DATABASE: 'humhub' MYSQL_USER: ${HUMHUB_DB_USER} MYSQL_PASSWORD: ${HUMHUB_DB_PASSWORD} healthcheck: test: ["CMD", "mysqladmin", "ping", "--silent"] interval: 30s timeout: 10s retries: 3 mailer: image: sj26/mailcatcher:latest restart: always expose: - 1025 ports: - "1080:1080" redis: image: redis:5.0-alpine expose: - '6379' # volumes: # - /srv/humhub/redis:/data environment: - REDIS_PASSWORD=redis_password #- ALLOW_EMPTY_PASSWORD=yes healthcheck: test: ["CMD", "redis-cli", "ping"] volumes: my_www: #external: true