Skip to content

Instantly share code, notes, and snippets.

@finoghentov
Created July 14, 2023 14:39
Show Gist options
  • Save finoghentov/41486703d5877f253fd61980c20c8476 to your computer and use it in GitHub Desktop.
Save finoghentov/41486703d5877f253fd61980c20c8476 to your computer and use it in GitHub Desktop.
version: '3.8'
services:
# Frontend service
rabbitmq-my-app:
container_name: rabbitmq-my-app
image: rabbitmq:3-management
environment:
- RABBITMQ_DEFAULT_USER=${RABBITMQ_USERNAME}
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_PASSWORD}
ports:
- "${RABBITMQ_EXPOSE_PORT}:15672"
networks:
- network-my-app
fpm-my-app:
image: fpm-my-app
build: ./php
restart: on-failure
container_name: fpm-my-app
volumes:
# Mount source code
- ../:/app
depends_on:
- mysql-my-app
networks:
- network-my-app
# Nginx service
nginx-my-app:
image: nginx:latest
restart: on-failure
container_name: nginx-my-app
ports:
- "${NGINX_EXPOSE_PORT}:80"
volumes:
- ../:/app
- ./nginx/conf.nginx:/etc/nginx/conf.d/default.conf
depends_on:
- fpm-my-app
networks:
- network-my-app
# Mysql service
mysql-my-app:
image: mysql:latest
restart: on-failure
container_name: mysql-my-app
ports:
- ${MYSQL_EXPOSE_PORT}:3306
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
volumes:
# Mounting mysql databases data
- ./mysql/data:/var/lib/mysql
networks:
network-my-app:
aliases:
- ${MYSQL_HOST_ALIAS}
networks:
network-my-app:
name: network-my-app
driver: bridge
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment