From 0f82abf6f6482fd958569b9a6de6ab69cedcc950 Mon Sep 17 00:00:00 2001 From: andrewkassab Date: Tue, 17 Sep 2024 17:51:57 -0700 Subject: [PATCH] trying to test deployment docker compose file --- .env.sample | 5 +++++ app/app/settings.py | 10 +++++++-- docker-compose-deploy.yml | 43 +++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 1 + 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 .env.sample diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..6270df5 --- /dev/null +++ b/.env.sample @@ -0,0 +1,5 @@ +DB_NAME=dbname +DB_USER=rootuser +DB_PASS=changeme +DJANGO_SECRET_KEY=changeme +DJANGO_ALLOWED_HOSTS=127.0.0.1 diff --git a/app/app/settings.py b/app/app/settings.py index 898d571..e10732e 100644 --- a/app/app/settings.py +++ b/app/app/settings.py @@ -21,12 +21,18 @@ # See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = 'django-insecure-=31wv7=*=_g#x%p5o4^v-9a_h*qxw56n$q*!_ou^g(b3=$z3@!' +SECRET_KEY = os.environ.get('SECRET_KEY', 'changeme') # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True +DEBUG = bool(int(os.environ.get('DEBUG', 0))) ALLOWED_HOSTS = [] +ALLOWED_HOSTS.extend( + filter( + None, + os.environ.get('ALLOWED_HOSTS', '').split(',') + ) +) # Application definition diff --git a/docker-compose-deploy.yml b/docker-compose-deploy.yml index e69de29..099be9f 100644 --- a/docker-compose-deploy.yml +++ b/docker-compose-deploy.yml @@ -0,0 +1,43 @@ +version: "3.9" + +services: + app: + build: + context: . + restart: always + volumes: + - static-data:/vol/web + environment: + - DB_HOST=db + - DB_NAME=${DB_NAME} + - DB_USER=${DB_USER} + - DB_PASS=${DB_PASS} + - SECRET_KEY=${DJANGO_SECRET_KEY} + - ALLOWED_HOSTS=${DJANGO_ALLOWED_HOSTS} + depends_on: + - db + + db: + image: postgres:13-alpine + restart: always + volumes: + - postgres-data:/var/lib/postgresql/data + environment: + - POSTGRES_DB=${DB_NAME} + - POSTGRES_USER=${DB_USER} + - POSTGRES_PASSWORD=${DB_PASS} + + proxy: + build: + context: ./proxy + restart: always + depends_on: + - app + ports: + - 8000:8000 + volumes: + - static-data:/vol/static + +volumes: + postgres-data: + static-data: diff --git a/docker-compose.yml b/docker-compose.yml index 1e0f7be..dd80e64 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,6 +18,7 @@ services: - DB_NAME=devdb - DB_USER=devuser - DB_PASS=changeme + - DEBUG=1 depends_on: - db