From 8b05136f60cac093faefeac90b38aef642da39a6 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Wed, 21 May 2025 14:07:40 +0300 Subject: [PATCH] glitchtip yml - error diagnostics --- .../GW/errors-glitchtip.yml | 130 ++++++++++++------ 1 file changed, 86 insertions(+), 44 deletions(-) diff --git a/portainer-compose-stacks/GW/errors-glitchtip.yml b/portainer-compose-stacks/GW/errors-glitchtip.yml index 5ca9bbf..ae64010 100644 --- a/portainer-compose-stacks/GW/errors-glitchtip.yml +++ b/portainer-compose-stacks/GW/errors-glitchtip.yml @@ -1,55 +1,97 @@ -version: '3' +version: '3.8' + +x-environment: &default-environment + # Required settings + DATABASE_URL: postgres://postgres:postgres_password@postgres:5432/postgres + SECRET_KEY: change_me_to_a_random_string_at_least_32_characters_long + PORT: 8000 # Internal port remains 8000 + GLITCHTIP_DOMAIN: https://errors.yourdomain.com + DEFAULT_FROM_EMAIL: errors@yourdomain.com + + # Email configuration (uncomment and configure one option) + EMAIL_URL: smtp://username:password@smtp.yourdomain.com:587 + # MAILGUN_API_KEY: your_mailgun_key + # EMAIL_BACKEND: anymail.backends.mailgun.EmailBackend + # SENDGRID_API_KEY: your_sendgrid_key + # EMAIL_BACKEND: anymail.backends.sendgrid.EmailBackend + + # Performance settings + UWSGI_WORKERS: 2 + CELERY_WORKER_CONCURRENCY: 2 + + # Data retention settings + GLITCHTIP_MAX_EVENT_LIFE_DAYS: 90 + GLITCHTIP_MAX_TRANSACTION_EVENT_LIFE_DAYS: 90 + GLITCHTIP_MAX_FILE_LIFE_DAYS: 180 + + # Security settings + ENABLE_USER_REGISTRATION: false + ENABLE_ORGANIZATION_CREATION: false + +x-depends_on: &default-depends_on + - postgres + - redis services: + postgres: + image: postgres:16 + environment: + POSTGRES_PASSWORD: postgres_password + POSTGRES_DB: postgres + POSTGRES_USER: postgres + restart: unless-stopped + volumes: + - pg-data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 10s + timeout: 5s + retries: 5 + + redis: + image: valkey/valkey:latest + restart: unless-stopped + volumes: + - redis-data:/data + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 5 + web: image: glitchtip/glitchtip:latest - restart: unless-stopped - depends_on: - - postgres - - redis + depends_on: *default-depends_on ports: - - "8800:8000" - environment: - - SECRET_KEY=your_random_secret_key_here - - DATABASE_URL=postgres://postgres:postgres@postgres:5432/postgres - - REDIS_URL=redis://redis:6379/0 - - GLITCHTIP_DOMAIN=https://glitchtip.yourdomain.com - - EMAIL_URL=smtp://email:password@smtp_url:port - - DEFAULT_FROM_EMAIL=info@yourdomain.com - # Optional settings - - GLITCHTIP_MAX_EVENT_LIFE_DAYS=90 - - UWSGI_WORKERS=2 - - CELERY_WORKER_CONCURRENCY=2 - # Uncomment if you've donated - # - I_PAID_FOR_GLITCHTIP=true - + - "8800:8000" # Changed external port to 8800 + environment: *default-environment + restart: unless-stopped + volumes: + - uploads:/code/uploads + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8000/health/"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 30s + worker: image: glitchtip/glitchtip:latest - restart: unless-stopped - depends_on: - - postgres - - redis - environment: - - SECRET_KEY=your_random_secret_key_here - - DATABASE_URL=postgres://postgres:postgres@postgres:5432/postgres - - REDIS_URL=redis://redis:6379/0 - - C_FORCE_ROOT=true - command: celery -A glitchtip worker -l INFO - - postgres: - image: postgres:13 - restart: unless-stopped - environment: - - POSTGRES_PASSWORD=postgres - volumes: - - postgres_data:/var/lib/postgresql/data - - redis: - image: redis:6 + command: ./bin/run-celery-with-beat.sh + depends_on: *default-depends_on + environment: *default-environment restart: unless-stopped volumes: - - redis_data:/data + - uploads:/code/uploads + + migrate: + image: glitchtip/glitchtip:latest + depends_on: *default-depends_on + command: ./bin/run-migrate.sh + environment: *default-environment + restart: "no" volumes: - postgres_data: - redis_data: \ No newline at end of file + pg-data: + redis-data: + uploads: \ No newline at end of file