version: '3.5' services: # Legacy MySQL DB mysql_db: image: mysql:5.7 ports: - "3316: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 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=postgres ports: - "5436:5432" volumes: - gm-db:/var/lib/postgresql/data/ 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 environment: - SETTINGS_CONFIGURATION=local - DB_NAME=postgres - DB_USERNAME=postgres - DB_HOSTNAME=db - DB_PORT=5432 - DB_PASSWORD=postgres volumes: - .:/code links: - db - redis worker_beat: build: . command: ./run_celery_beat.sh environment: - SETTINGS_CONFIGURATION=local - DB_NAME=postgres - DB_USERNAME=postgres - DB_HOSTNAME=db - DB_PORT=5432 - DB_PASSWORD=postgres volumes: - .:/code links: - db - redis # App: G&M gm_app: build: . command: python manage.py runserver 0.0.0.0:8000 environment: - SETTINGS_CONFIGURATION=local - DB_HOSTNAME=db - DB_PORT=5432 - DB_NAME=postgres - DB_USERNAME=postgres - DB_PASSWORD=postgres 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: