printshopcreator/.docker/docker-compose/docker-compose.local.yml
2026-03-03 13:40:54 +01:00

112 lines
2.8 KiB
YAML

version: '3.7'
networks:
network:
driver: ${NETWORKS_DRIVER?}
volumes:
mysql:
name: mysql-${ENV?}
driver: ${VOLUMES_DRIVER?}
mongodb:
name: mongodb-${ENV?}
driver: ${VOLUMES_DRIVER?}
services:
php-fpm:
environment:
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG?}
# cap_add and security_opt are required to enable strace
# @see https://stackoverflow.com/a/46676868
cap_add:
- "SYS_PTRACE"
security_opt:
- "seccomp=unconfined"
networks:
- network
extra_hosts:
- host.docker.internal:host-gateway
web:
networks:
network:
aliases:
- ${APP_HOST?}
depends_on:
- php-fpm
smtp4dev:
image: registry.thomas-peterson.de/smtp4dev:manifest-amd64
restart: always
environment:
- ServerOptions__Urls=http://*:80
- ServerOptions__HostName=smtp4dev
networks:
- network
ollama:
image: ollama/ollama:latest
networks:
- network
restart: always
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: 1 # alternatively, use `count: all` for all GPUs
# capabilities: [gpu]
webhook:
image: tarampampam/webhook-tester:2
restart: always
environment:
- AUTO_CREATE_SESSIONS=true
networks:
- network
application:
image: ${DOCKER_REGISTRY?}/${DOCKER_NAMESPACE?}/application-${ENV?}:${TAG?}
build:
context: ../
# platforms:
# - "linux/amd64"
# - "linux/arm64"
dockerfile: ./images/php/application/Dockerfile
args:
- BASE_IMAGE=${DOCKER_REGISTRY?}/${DOCKER_NAMESPACE?}/php-base-${ENV?}:${TAG?}
- APP_SSH_PASSWORD=${APP_SSH_PASSWORD?}
- ENV=${ENV?}
environment:
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG?}
# cap_add and security_opt are required to enable strace
# @see https://stackoverflow.com/a/46676868
cap_add:
- "SYS_PTRACE"
security_opt:
- "seccomp=unconfined"
tty: true
networks:
- network
extra_hosts:
- host.docker.internal:host-gateway
depends_on:
- mysql
- mongodb
mongodb:
image: mongo:${MONGODB_VERSION?}
#volumes:
# - mongodb:/data/db
networks:
- network
mysql:
image: mariadb:${MYSQL_VERSION?}
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE:-application_db}
- MYSQL_USER=${MYSQL_USER:-application_user}
- MYSQL_PASSWORD=${MYSQL_PASSWORD?}
- MYSQL_ALLOW_EMPTY_PASSWORD=true
- TZ=${TIMEZONE:-UTC}
volumes:
- ${MYSQL_BACKUP_PATH_HOST?}:/docker-entrypoint-initdb.d/database.sql
# - mysql:/var/lib/mysql
command: --character-set-server=utf8 --collation-server=utf8_slovenian_ci --innodb-flush-log-at-trx-commit=0
networks:
- network