Created
October 20, 2018 20:48
-
-
Save timogoosen/a209b0d6998cae7c3c105c36965c1f27 to your computer and use it in GitHub Desktop.
docker-compose.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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: | |
| - $HOME/Desktop/mariadb/:/var/lib/mysql # I want to manage volumes manually. | |
| php: | |
| image: wodby/wordpress-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/wordpress/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/wordpress/docs/local/docker-for-mac/) | |
| # - ./:/var/www/html:cached # User-guided caching | |
| # - docker-sync:/var/www/html # Docker-sync | |
| ## For Xdebug profiler files | |
| # - files:/mnt/files | |
| nginx: | |
| image: wodby/nginx:$NGINX_TAG | |
| container_name: "${PROJECT_NAME}_nginx" | |
| depends_on: | |
| - php | |
| environment: | |
| # NGINX_PAGESPEED: "on" | |
| NGINX_STATIC_OPEN_FILE_CACHE: "off" | |
| NGINX_ERROR_LOG_LEVEL: debug | |
| NGINX_BACKEND_HOST: php | |
| NGINX_VHOST_PRESET: wordpress | |
| volumes: | |
| - ./:/var/www/html | |
| # Options for macOS users (https://wodby.com/stacks/wordpress/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}' | |
| mailhog: | |
| image: mailhog/mailhog | |
| container_name: "${PROJECT_NAME}_mailhog" | |
| labels: | |
| - 'traefik.backend=mailhog' | |
| - 'traefik.port=8025' | |
| - 'traefik.frontend.rule=Host:mailhog.${PROJECT_BASE_URL}' | |
| # 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. | |
| # 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 | |
| # volumes: | |
| # - ./:/var/www/html | |
| ## For macOS users (https://wodby.com/stacks/wordpress/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}' | |
| # 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_KEY: key | |
| # VARNISH_CONFIG_PRESET: wordpress | |
| # 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}' | |
| # webgrind: | |
| # image: wodby/webgrind:$WEBGRIND_TAG | |
| # container_name: "${PROJECT_NAME}_webgrind" | |
| # environment: | |
| # WEBGRIND_PROFILER_DIR: /mnt/files/xdebug/profiler | |
| # labels: | |
| # - 'traefik.backend=webgrind' | |
| # - 'traefik.port=8080' | |
| # - 'traefik.frontend.rule=Host:webgrind.${PROJECT_BASE_URL}' | |
| # volumes: | |
| # - files:/mnt/files | |
| # 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}' | |
| # 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" | |
| # blackfire: | |
| # image: blackfire/blackfire | |
| # container_name: "${PROJECT_NAME}_blackfire" | |
| # environment: | |
| # BLACKFIRE_SERVER_ID: XXXXX | |
| # BLACKFIRE_SERVER_TOKEN: YYYYY | |
| # 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' | |
| # 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' | |
| # memcached: | |
| # container_name: "${PROJECT_NAME}_memcached" | |
| # image: wodby/memcached:$MEMCACHED_TAG | |
| # opensmtpd: | |
| # container_name: "${PROJECT_NAME}_opensmtpd" | |
| # image: wodby/opensmtpd:$OPENSMTPD_TAG | |
| # rsyslog: | |
| # container_name: "${PROJECT_NAME}_rsyslog" | |
| # image: wodby/rsyslog:$RSYSLOG_TAG | |
| 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: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment