diff --git a/.vscode/settings.json b/.vscode/settings.json index 71950f9..e2ed885 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -48,6 +48,7 @@ "noopener", "noreferrer", "otherchannel", + "pgautoupgrade", "platformdirs", "prefetcher", "psutil", diff --git a/config/settings.py b/config/settings.py index 709434f..6bcd1e2 100644 --- a/config/settings.py +++ b/config/settings.py @@ -152,6 +152,7 @@ INSTALLED_APPS: list[str] = [ "django.contrib.contenttypes", "django.contrib.sessions", "django.contrib.staticfiles", + "django.contrib.postgres", "twitch.apps.TwitchConfig", ] diff --git a/docker-compose.yml b/docker-compose.yml index b1e30a7..4aebe6c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,21 +1,54 @@ services: ttvdrops_postgres: container_name: ttvdrops_postgres - image: postgres:17 + image: docker.io/pgautoupgrade/pgautoupgrade:latest + command: + - "-c" + - "max_connections=200" + - "-c" + - "shared_buffers=4GB" + - "-c" + - "effective_cache_size=12GB" + - "-c" + - "maintenance_work_mem=1GB" + - "-c" + - "checkpoint_completion_target=0.9" + - "-c" + - "wal_buffers=16MB" + - "-c" + - "default_statistics_target=100" + - "-c" + - "random_page_cost=1.1" + - "-c" + - "effective_io_concurrency=200" + - "-c" + - "work_mem=20MB" + - "-c" + - "huge_pages=off" + - "-c" + - "min_wal_size=1GB" + - "-c" + - "max_wal_size=4GB" + - "-c" + - "max_worker_processes=12" + - "-c" + - "max_parallel_workers_per_gather=4" + - "-c" + - "max_parallel_workers=12" + - "-c" + - "max_parallel_maintenance_workers=4" environment: - POSTGRES_DB=ttvdrops - POSTGRES_USER=ttvdrops - - POSTGRES_PASSWORD=changeme + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + ports: + - "5442:5432" volumes: - /mnt/Docker/Data/ttvdrops/postgres:/var/lib/postgresql + shm_size: '8gb' restart: unless-stopped networks: - internal - healthcheck: - test: ["CMD-SHELL", "pg_isready -U ttvdrops"] - interval: 10s - timeout: 5s - retries: 5 ttvdrops: container_name: ttvdrops @@ -25,22 +58,21 @@ services: user: 1000:1000 environment: - DEBUG=False - - DJANGO_SECRET_KEY= - - TWITCH_CLIENT_ID= - - TWITCH_CLIENT_SECRET= + - DJANGO_SECRET_KEY=$(DJANGO_SECRET_KEY) + - TWITCH_CLIENT_ID=$(TWITCH_CLIENT_ID) + - TWITCH_CLIENT_SECRET=$(TWITCH_CLIENT_SECRET) - EMAIL_HOST=smtp.gmail.com - EMAIL_PORT=587 - - EMAIL_HOST_USER= - - EMAIL_HOST_PASSWORD= + - EMAIL_HOST_USER=$(EMAIL_HOST_USER) + - EMAIL_HOST_PASSWORD=$(EMAIL_HOST_PASSWORD) - EMAIL_USE_TLS=True - EMAIL_USE_SSL=False - POSTGRES_DB=ttvdrops - POSTGRES_USER=ttvdrops - - POSTGRES_PASSWORD=changeme + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_HOST=ttvdrops_postgres - POSTGRES_PORT=5432 volumes: - # Data is stored in /root/.local/share/TTVDrops" inside the container - /mnt/Docker/Data/ttvdrops/data:/root/.local/share/TTVDrops restart: unless-stopped networks: @@ -48,7 +80,7 @@ services: - internal depends_on: ttvdrops_postgres: - condition: service_healthy + condition: service_started networks: web: