42 lines
1.8 KiB
Django/Jinja
42 lines
1.8 KiB
Django/Jinja
[Quadlet]
|
|
DefaultDependencies=false
|
|
|
|
[Unit]
|
|
Description=GroupOffice
|
|
|
|
[Container]
|
|
Image=docker.io/intermesh/groupoffice:{{ version['containers']['groupoffice'] }}
|
|
|
|
ContainerName=groupoffice
|
|
HostName=groupoffice
|
|
|
|
PublishPort={{ services['groupoffice']['ports']['http'] }}:80/tcp
|
|
|
|
Volume=%h/data/containers/groupoffice/data:/var/lib/groupoffice:rw
|
|
Volume=%h/containers/groupoffice/ssl/{{ root_cert_filename }}:/etc/ssl/groupoffice/{{ root_cert_filename }}:ro
|
|
# Keep the official image intact.
|
|
Volume=%h/containers/groupoffice/config/config.php:/etc/groupoffice/config.php:ro
|
|
Volume=%h/containers/groupoffice/config/groupoffice-ca.ini:/usr/local/etc/php/conf.d/99-groupoffice-ca.ini:ro
|
|
Volume=%h/containers/groupoffice/config/Authenticator.php:/usr/local/share/groupoffice/go/modules/community/imapauthenticator/model/Authenticator.php:ro
|
|
Volume=%h/containers/groupoffice/config/db_Connection.php:/usr/local/share/groupoffice/go/core/db/Connection.php:ro
|
|
Volume=%h/containers/groupoffice/config/configfile.php:/usr/local/share/groupoffice/install/configfile.php:ro
|
|
|
|
Environment="TZ={{ timezone }}"
|
|
|
|
# GroupOffice official Docker DB configuration
|
|
Environment="MYSQL_HOST={{ services['mariadb']['domain']['internal'] }}.{{ domain['internal'] }}"
|
|
Environment="MYSQL_DATABASE=groupoffice_db"
|
|
Environment="MYSQL_USER=groupoffice"
|
|
Secret=GROUPOFFICE_DB_PASSWORD,type=env,target=MYSQL_PASSWORD
|
|
|
|
[Service]
|
|
ExecStartPre=/usr/bin/nc -zv {{ services['mariadb']['domain']['internal'] }}.{{ domain['internal'] }} {{ services['mariadb']['ports']['tcp'] }}
|
|
ExecStartPre=/usr/bin/nc -zv {{ services['maddy']['domain']['internal'] }}.{{ domain['internal'] }} 993
|
|
ExecStartPost=-/usr/bin/podman exec -u www-data groupoffice php /usr/local/share/groupoffice/cli.php core/System/upgrade
|
|
Restart=always
|
|
RestartSec=10s
|
|
TimeoutStopSec=120
|
|
|
|
[Install]
|
|
WantedBy=default.target
|