Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- version: "3"
- services:
- mariadb:
- image: wodby/mariadb:$MARIADB_TAG
- container_name: "${PROJECT_NAME}_mariadb"
- stop_grace_period: 30s
- environment:
- MYSQL_ROOT_PASSWORD: $DB_ROOT_PASSWORD
- MYSQL_DATABASE: $DB_NAME
- MYSQL_USER: $DB_USER
- MYSQL_PASSWORD: $DB_PASSWORD
- # volumes:
- # - ./mariadb-init:/docker-entrypoint-initdb.d # Place init .sql file(s) here.
- # - /path/to/mariadb/data/on/host:/var/lib/mysql # I want to manage volumes manually.
- # postgres:
- # image: wodby/postgres:$POSTGRES_TAG
- # container_name: "${PROJECT_NAME}_postgres"
- # stop_grace_period: 30s
- # environment:
- # POSTGRES_PASSWORD: $DB_PASSWORD
- # POSTGRES_DB: $DB_NAME
- # POSTGRES_USER: $DB_USER
- # volumes:
- # - ./postgres-init:/docker-entrypoint-initdb.d # Place init file(s) here.
- # - /path/to/postgres/data/on/host:/var/lib/postgresql/data # I want to manage volumes manually.
- php:
- image: wodby/php:$PHP_TAG
- container_name: "${PROJECT_NAME}_php"
- environment:
- PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025
- DB_HOST: $DB_HOST
- DB_USER: $DB_USER
- DB_PASSWORD: $DB_PASSWORD
- DB_NAME: $DB_NAME
- ## Read instructions at https://wodby.com/stacks/php/docs/local/xdebug/
- # PHP_XDEBUG: 1
- # PHP_XDEBUG_DEFAULT_ENABLE: 1
- # PHP_XDEBUG_REMOTE_CONNECT_BACK: 0
- # PHP_IDE_CONFIG: serverName=my-ide
- # PHP_XDEBUG_REMOTE_HOST: 172.17.0.1 # Linux
- # PHP_XDEBUG_REMOTE_HOST: 10.254.254.254 # macOS
- # PHP_XDEBUG_REMOTE_HOST: 10.0.75.1 # Windows
- volumes:
- - ./:/var/www/html
- ## For macOS users (https://wodby.com/stacks/php/docs/local/docker-for-mac/)
- # - ./:/var/www/html:cached # User-guided caching
- # - docker-sync:/var/www/html # Docker-sync
- ## For XHProf and Xdebug profiler traces
- # - files:/mnt/files
- nginx:
- image: wodby/nginx:$NGINX_TAG
- container_name: "${PROJECT_NAME}_nginx"
- depends_on:
- - php
- environment:
- NGINX_STATIC_OPEN_FILE_CACHE: "off"
- NGINX_ERROR_LOG_LEVEL: debug
- NGINX_BACKEND_HOST: php
- NGINX_VHOST_PRESET: php
- NGINX_SERVER_ROOT: /var/www/html/public
- volumes:
- - ./:/var/www/html
- # Options for macOS users (https://wodby.com/stacks/php/docs/local/docker-for-mac/)
- # - ./:/var/www/html:cached # User-guided caching
- # - docker-sync:/var/www/html # Docker-sync
- labels:
- - 'traefik.backend=nginx'
- - 'traefik.port=80'
- - 'traefik.frontend.rule=Host:${PROJECT_BASE_URL}'
- # apache:
- # image: wodby/apache:$APACHE_TAG
- # container_name: "${PROJECT_NAME}_apache"
- # depends_on:
- # - php
- # environment:
- # APACHE_LOG_LEVEL: debug
- # APACHE_BACKEND_HOST: php
- # APACHE_VHOST_PRESET: php
- # APACHE_DOCUMENT_ROOT: /var/www/html/public
- # volumes:
- # - ./:/var/www/html
- ## For macOS users (https://wodby.com/stacks/php/docs/local/docker-for-mac/)
- ## - ./:/var/www/html:cached # User-guided caching
- ## - docker-sync:/var/www/html # Docker-sync
- # labels:
- # - 'traefik.backend=apache'
- # - 'traefik.port=80'
- # - 'traefik.frontend.rule=Host:${PROJECT_BASE_URL}'
- mailhog:
- image: mailhog/mailhog
- container_name: "${PROJECT_NAME}_mailhog"
- labels:
- - 'traefik.backend=mailhog'
- - 'traefik.port=8025'
- - 'traefik.frontend.rule=Host:mailhog.${PROJECT_BASE_URL}'
- # varnish:
- # image: wodby/varnish:$VARNISH_TAG
- # container_name: "${PROJECT_NAME}_varnish"
- # depends_on:
- # - nginx
- # environment:
- # VARNISH_SECRET: secret
- # VARNISH_BACKEND_HOST: nginx
- # VARNISH_BACKEND_PORT: 80
- # VARNISH_PURGE_EXTERNAL_REQUEST_HEADER: X-Real-IP
- # labels:
- # - 'traefik.backend=varnish'
- # - 'traefik.port=6081'
- # - 'traefik.frontend.rule=Host:varnish.${PROJECT_BASE_URL}'
- # redis:
- # container_name: "${PROJECT_NAME}_redis"
- # image: wodby/redis:$REDIS_TAG
- # adminer:
- # container_name: "${PROJECT_NAME}_adminer"
- # image: wodby/adminer:$ADMINER_TAG
- # environment:
- ## For PostgreSQL:
- ## ADMINER_DEFAULT_DB_DRIVER: pgsql
- # ADMINER_DEFAULT_DB_HOST: $DB_HOST
- # ADMINER_DEFAULT_DB_NAME: $DB_NAME
- # labels:
- # - 'traefik.backend=adminer'
- # - 'traefik.port=9000'
- # - 'traefik.frontend.rule=Host:adminer.${PROJECT_BASE_URL}'
- # pma:
- # image: phpmyadmin/phpmyadmin
- # container_name: "${PROJECT_NAME}_pma"
- # environment:
- # PMA_HOST: $DB_HOST
- # PMA_USER: $DB_USER
- # PMA_PASSWORD: $DB_PASSWORD
- # PHP_UPLOAD_MAX_FILESIZE: 1G
- # PHP_MAX_INPUT_VARS: 1G
- # labels:
- # - 'traefik.backend=pma'
- # - 'traefik.port=80'
- # - 'traefik.frontend.rule=Host:pma.${PROJECT_BASE_URL}'
- # solr:
- # image: wodby/solr:$SOLR_TAG
- # container_name: "${PROJECT_NAME}_solr"
- # environment:
- # SOLR_HEAP: 1024m
- # labels:
- # - 'traefik.backend=solr'
- # - 'traefik.port=8983'
- # - 'traefik.frontend.rule=Host:solr.${PROJECT_BASE_URL}'
- # elasticsearch:
- # image: wodby/elasticsearch:$ELASTICSEARCH_TAG
- # environment:
- # ES_JAVA_OPTS: "-Xms500m -Xmx500m"
- # ulimits:
- # memlock:
- # soft: -1
- # hard: -1
- # kibana:
- # image: wodby/kibana:$KIBANA_TAG
- # depends_on:
- # - elasticsearch
- # labels:
- # - 'traefik.backend=kibana'
- # - 'traefik.port=5601'
- # - 'traefik.frontend.rule=Host:kibana.php.docker.localhost'
- # memcached:
- # container_name: "${PROJECT_NAME}_memcached"
- # image: wodby/memcached:$MEMCACHED_TAG
- # rsyslog:
- # container_name: "${PROJECT_NAME}_rsyslog"
- # image: wodby/rsyslog:$RSYSLOG_TAG
- # athenapdf:
- # image: arachnysdocker/athenapdf-service:$ATHENAPDF_TAG
- # container_name: "${PROJECT_NAME}_athenapdf"
- # environment:
- # WEAVER_AUTH_KEY: weaver-auth-key
- # WEAVER_ATHENA_CMD: "athenapdf -S"
- # WEAVER_MAX_WORKERS: 10
- # WEAVER_MAX_CONVERSION_QUEUE: 50
- # WEAVER_WORKER_TIMEOUT: 90
- # WEAVER_CONVERSION_FALLBACK: "false"
- # node:
- # image: wodby/node:$NODE_TAG
- # container_name: "${PROJECT_NAME}_node"
- # working_dir: /app
- # labels:
- # - 'traefik.backend=node'
- # - 'traefik.port=3000'
- # - 'traefik.frontend.rule=Host:front.${PROJECT_BASE_URL}'
- # expose:
- # - "3000"
- # volumes:
- # - ./path/to/your/single-page-app:/app
- # command: sh -c 'npm install && npm run start'
- # blackfire:
- # image: blackfire/blackfire
- # environment:
- # BLACKFIRE_SERVER_ID: XXXXX
- # BLACKFIRE_SERVER_TOKEN: YYYYY
- # webgrind:
- # image: wodby/webgrind:$WEBGRIND_TAG
- # environment:
- # WEBGRIND_PROFILER_DIR: /mnt/files/xdebug/profiler
- # labels:
- # - 'traefik.backend=webgrind'
- # - 'traefik.port=8080'
- # - 'traefik.frontend.rule=Host:webgrind.php.docker.localhost'
- # volumes:
- # - files:/mnt/files
- # opensmtpd:
- # container_name: "${PROJECT_NAME}_opensmtpd"
- # image: wodby/opensmtpd:$OPENSMTPD_TAG
- # xhprof:
- # image: wodby/xhprof:$XHPROF_TAG
- # restart: always
- # volumes:
- # - files:/mnt/files
- # labels:
- # - 'traefik.backend=xhprof'
- # - 'traefik.port=8080'
- # - 'traefik.frontend.rule=Host:xhprof.${PROJECT_BASE_URL}'
- portainer:
- image: portainer/portainer
- container_name: "${PROJECT_NAME}_portainer"
- command: --no-auth -H unix:///var/run/docker.sock
- volumes:
- - /var/run/docker.sock:/var/run/docker.sock
- labels:
- - 'traefik.backend=portainer'
- - 'traefik.port=9000'
- - 'traefik.frontend.rule=Host:portainer.${PROJECT_BASE_URL}'
- traefik:
- image: traefik
- container_name: "${PROJECT_NAME}_traefik"
- command: -c /dev/null --web --docker --logLevel=INFO
- ports:
- - '8000:80'
- # - '8080:8080' # Dashboard
- volumes:
- - /var/run/docker.sock:/var/run/docker.sock
- #volumes:
- ## Docker-sync for macOS users
- # docker-sync:
- # external: true
- ## For Xdebug profiler
- # files:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement