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