Refactor much needed docker setup

- Build static files inside seperate container
- Remove unnecessary env variables
This commit is contained in:
sonny 2020-05-02 20:21:22 +02:00
parent d61b3a9498
commit 7fc899937d
5 changed files with 59 additions and 37 deletions

View file

@ -1,52 +1,56 @@
version: '3'
volumes:
postgres-data:
static-files:
node-modules:
services:
db:
# See https://hub.docker.com/_/postgres
image: postgres
container_name: postgres
environment:
- POSTGRES_DB=$POSTGRES_NAME
- POSTGRES_USER=$POSTGRES_USER
- POSTGRES_PASSWORD=$POSTGRES_PASSWORD
POSTGRES_DB: "newsreader"
POSTGRES_USER: "newsreader"
POSTGRES_PASSWORD: "newsreader"
volumes:
- postgres-data:/var/lib/postgresql/data
rabbitmq:
image: rabbitmq:3.7
container_name: rabbitmq
celery:
build: .
container_name: celery
command: poetry run celery -A newsreader worker -l INFO --beat --scheduler django --workdir=/app/src/
environment:
- POSTGRES_HOST=$POSTGRES_HOST
- POSTGRES_NAME=$POSTGRES_NAME
- POSTGRES_USER=$POSTGRES_USER
- POSTGRES_PASSWORD=$POSTGRES_PASSWORD
- DJANGO_SETTINGS_MODULE=newsreader.conf.docker
volumes:
- .:/app
depends_on:
- rabbitmq
memcached:
image: memcached:1.5.22
container_name: memcached
ports:
- "11211:11211"
entrypoint:
- memcached
- -m 64
web:
build: .
container_name: web
celery:
build:
context: .
dockerfile: ./docker/django
command: celery worker --app newsreader --loglevel INFO --beat --scheduler django --workdir /app/src/
environment:
- DJANGO_SETTINGS_MODULE=newsreader.conf.docker
depends_on:
- rabbitmq
django:
build:
context: .
dockerfile: ./docker/django
command: src/entrypoint.sh
environment:
- POSTGRES_HOST=$POSTGRES_HOST
- POSTGRES_NAME=$POSTGRES_NAME
- POSTGRES_USER=$POSTGRES_USER
- POSTGRES_PASSWORD=$POSTGRES_PASSWORD
- DJANGO_SETTINGS_MODULE=newsreader.conf.docker
volumes:
- .:/app
ports:
- '8000:8000'
depends_on:
- db
volumes:
- .:/app
- static-files:/app/src/newsreader/static
webpack:
build:
context: .
dockerfile: ./docker/webpack
command: npm run build:watch
volumes:
- .:/app
- static-files:/app/src/newsreader/static
- node-modules:/app/node_modules