# Generated by container entrypoint at runtime # This file is rendered into /data/conf/seahub_settings.py import os DEBUG = False # Secret key is stored in a file under /data/conf SEAFILE_CONF_DIR = os.environ.get("SEAFILE_CONF_DIR", "/data/conf") SEAHUB_MEDIA_DIR = os.environ.get("SEAHUB_MEDIA_DIR", "/data/seahub-media") SECRET_KEY_FILE = os.path.join(SEAFILE_CONF_DIR, "seahub_secret_key.txt") with open(SECRET_KEY_FILE, "r") as f: SECRET_KEY = f.read().strip() # External URL and hostnames SEAFILE_SERVER_URL = os.environ.get("SEAFILE_SERVER_URL", "http://localhost") SEAFILE_SERVER_HOSTNAME = os.environ.get("SEAFILE_SERVER_HOSTNAME", "localhost") # Fileserver (Go) endpoint behind nginx at /seafhttp FILE_SERVER_ROOT = f"{SEAFILE_SERVER_URL.rstrip('/')}/seafhttp" SITE_BASE_URL = SEAFILE_SERVER_URL ALLOWED_HOSTS = [SEAFILE_SERVER_HOSTNAME, "127.0.0.1", "localhost"] # Database (Seahub Django DB) DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", "NAME": os.environ.get("DB_NAME_SEAHUB", "seahub_db"), "USER": os.environ.get("DB_USER", "seafile"), "PASSWORD": os.environ.get("DB_PASSWORD", ""), "HOST": "127.0.0.1", "PORT": "3306", "OPTIONS": {"charset": "utf8mb4"}, } } # Cache (Redis) CACHES = { "default": { "BACKEND": "django.core.cache.backends.redis.RedisCache", "LOCATION": os.environ.get("REDIS_URL", "redis://127.0.0.1:6379/0"), "TIMEOUT": 300, "OPTIONS": {}, } } # Timezone TIME_ZONE = os.environ.get("TIMEZONE", "UTC") # Media (avatars, uploads) MEDIA_ROOT = SEAHUB_MEDIA_DIR MEDIA_URL = "/media/" # Security/Proxy headers (nginx sits in front) SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https") # Optional email configuration can be provided via environment variables if desired # Example: # EMAIL_USE_TLS = True # EMAIL_HOST = os.environ.get("EMAIL_HOST", "") # EMAIL_HOST_USER = os.environ.get("EMAIL_HOST_USER", "") # EMAIL_HOST_PASSWORD = os.environ.get("EMAIL_HOST_PASSWORD", "") # EMAIL_PORT = int(os.environ.get("EMAIL_PORT", "587"))