Admidio ist eine kostenlose Online-Mitgliederverwaltung, die für Vereine, Gruppen und Organisationen optimiert ist. Sie besteht neben der klassischen Mitgliederverwaltung aus einer Vielzahl an Modulen, die in eine neue oder bestehende Homepage eingebaut und angepasst werden können.
0. Grundvoraussetzungen
- Docker & Docker Compose v2 (Debian / Ubuntu)
- TRAEFIK V2 + 3 – REVERSE-PROXY MIT CROWDSEC IM STACK EINRICHTEN
1. Verzeichnis anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/admidio
2. Docker Compose erstellen
Nun erstellen wir uns eine Docker Compose Datei.
nano /opt/containers/admidio/docker-compose.yml
Kopiere nun folgenden Inhalt:
services: admidio-verein-db: restart: unless-stopped image: mariadb:11.1.2-jammy container_name: admidio-verein-mariaDB volumes: - "./admidio-verein/mariadb/config:/etc/mysql/conf.d" - "./admidio-verein/mariadb/data:/var/lib/mysql" environment: - MYSQL_ROOT_PASSWORD=<dasRootPasswort> - MYSQL_DATABASE=admidio - MYSQL_USER=admidio - MYSQL_PASSWORD=<dasUserPasswort> security_opt: - "seccomp:unconfined" networks: - default admidio: restart: unless-stopped image: admidio/admidio:branch_v4.3 container_name: admidio-verein-app depends_on: - admidio-verein-db volumes: - ./admidio-verein/files:/opt/app-root/src/adm_my_files - ./admidio-verein/themes:/opt/app-root/src/adm_themes - ./admidio-verein/plugins:/opt/app-root/src/adm_plugins environment: - ADMIDIO_DB_TYPE=mysql - ADMIDIO_DB_HOST=admidio-verein-db:3306 - ADMIDIO_DB_NAME=admidio - ADMIDIO_DB_USER=admidio - ADMIDIO_DB_PASSWORD=<dasUserPasswort> - ADMIDIO_DB_TABLE_PRAEFIX=adm - ADMIDIO_MAIL_RELAYHOST=dein.mailserver.de:25 - ADMIDIO_LOGIN_FOR_UPDATE=1 - ADMIDIO_PASSWORD_HASH_ALGORITHM=DEFAULT - TZ=Europe/Berlin - ADMIDIO_ROOT_PATH=https://admidio.euredomain.de security_opt: - "seccomp:unconfined" networks: - proxy - default labels: - "traefik.enable=true" - "traefik.http.routers.admidio.entrypoints=websecure" - "traefik.http.routers.admidio.rule=(Host(`admidio.euredomain.de`))" - "traefik.http.routers.admidio.tls=true" - "traefik.http.routers.admidio.tls.certresolver=http_resolver" - "traefik.http.routers.admidio.service=admidio" - "traefik.http.services.admidio.loadbalancer.server.port=8080" - "traefik.docker.network=proxy" - "traefik.http.routers.admidio.middlewares=default@file" networks: proxy: external: true
Was du dann noch anpassen musst:
- <dasRootPasswort>: Passwort für MySQL-Root-User
- <dasUserPasswort>: Passwort für MySQL-User, unter dem Admidio läuft (2x)
- Traefik URL anpassen
- ADMIDIO_ROOT_PATH = identisch zur Traefik URL
3. admidio starten
docker compose -f /opt/containers/admidio/docker-compose.yml up -d
starten und Setup-Routine von Admidio durchlaufen (https://www.admidio.org/dokuwiki/doku.php?id=de:2.0:installation).
Fertig!
4. Plugins hinzufügen
Du kannst Admidio einfach mittels Plugins erweitern. Dazu lädst du dir die Plugins einfach herunter und kopierst sie in das entsprechende Verzeichnis. Beispiel: Formfiller
Anschließend entpackst du die Dateien. Installiere dazu:
apt update && apt install unzip -y
Nun entpackst du die Plugin Datei:
unzip Plugin.zip
Kopiere nun den gesamten Ordner in folgendes Verzeichnis:
mv Plugin /opt/containers/admidio/admidio-verein/plugins
Jetzt musst du innerhalb von Admidio noch einen Menüeintrag anlegen, damit das Plugin genutzt werden kann. Am Beispiel von Formfiller:
über das Admidio-Modul Menü einen Menüeintrag für FormFiller mit folgender URL erzeugen: /adm_plugins/formfiller/formfiller.php (Beim Erstellen dieses Menüeintrages wird dringend empfohlen, im Feld „Sichtbar für“ eine Rolle anzugeben).
Viel Spass!