""" Example `settings_local.py` derived from the production server file. This file is a template only — DO NOT commit real secrets. Copy it to `rad/deploy/settings_local.py` on your server (or provide your own) and ensure the real file is excluded from git. """ import os DEBUG = True INTERNAL_IPS = ["82.69.88.125", "217.155.198.96", "localhost", "127.0.0.1"] # When running in Docker (dev), requests will often come from an internal # container/network address. Add any discovered host/container IPs (and a # likely gateway address) to INTERNAL_IPS so the debug toolbar can render. if DEBUG: try: import socket hostname, _, ips = socket.gethostbyname_ex(socket.gethostname()) for ip in ips: if ip not in INTERNAL_IPS: INTERNAL_IPS.append(ip) # common docker gateway pattern: replace last octet with '1' parts = ip.split('.') if len(parts) == 4: parts[-1] = '1' gw = '.'.join(parts) if gw not in INTERNAL_IPS: INTERNAL_IPS.append(gw) except Exception: # best-effort only; don't fail startup if this lookup doesn't work pass # In local/dev enable the toolbar unconditionally to avoid IP/proxy # headaches while developing inside Docker/behind nginx. DEBUG_TOOLBAR_CONFIG = { "SHOW_TOOLBAR_CALLBACK": lambda request: True, } # Paths inside the nginx container / host-mounted deploy directories. # On the server, these paths are mounted into nginx as described in the # deployment README. Adjust as needed. STATIC_ROOT = '/usr/src/app/static/' EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" if not DEBUG: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s", 'datefmt': "%d/%b/%Y %H:%M:%S", }, 'simple': { 'format': '%(levelname)s %(message)s', }, }, 'handlers': { 'file': { 'level': 'DEBUG', 'class': 'logging.FileHandler', 'filename': 'log.txt', 'formatter': 'verbose', }, }, 'loggers': { 'django': { 'handlers': ['file'], 'propagate': True, 'level': 'DEBUG', }, 'atlas': { 'handlers': ['file'], 'level': 'DEBUG', }, } } # External service credentials (placeholders) CIMAR_USERNAME = "your.username@example.com" CIMAR_PASSWORD = "" # Celery settings — when running in docker the redis service is # reachable at the `redis` hostname provided by docker compose. CELERY_BROKER_URL = "redis://redis:6379" CELERY_RESULT_BACKEND = "redis://redis:6379" DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql_psycopg2", "NAME": os.environ.get("DB_NAME", "django"), "USER": os.environ.get("DB_USER", "django"), "PASSWORD": os.environ.get("DB_PASSWORD", "AVNS_NG_s4i7SMMobWLO"), #"HOST": os.environ.get("DB_HOST", "db-postgresql-lon1-05515-do-user-8165014-0.b.db.ondigitalocean.com"), "HOST": os.environ.get("DB_HOST", "db-postgresql-lon1-05515-jan-22-backup-do-user-8165014-0.c.db.ondigitalocean.com"), "PORT": os.environ.get("DB_PORT", "25060"), #"NAME": os.environ.get("DB_NAME", "django"), #"USER": os.environ.get("DB_USER", "django"), #"PASSWORD": os.environ.get("DB_PASSWORD", "f7bf31dc9bda1256ea827953480d1917"), #"HOST": os.environ.get("DB_HOST", "161.35.163.87"), #"PORT": os.environ.get("DB_PORT", "5432"), } } # Development overrides to avoid forcing HTTPS and secure cookies in local dev # (production should keep these True). SECURE_SSL_REDIRECT = False SESSION_COOKIE_SECURE = False CSRF_COOKIE_SECURE = False SECURE_HSTS_SECONDS = 0 # Allow requests from the local dev nginx/dev server and direct runserver # (include scheme+host+port for Django's origin checking). CSRF_TRUSTED_ORIGINS = [ "http://127.0.0.1:8000", "http://localhost:8000", ] REMOTE_URL = "http://127.0.0.1:8000"