====== HumHub ======
Zum [[humhub-anforderung|Anforderungskatalog]].
Humhub ist eine OpenSource - Software, mit deren Hilfe man ein eigenes soziales Netzwerk aufbauen kann. Mehr dazu kann man auf der offiziellen [[https://www.humhub.com/|Webseite]] oder im offiziellen [[https://github.com/humhub/humhub|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 [[https://www.docker.com/|Docker]] und der darauf aufbauenden Software [[https://docs.docker.com/compose/|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 [[https://github.com/mriedmann/humhub-docker|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: [[https://github.com/mriedmann/humhub-docker|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