You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

176 lines
4.5 KiB

# For more information: https://laravel.com/docs/sail
version: '3'
services:
rabbitmq:
image: "rabbitmq:3-management"
ports:
- 5672:5672
- 15672:15672
environment:
RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG"
RABBITMQ_DEFAULT_USER: "root"
RABBITMQ_DEFAULT_PASS: "root"
RABBITMQ_DEFAULT_VHOST: "/"
networks:
- hi-user
volumes:
- ./definitions.json:/etc/rabbitmq/definitions.json
depends_on:
- laravel.test
minio:
image: minio/minio
command: server /data
ports:
- 9005:9000
environment:
MINIO_ACCESS_KEY: root
MINIO_SECRET_KEY: minioroot
networks:
- hi-user
depends_on:
- laravel.test
commander:
image: rediscommander/redis-commander:latest
environment:
- REDIS_HOST=redis
- REDIS_PORT=6379
- HTTP_USER=root
- HTTP_PASSWORD=root
- REDIS_PASSWORD=root
ports:
- 8081:8081
depends_on:
- redis
networks:
- hi-user
redis:
image: redis:latest
ports:
- 6379:6379
command: redis-server --requirepass root
volumes:
- redis-data:/data
networks:
- hi-user
laravel.test:
build:
context: ./vendor/laravel/sail/runtimes/8.0
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
image: sail-8.0/app
ports:
- '${APP_PORT:-80}:80'
container_name: "liwo-user-app"
environment:
WWWUSER: '${WWWUSER}'
LARAVEL_SAIL: 1
volumes:
- '.:/var/www/html'
networks:
- hi-user
- hi
depends_on:
- mysql
mysql:
user: root
image: 'mysql:8.0'
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
environment:
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
MYSQL_DATABASE: '${DB_DATABASE}'
MYSQL_USER: '${DB_USERNAME}'
MYSQL_PASSWORD: '${DB_PASSWORD}'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
volumes:
# - 'sailmysql:/var/lib/mysql'
- ./my.cnf:/etc/mysql/conf.d/my.cnf
- ./storage/logs/mysql:/var/lib/mysql
networks:
- hi-user
healthcheck:
test: ["CMD", "mysqladmin", "ping"]
pma:
image: 'phpmyadmin:latest'
ports:
- 8080:80
environment:
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
links:
- "mysql:db"
depends_on:
- mysql
networks:
- hi-user
mailhog:
image: mailhog/mailhog
logging:
driver: 'none' # disable saving logs
ports:
- 1025:1025 # smtp server
- 8025:8025 # web ui
networks:
- hi-user
mongo:
container_name: "mongo"
image: mongo:latest
networks:
- hi-user
elasticsearch:
container_name: "elastic"
image: docker.elastic.co/elasticsearch/elasticsearch:7.11.2
environment:
- http.host=0.0.0.0
- transport.host=localhost
- network.host=0.0.0.0
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: 512
hard: 1024
networks:
- hi-user
graylog:
container_name: "graylog"
image: graylog/graylog:4.0.5
environment:
GRAYLOG_HTTP_EXTERNAL_URI: "http://127.0.0.1:9000/"
GRAYLOG_PASSWORD_SECRET: supersecretpassword
GRAYLOG_ROOT_PASSWORD_SHA2: "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918"
GRAYLOG_ELASTICSEARCH_VERSION: 7
restart: always
depends_on:
- mongo
- elasticsearch
ports:
- 9000:9000
- 12201:12201
- 1514:1514
- 5044:5044
networks:
- hi-user
filebeat:
restart: always
depends_on:
- graylog
user: root
container_name: filebeat
image: docker.elastic.co/beats/filebeat:7.11.2
volumes:
- ./storage/logs/mysql:/var/log/mysql
- ./filebeat.yml:/usr/share/filebeat/filebeat.yml
- ./filebeat.reference.yml:/usr/share/filebeat/filebeat.reference.yml
networks:
- hi-user
networks:
hi-user:
external: false
driver: bridge
hi:
external: true
volumes:
redis-data:
driver: local
sailmysql:
driver: local