Files
wordpress-stack/docker-compose.yml
2026-04-05 16:23:17 +00:00

134 lines
2.9 KiB
YAML

volumes:
data:
nxc:
mysql:
socket-redis:
socket-mysql:
networks:
default:
name: ${NETWORK}
external: true
services:
nginx:
build:
context: ./nginx
args:
- APP=wordpress
volumes:
- data:/var/www/
- nxc:/var/run/nginx-cache/
ports:
- "${PORT_HTTP}:80"
- "${PORT_SFTP}:22"
- "${PORT_PHPMYADMIN}:81"
restart: unless-stopped
php:
environment:
- UUID=${COMPOSE_PROJECT_NAME:-unknown}
build:
context: ./php
args:
- PHP_VERSION=${PHP_VERSION}
volumes:
- data:/var/www/
- nxc:/var/run/nginx-cache/
- socket-mysql:/var/run/mysqld/
- socket-redis:/var/run/redis/
network_mode: service:nginx
depends_on:
- nginx
restart: unless-stopped
deploy:
resources:
limits:
cpus: "${PHP_RESOURCES_LIMITS_CPUS}"
memory: "${PHP_RESOURCES_LIMITS_MEMORY}"
reservations:
memory: "${PHP_RESOURCES_RES_MEMORY}"
mysql:
build:
context: ./mariadb
environment:
- MARIADB_DATABASE=${MARIADB_DB1}
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
- MARIADB_USER=${MARIADB_DBUSER1_USERNAME}
- MARIADB_PASSWORD=${MARIADB_DBUSER1_PASSWORD}
volumes:
- data:/var/www/
- mysql:/var/lib/mysql
- socket-mysql:/run/mysqld
network_mode: service:nginx
depends_on:
- nginx
restart: unless-stopped
phpmyadmin:
build:
context: ./phpmyadmin
environment:
- PMA_HOST=localhost
- UPLOAD_LIMIT=${PHPMYADMIN_UPLOAD_LIMIT}
volumes:
- socket-mysql:/var/run/mysqld/
network_mode: service:nginx
restart: unless-stopped
redis:
build:
context: ./redis
volumes:
- socket-redis:/tmp
network_mode: service:nginx
depends_on:
- nginx
restart: unless-stopped
deploy:
resources:
limits:
cpus: "${REDIS_RESOURCES_LIMITS_CPUS}"
memory: ${REDIS_RESOURCES_LIMITS_MEMORY}
reservations:
memory: ${REDIS_RESOURCES_RES_MEMORY}
sftp:
build:
context: ./sftp
args:
- SSHKEY1=${SFTP_SSHKEY1}
- SSHKEY2=${SFTP_SSHKEY2}
environment:
- SFTP_USERSS=${SFTP_USERS}
volumes:
- data:/home/${SFTP_FTPUSER1_USERNAME}
- /mnt/backup_docker/${COMPOSE_PROJECT_NAME}:/home/${SFTP_FTPUSER1_USERNAME}/backup
command: ${SFTP_FTPUSER1_USERNAME}:${SFTP_FTPUSER1_PASSWORD}:33:33
network_mode: service:nginx
restart: unless-stopped
cap_add:
- SYS_ADMIN
backup:
build:
context: ./backup
environment:
- MARIADB_ROOT_PASSWORD=$MARIADB_ROOT_PASSWORD
volumes:
- data:/srv/data/
- /mnt/backup_docker/${COMPOSE_PROJECT_NAME}:/srv/backup/
- socket-mysql:/var/run/mysqld/
restart: unless-stopped
deploy:
resources:
limits:
cpus: "1.0"
memory: 500M
reservations:
memory: 100M