version: '3.5' services: # Legacy MySQL DB mysql_db: image: mysql:5.7 ports: - "3306:3306" environment: MYSQL_DATABASE: dev MYSQL_USER: dev MYSQL_PASSWORD: octosecret123 MYSQL_ROOT_PASSWORD: rootPassword volumes: - gm-mysql_db:/var/lib/mysql # PostgreSQL database db: build: context: ./_dockerfiles/db dockerfile: Dockerfile hostname: db env_file: - env ports: - "5436:5432" volumes: - gm-db:/var/lib/postgresql/data/ - ./local_files/dump_alex.sql:/dump_alex.sql # - ./local_files/docker-entrypoint.sh:/docker-entrypoint-initdb.d/docker-entrypoint.sh elasticsearch: image: elasticsearch:7.3.1 volumes: - gm-esdata:/usr/share/elasticsearch/data hostname: elasticsearch ports: - 9200:9200 - 9300:9300 environment: - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - discovery.type=single-node - xpack.security.enabled=false # Redis redis: image: redis:alpine # Celery worker: build: . command: ./run_celery.sh env_file: - env volumes: - .:/code links: - db - redis worker_beat: build: . command: ./run_celery_beat.sh env_file: - env volumes: - .:/code links: - db - redis # App: G&M gm_app: build: . command: python manage.py runserver 0.0.0.0:8000 env_file: - env depends_on: - mysql_db - db - redis - worker - worker_beat - elasticsearch volumes: - .:/code - gm-media:/media-data ports: - "8000:8000" volumes: gm-mysql_db: name: gm-mysql_db gm-db: name: gm-db gm-media: name: gm-media gm-esdata: