Admidio Vereinsverwaltungssystem in einem Docker Container mit Apache2 und PHP
10K+
Admidio is a free open source user management system for websites of organizations and groups. The system has a flexible role model so that it’s possible to reflect the structure and permissions of your organization.
Debian Jessie
admidio:master,admidio:latest(Dockerfile)admidio:v3.3.10(Dockerfile)admidio:v3.3.9(Dockerfile)admidio:v3.3.8(Dockerfile)admidio:v3.3.7(Dockerfile)admidio:v3.3.6(Dockerfile)admidio:v3.3.5(Dockerfile)admidio:v3.3.4(Dockerfile)admidio:v3.3.3(Dockerfile)admidio:v3.3.2(Dockerfile)admidio:v3.3.1(Dockerfile)admidio:v3.3.0(Dockerfile)admidio:v3.3,admidio:stable(Dockerfile)admidio:v3.3-Beta.4(Dockerfile)admidio:v3.3-Beta.3(Dockerfile)admidio:v3.3-Beta.2(Dockerfile)admidio:v3.3-Beta.1(Dockerfile)admidio:v3.2.15(Dockerfile)admidio:v3.2.14(Dockerfile)admidio:v3.2.13(Dockerfile)admidio:v3.2.12(Dockerfile)admidio:v3.2.11(Dockerfile)admidio:v3.2.10(Dockerfile)admidio:v3.2.9(Dockerfile)admidio:v3.2.8(Dockerfile)admidio:v3.2(Dockerfile)Debian Stretch PHP7
admidio:php7_master,admidio:php7_latest(Dockerfile)admidio:php7_v3.3.10(Dockerfile)admidio:php7_v3.3.9(Dockerfile)admidio:php7_v3.3.8(Dockerfile)admidio:php7_v3.3.7(Dockerfile)admidio:php7_v3.3.6(Dockerfile)admidio:php7_v3.3.5(Dockerfile)admidio:php7_v3.3.4(Dockerfile)admidio:php7_v3.3.3(Dockerfile)admidio:php7_v3.3.2(Dockerfile)admidio:php7_v3.3.1(Dockerfile)admidio:php7_v3.3.0(Dockerfile)admidio:php7_v3.3,admidio:php7_stable(Dockerfile)admidio:php7_v3.3-Beta.4(Dockerfile)admidio:php7_v3.3-Beta.3(Dockerfile)admidio:php7_v3.3-Beta.2(Dockerfile)admidio:php7_v3.3-Beta.1(Dockerfile)admidio:php7_v3.2.15(Dockerfile)admidio:php7_v3.2.14(Dockerfile)admidio:php7_v3.2.13(Dockerfile)admidio:php7_v3.2.12(Dockerfile)admidio:php7_v3.2.11(Dockerfile)admidio:php7_v3.2.10(Dockerfile)admidio:php7_v3.2.9(Dockerfile)admidio:php7_v3.2.8(Dockerfile)admidio:php7_v3.2(Dockerfile)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.
Registrierte Benutzer eurer Homepage haben durch Admidio u.a. Zugriff auf vordefinierte und frei konfigurierbare Mitgliederlisten, Personenprofile und eine Terminübersicht. Außerdem können Mitglieder in Gruppen zusammengelegt, Eigenschaften zugeordnet und nach diesen gesucht werden. (c) Admidio.org 2017
Den Container mit folgendem Befehl starten. Der Download startet falls der Container nicht vorhanden ist automatisch.
docker run -d -it --restart always --name admidio_test -p 8080:80 -v /var/admidio_files:/var/www/admidio/adm_my_files -v /var/admidio_themes:/var/www/admidio/adm_themes -v /var/admidio_plugins:/var/www/admidio/adm_plugins admidio/admidio:latest
Falls eine Docker basierte Datenbank vorhanden ist, kann man sie gleich mit dem Container verlinken.
docker run -d -it --restart always --name admidio_test -p 8080:80 --link dockermysql:mysql -v /var/admidio_files:/var/www/admidio/adm_my_files -v /var/admidio_themes:/var/www/admidio/adm_themes -v /var/admidio_plugins:/var/www/admidio/adm_plugins admidio/admidio:latest
Dabei kann jetzt im Admidio Setup bei der Datenbank statt die IP-Addresse der Containername dockermysql eingeben werden und als Datenbank mysql.
Danach über den Browser die Seite http://localhost:8080/ aufrufen und das Admidio Setup durchführen.
docker run -d -it --restart always --name admidio_test -p 8080:80 --link dockermysql:mysql -v /var/admidio_files:/var/www/admidio/adm_my_files -v /var/admidio_themes:/var/www/admidio/adm_themes -v /var/admidio_plugins:/var/www/admidio/adm_plugins admidio/admidio:latest
Die Volume -v macht man aus dem Grund, damit man einfacher ein Backup bzw. Update durchführen kann. Es ist aber kein muss.
Info: Prüft ab jetzt automatisch und kopiert gegebenfalls vom Provisions Ordner. Erklärung zu Docker Volume in diesem Beitrag Docker Data Volumes
Falls man es mit dem Docker Hub Repo verwendet, kann man folgende schritte durchführen.
docker pull admidio/admidio:latest
docker stop admidio_test
docker rm admidio_test
docker run -d -it --restart always --name admidio_test -p 8080:80 --link dockermysql:mysql -v /var/admidio_files:/var/www/admidio/adm_my_files -v /var/admidio_themes:/var/www/admidio/adm_themes -v /var/admidio_plugins:/var/www/admidio/adm_plugins admidio/admidio:latest
Mit Docker-Compose kann man sich die Container automatisch erstellen lassen und Verwalten.
Hier eine kleine Beispieldatei wie automatisch eine MySQL Datenbank erstellt wird und verlinkt auf den Admidio Container.
docker-compose.yaml
version: '3'
services:
mysql:
restart: always
image: mysql:5.6
environment:
- MYSQL_ROOT_PASSWORD=secret-password
# mit diesen 3 zusätzlichen Zeilen wird eine Datenbank und Benutzer erstellt.
- MYSQL_DATABASE=admidio
- MYSQL_USER=admidio
- MYSQL_PASSWORD=secret-password
volumes:
- <Lokaler-pfad-zum-Verzeichnis>/mysqlconfd:/etc/mysql/conf.d
- <Lokaler-pfad-zum-Verzeichnis>/mysqldata:/var/lib/mysql
ports:
- 3306:3306
admidio:
restart: always
image: admidio/admidio:v3.2
depends_on:
- mysql
volumes:
- <Lokaler-pfad-zum-Verzeichnis>/admidio_files:/var/www/admidio/adm_my_files
- <Lokaler-pfad-zum-Verzeichnis>/admidio_plugins:/var/www/admidio/adm_plugins
- <Lokaler-pfad-zum-Verzeichnis>/admidio_themes:/var/www/admidio/adm_themes
ports:
- 80:80
Mit dem folgendem Befehl werden die Container erstellt und als Dienst gestartet.
docker-compose up -d
Mit docker-compose down werden die Container beendet und gelöscht, die Volumes bleiben dabei erhalten.
Ein update kann auch mit docker-compose up -d gemacht werden, dabei wird geprüft ob sich was im docker-compose.yaml geändert hat, und gegebenfalls wird der jeweilige Container neu erstellt.
Bei diesem Beispiel wird der Nginx Proxy von jwilder mit JrCs docker-letsencrypt-nginx-proxy-companion verwendet.
version: '2.0'
services:
nginx-proxy:
restart: always
image: jwilder/nginx-proxy:latest
ports:
- '80:80'
- '443:443'
volumes:
- nginxcerts:/etc/nginx/certs:ro
- nginxvhostd:/etc/nginx/vhost.d
- /usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
- nginxconfd:/etc/nginx/conf.d
networks:
- nginx-proxy
letsencrypt-nginx-proxy-companion:
restart: always
image: jrcs/letsencrypt-nginx-proxy-companion
# environment: # remove this fake certificate in production
# - ACME_CA_URI=https://acme-staging.api.letsencrypt.org/directory
volumes:
- nginxcerts:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes_from:
- nginx-proxy
networks:
nginx-proxy:
external: true
volumes:
nginxcerts:
nginxvhostd:
nginxconfd:
version: '3'
services:
mysql:
restart: always
image: mysql:5.6
environment:
- MYSQL_ROOT_PASSWORD=secret-password
# mit diesen 3 zusätzlichen Zeilen wird eine Datenbank und Benutzer erstellt.
- MYSQL_DATABASE=admidio
- MYSQL_USER=admidio
- MYSQL_PASSWORD=secret-password
volumes:
- <Lokaler-pfad-zum-Verzeichnis>/mysqlconfd:/etc/mysql/conf.d
- <Lokaler-pfad-zum-Verzeichnis>/mysqldata:/var/lib/mysql
networks:
- backend
admidio:
restart: always
image: admidio/admidio:v3.2
environment:
# mit diesen 4 Variablen wird dem NGINX-Proxy die Notwendigen Infos übermittelt.
- VIRTUAL_HOST=<Domain z.b.: admidio.example.com> # wird für Port 80 verwendet
- LETSENCRYPT_HOST=<Domain z.b.: admidio.example.com> # wird für Port 443 verwendet und um das erstellen vom Zertifikat
- [email protected] # wird für das erstellen vom Zertifikat verwendet
- VIRTUAL_PROTO=http # Kommunikation zwischen Nginx-proxy und Admidio
depends_on:
- mysql
networks:
# zuweisung zu den Netzwerken.
- backend
- nginx-proxy
volumes:
- <Lokaler-pfad-zum-Verzeichnis>/admidio_files:/var/www/admidio/adm_my_files
- <Lokaler-pfad-zum-Verzeichnis>/admidio_plugins:/var/www/admidio/adm_plugins
- <Lokaler-pfad-zum-Verzeichnis>/admidio_themes:/var/www/admidio/adm_themes
networks:
backend:
nginx-proxy:
external: true
Mit docker-compose up -d werden die Container erstellt und nach ein paar Sekunden ist Admidio über admidio.example.com per HTTPS erreichbar. Der HTTP verkehr wird automatisch auf HTTPS umgeleitet.
Content type
Image
Digest
Size
127.5 MB
Last updated
over 7 years ago
docker pull guenterbailey/admidio