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

  1. # NOTE: This files purpose is to spin-up the project for testing it in CI.
  2. # Please do not understand it as recommendation for an production
  3. # docker-compose setup. For that see the README. If you have additions
  4. # to make, please add them there.
  5. version: '3.1'
  6. services:
  7. humhub:
  8. image: docker.io/mriedmann/humhub:stable
  9. ports:
  10. - "8080:80"
  11. environment:
  12. HUMHUB_DB_USER: ${HUMHUB_DB_USER}
  13. HUMHUB_DB_PASSWORD: ${HUMHUB_DB_PASSWORD}
  14. HUMHUB_DB_HOST: 'db'
  15. HUMHUB_DB_NAME: 'humhub'
  16. HUMHUB_AUTO_INSTALL: 1
  17. HUMHUB_DEBUG: 1
  18. HUMHUB_PROTO: 'https'
  19. HUMHUB_HOST: 'localhost'
  20. # Mailer install setup
  21. HUMHUB_MAILER_SYSTEM_EMAIL_ADDRESS: 'info@humhub.spd-dresden.de'
  22. HUMHUB_MAILER_SYSTEM_EMAIL_NAME: 'HumHub - Mailman'
  23. HUMHUB_MAILER_TRANSPORT_TYPE: 'smtp'
  24. HUMHUB_MAILER_HOSTNAME: 'sslout.de'
  25. HUMHUB_MAILER_PORT: 465
  26. HUMHUB_MAILER_USERNAME: info@humhub.spd-dresden.de
  27. HUMHUB_MAILER_PASSWORD: ${HUMHUB_MAIL_PASSWORD}
  28. HUMHUB_MAILER_ENCRYPTION: 'SSL'
  29. HUMHUB_MAILER_ALLOW_SELF_SIGNED_CERTS: 0
  30. # Cache Config
  31. HUMHUB_CACHE_EXPIRE_TIME: 3600
  32. HUMHUB_CACHE_CLASS: yii\redis\Cache
  33. HUMHUB_QUEUE_CLASS: humhub\modules\queue\driver\Redis
  34. HUMHUB_REDIS_HOSTNAME: redis
  35. HUMHUB_REDIS_PORT: 6379
  36. HUMHUB_REDIS_PASSWORD: redis_password
  37. volumes:
  38. - my_www:/var/www/localhost/
  39. healthcheck:
  40. test: ["CMD", "curl", "-f", "http://localhost/ping"]
  41. interval: 30s
  42. timeout: 10s
  43. retries: 3
  44. db:
  45. image: mariadb
  46. environment:
  47. MYSQL_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
  48. MYSQL_DATABASE: 'humhub'
  49. MYSQL_USER: ${HUMHUB_DB_USER}
  50. MYSQL_PASSWORD: ${HUMHUB_DB_PASSWORD}
  51. healthcheck:
  52. test: ["CMD", "mysqladmin", "ping", "--silent"]
  53. interval: 30s
  54. timeout: 10s
  55. retries: 3
  56. mailer:
  57. image: sj26/mailcatcher:latest
  58. restart: always
  59. expose:
  60. - 1025
  61. ports:
  62. - "1080:1080"
  63. redis:
  64. image: redis:5.0-alpine
  65. expose:
  66. - '6379'
  67. # volumes:
  68. # - /srv/humhub/redis:/data
  69. environment:
  70. - REDIS_PASSWORD=redis_password
  71. #- ALLOW_EMPTY_PASSWORD=yes
  72. healthcheck:
  73. test: ["CMD", "redis-cli", "ping"]
  74. volumes:
  75. my_www:
  76. #external: true