version: '3.9' name: trial services: db: image: postgres hostname: postgres restart: unless-stopped shm_size: 128mb volumes: - ./docker/pgsql/data:/var/lib/postgresql/data/pgdata networks: - dev-network env_file: - ./.env environment: - PGDATA=/var/lib/postgresql/data/pgdata ports: - "${PGPORT}:${PGPORT}" caddy: image: caddy:latest restart: unless-stopped links: - php depends_on: - php volumes: - ./docker/caddy/data:/data - ./docker/caddy/config:/config - ./docker/caddy/etc/Caddyfile:/etc/caddy/Caddyfile - ./docker/caddy/etc/tls_auto:/etc/tls_auto - ./docker/caddy/etc/tls_selfsigned:/etc/tls_selfsigned - app:/var/www/trial env_file: - ./.env ports: - "8000:8000" - "8443:8443" - "8443:8443/udp" logging: driver: "json-file" options: max-size: "1M" max-file: "10" networks: - dev-network php: build: dockerfile: ./docker/fpm/Dockerfile context: . hostname: php links: - db depends_on: - db volumes: - app:/var/www/trial - ./docker/fpm/www.conf:/usr/local/etc/php-fpm.d/www.conf networks: - dev-network env_file: - ./.env networks: dev-network: driver: bridge volumes: app: driver: local external: false driver_opts: type: none o: bind device: ./app