2022-03-08 11:02:21 +00:00
|
|
|
services:
|
2022-03-09 13:28:14 +00:00
|
|
|
nginx-proxy:
|
|
|
|
image: jwilder/nginx-proxy
|
|
|
|
container_name: nginx-proxy
|
2024-06-13 11:10:48 +00:00
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- pilernet
|
2022-03-09 13:28:14 +00:00
|
|
|
ports:
|
|
|
|
- "80:80"
|
|
|
|
- "443:443"
|
|
|
|
volumes:
|
|
|
|
- ./nginx-data/certs:/etc/nginx/certs
|
|
|
|
- ./nginx-data/vhost.d:/etc/nginx/vhost.d
|
|
|
|
- ./nginx-data/html:/usr/share/nginx/html
|
|
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
2024-06-13 11:10:48 +00:00
|
|
|
|
2022-03-09 13:28:14 +00:00
|
|
|
nginx-letsencrypt:
|
|
|
|
image: jrcs/letsencrypt-nginx-proxy-companion
|
|
|
|
container_name: nginx-letsencrypt
|
2024-06-13 11:10:48 +00:00
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- pilernet
|
2022-03-09 13:28:14 +00:00
|
|
|
volumes_from:
|
|
|
|
- nginx-proxy
|
|
|
|
volumes:
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
|
|
environment:
|
|
|
|
- DEFAULT_EMAIL=${LETSENCRYPT_EMAIL}
|
2024-06-13 11:10:48 +00:00
|
|
|
|
2022-03-08 11:02:21 +00:00
|
|
|
mysql:
|
2023-01-22 20:29:57 +00:00
|
|
|
image: mariadb:${MARIA_DB_VERSION}
|
2024-06-11 19:36:39 +00:00
|
|
|
container_name: mysql_piler
|
2022-03-08 11:02:21 +00:00
|
|
|
restart: unless-stopped
|
2024-06-13 11:10:48 +00:00
|
|
|
networks:
|
|
|
|
- pilernet
|
2022-03-08 11:02:21 +00:00
|
|
|
cap_drop:
|
|
|
|
- ALL
|
|
|
|
cap_add:
|
|
|
|
- dac_override
|
|
|
|
- setuid
|
|
|
|
- setgid
|
|
|
|
environment:
|
|
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
|
|
|
- MYSQL_USER=${MYSQL_USER}
|
|
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
|
|
|
- MYSQL_RANDOM_ROOT_PASSWORD=yes
|
2022-04-20 10:35:35 +00:00
|
|
|
- TZ="Europe/Berlin"
|
2024-06-13 14:44:24 +00:00
|
|
|
- MARIADB_AUTO_UPGRADE=1
|
2024-06-13 14:45:20 +00:00
|
|
|
- MARIADB_DISABLE_UPGRADE_BACKUP=1
|
2022-03-08 11:02:21 +00:00
|
|
|
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
|
|
|
healthcheck:
|
|
|
|
test: mysql --user=${MYSQL_USER} --password=${MYSQL_PASSWORD} piler --execute "show tables"
|
|
|
|
interval: "60s"
|
|
|
|
timeout: "5s"
|
|
|
|
start_period: "15s"
|
|
|
|
retries: 3
|
|
|
|
volumes:
|
|
|
|
- db_data:/var/lib/mysql
|
|
|
|
|
|
|
|
memcached:
|
|
|
|
image: memcached:latest
|
2024-06-11 19:36:39 +00:00
|
|
|
container_name: memcached_piler
|
2022-03-08 11:02:21 +00:00
|
|
|
restart: unless-stopped
|
2024-06-13 11:10:48 +00:00
|
|
|
networks:
|
|
|
|
- pilernet
|
2022-03-08 11:02:21 +00:00
|
|
|
cap_drop:
|
|
|
|
- ALL
|
|
|
|
command: -m 64
|
|
|
|
|
|
|
|
piler:
|
2023-01-22 19:02:53 +00:00
|
|
|
image: simatec/piler:${PILER_VERSION}
|
2022-03-08 11:02:21 +00:00
|
|
|
container_name: piler
|
|
|
|
restart: unless-stopped
|
2024-06-13 11:10:48 +00:00
|
|
|
networks:
|
|
|
|
- pilernet
|
2022-03-09 13:28:14 +00:00
|
|
|
expose:
|
|
|
|
- "80"
|
2022-03-08 11:02:21 +00:00
|
|
|
hostname: ${PILER_DOMAIN}
|
|
|
|
init: true
|
|
|
|
environment:
|
|
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
|
|
|
- MYSQL_USER=${MYSQL_USER}
|
|
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
2024-06-11 20:16:58 +00:00
|
|
|
- MYSQL_HOSTNAME=mysql_piler
|
2022-03-08 11:02:21 +00:00
|
|
|
- PILER_HOSTNAME=${PILER_DOMAIN}
|
2024-06-11 20:16:58 +00:00
|
|
|
- MEMCACHED_HOST=memcached_piler
|
2023-01-15 22:13:05 +00:00
|
|
|
- TZ=${TIME_ZONE}
|
2024-06-04 08:26:31 +00:00
|
|
|
- RT=1
|
2022-03-09 13:28:14 +00:00
|
|
|
- VIRTUAL_HOST=${PILER_DOMAIN}
|
|
|
|
- LETSENCRYPT_HOST=${PILER_DOMAIN}
|
|
|
|
- LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
|
2022-03-08 11:02:21 +00:00
|
|
|
ports:
|
|
|
|
- "25:25"
|
|
|
|
volumes:
|
|
|
|
- piler_etc:/etc/piler
|
2023-01-15 22:13:05 +00:00
|
|
|
- piler_var_store:/var/piler/store
|
|
|
|
- piler_var_manticore:/var/piler/manticore
|
|
|
|
- piler_var_imap:/var/piler/imap
|
|
|
|
- piler_var_stat:/var/piler/stat
|
2022-04-20 10:35:35 +00:00
|
|
|
- piler_cron:/var/spool/cron/crontabs
|
|
|
|
- /etc/localtime:/etc/localtime:ro
|
2022-03-08 11:02:21 +00:00
|
|
|
healthcheck:
|
|
|
|
test: curl -s smtp://localhost/
|
|
|
|
interval: "60s"
|
|
|
|
timeout: "3s"
|
|
|
|
start_period: "15s"
|
|
|
|
retries: 3
|
|
|
|
deploy:
|
|
|
|
resources:
|
|
|
|
reservations:
|
|
|
|
memory: 512M
|
|
|
|
limits:
|
|
|
|
memory: 512M
|
|
|
|
depends_on:
|
2024-06-13 11:10:48 +00:00
|
|
|
- memcached
|
|
|
|
- mysql
|
2022-03-08 11:02:21 +00:00
|
|
|
|
2022-03-09 13:28:14 +00:00
|
|
|
networks:
|
2024-06-13 11:10:48 +00:00
|
|
|
pilernet:
|
|
|
|
external: true
|
2022-03-09 13:28:14 +00:00
|
|
|
|
2022-03-08 11:02:21 +00:00
|
|
|
volumes:
|
2023-01-15 22:23:35 +00:00
|
|
|
db_data:
|
2022-03-09 13:28:14 +00:00
|
|
|
piler_etc:
|
2023-01-15 22:13:05 +00:00
|
|
|
piler_var_store:
|
|
|
|
piler_var_manticore:
|
|
|
|
piler_var_imap:
|
|
|
|
piler_var_stat:
|
2022-04-20 10:35:35 +00:00
|
|
|
piler_cron:
|