Admidio Installation
References:
Preparation of the Server
Create Directories for Admidio
cd /opt && mkdir -p docker-compose
cd docker-compose && mkdir -p admidio
cd admidio
Docker Compose Configuration
nano docker-compose.yaml
Content of docker-compose file:
# https://github.com/Admidio/admidio/blob/master/README-Docker.md
services:
admidio-db:
restart: unless-stopped
image: mariadb:11.1.2-jammy
container_name: admidio-db
networks:
backend:
volumes:
- ./data/mariadb/config:/etc/mysql/conf.d
- ./data/mariadb/var_lib_mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
# healthcheck:
# test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=rootpasswd"]
# interval: 10s
# timeout: 10s
# retries: 5
security_opt:
- "seccomp:unconfined"
admidio-app:
restart: unless-stopped
image: admidio/admidio:branch_v4.3
container_name: my.lugbz.org
networks:
dsnet:
backend:
depends_on:
- admidio-db
volumes:
- ./data/admidio/files:/opt/app-root/src/adm_my_files
- ./data/admidio/themes:/opt/app-root/src/adm_themes
- ./data/admidio/plugins:/opt/app-root/src/adm_plugins
environment:
- ADMIDIO_DB_TYPE=mysql
- ADMIDIO_DB_HOST=admidio-db:3306
- ADMIDIO_DB_NAME=${MYSQL_DATABASE}
- ADMIDIO_DB_USER=${MYSQL_USER}
- ADMIDIO_DB_PASSWORD=${MYSQL_ROOT_PASSWORD}
- ADMIDIO_DB_TABLE_PRAEFIX=adm_lugbz_
- ADMIDIO_MAIL_RELAYHOST=<mail server host>:25
- ADMIDIO_LOGIN_FOR_UPDATE=1
- ADMIDIO_ORGANISATION=LUGBZ
- ADMIDIO_PASSWORD_HASH_ALGORITHM=DEFAULT
- TZ=Europe/Rome
- ADMIDIO_ROOT_PATH=https://my.lugbz.org
security_opt:
- "seccomp:unconfined"
networks:
dsnet:
external: true
backend:
nano .env
MYSQL_ROOT_PASSWORD=<mysql root pwd>
MYSQL_DATABASE=<admidio db name>
MYSQL_USER=<admidio db user>
docker compose up -d
Now the Container should be up and running! Check with docker ps
if
you find admidio.
Reverse Proxy Setup
Move to revproxy
directory
cd /var/ds/revproxy
Create a Entry for the Installation
ds get-ssl-cert my.lugbz.org -t
It automatically creates a new entry for the RevProxy for the respective
container. Now we have to change the port on which Admdio is working. To
do this, we have to change to the domains
folder.
Here is our generated file:
nano my.lugbz.org.conf
To make it work we just have to set the port to 8080
and change
https
to http
. This is what it will look like in the end:
server {
listen 443 ssl;
server_name my.lugbz.org ;
ssl_certificate certs/my.lugbz.org/fullchain.pem;
ssl_certificate_key certs/my.lugbz.org/privkey.pem;
access_log /var/log/nginx/my.lugbz.org-access.log;
error_log /var/log/nginx/my.lugbz.org-error.log error;
location / {
include conf.d/proxy_params;
proxy_pass http://my.lugbz.org:8080;
}
}
Then restart revproxy. You should then be greeted by the Admidio installation wizard when you navigate to the domain.