# 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: user: graylog container_name: "graylog" image: graylog/graylog:4.0.5 volumes: - ./liwo.json:/usr/share/graylog/data/contentpacks/liwo.json environment: GRAYLOG_CONTENT_PACKS_LOADER_ENABLED: "true" GRAYLOG_CONTENT_PACKS_AUTO_INSTALL: "liwo.json" 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