diff --git a/.gitignore b/.gitignore index 9bb272d..2f88c01 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .venv/ files/* +postgres_data/* .vscode/ __pycache__/ poetry.lock diff --git a/back/back/settings.py b/back/back/settings.py index aba98b0..f478979 100644 --- a/back/back/settings.py +++ b/back/back/settings.py @@ -79,12 +79,12 @@ INSTALLED_APPS = [ "django.contrib.staticfiles", "corsheaders", "django_filters", - 'django_extensions', + "django_extensions", "rest_framework", "crispy_forms", "crispy_bootstrap4", "colorfield", - 'import_export', + "import_export", "frontImages", "object", ] @@ -126,14 +126,12 @@ WSGI_APPLICATION = "back.wsgi.application" DATABASES = { "default": { - "ENGINE": "django.db.backends.postgresql_psycopg2", # change engine to this - "NAME": "interactive_table", # db name you created above - "HOST": os.getenv("DB_HOST"), # usually localhost - "USER": os.getenv("DB_USER"), # db user you created above or postgres default - "PASSWORD": os.getenv( - "DB_PASSWORD" - ), # db password you created above or postgres - "PORT": os.getenv("DB_PORT"), # usually 5432 + "ENGINE": "django.db.backends.postgresql_psycopg2", + "NAME": os.getenv("POSTGRES_NAME"), + "HOST": os.getenv("POSTGRES_HOST"), + "USER": os.getenv("POSTGRES_USER"), + "PASSWORD": os.getenv("POSTGRES_PASSWORD"), + "PORT": os.getenv("POSTGRES_PORT"), } } @@ -179,7 +177,7 @@ STATIC_URL = "static/" REST_FRAMEWORK = { - 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'] + "DEFAULT_FILTER_BACKENDS": ["django_filters.rest_framework.DjangoFilterBackend"] } CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap4" diff --git a/docker-compose.yml b/docker-compose.yml index bc6d1a4..2a12f7e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,10 +1,32 @@ services: + db: + image: postgres:16 + restart: always + env_file: + - .env + environment: + PGDATA: /var/lib/postgresql/data/pgdata + POSTGRES_DB: inttable + ports: + - 5433:5432 + volumes: + - ./postgres_data:/var/lib/postgresql/data + networks: + - dev + healthcheck: + test: pg_isready -d $$POSTGRES_DB -U $$POSTGRES_USER + start_period: 5s + interval: 5s + timeout: 5s + retries: 10 + back: build: context: ./back dockerfile: Dockerfile - container_name: inttable-back restart: always + env_file: + - ./.env expose: - "8000" healthcheck: @@ -12,19 +34,16 @@ services: interval: 5s timeout: 3s retries: 10 - privileged: true volumes: - ./.env:/app/.env - ./files:/app/files networks: - # - network - dev front: build: context: ./front dockerfile: Dockerfile - container_name: inttable-front restart: always expose: - "4173" @@ -32,15 +51,13 @@ services: back: condition: service_healthy networks: - # - network - dev nginx: image: nginx:1.25 - container_name: inttable-nginx restart: always ports: - - "8098:80" + - "${WEB_PORT:-80}:80" depends_on: back: condition: service_healthy @@ -51,7 +68,6 @@ services: - ./nginx/nginx.conf:/etc/nginx/nginx.conf - ./nginx/conf.d:/etc/nginx/conf.d networks: - # - network - dev networks: