| 9 | |
| 10 | |
| 11 | class Settings(BaseSettings): |
| 12 | app_name: str = "/dev/push" |
| 13 | app_description: str = ( |
| 14 | "An open-source platform to build and deploy any app from GitHub." |
| 15 | ) |
| 16 | url_scheme: str = "https" |
| 17 | app_hostname: str = "" |
| 18 | deploy_domain: str = "" |
| 19 | github_app_id: str = "" |
| 20 | github_app_name: str = "" |
| 21 | github_app_private_key: str = "" |
| 22 | github_app_webhook_secret: str = "" |
| 23 | github_app_client_id: str = "" |
| 24 | github_app_client_secret: str = "" |
| 25 | google_client_id: str = "" |
| 26 | google_client_secret: str = "" |
| 27 | resend_api_key: str = "" |
| 28 | smtp_host: str = "" |
| 29 | smtp_port: int = 587 |
| 30 | smtp_username: str = "" |
| 31 | smtp_password: str = "" |
| 32 | email_logo: str = "" |
| 33 | email_sender_name: str = "/dev/push" |
| 34 | email_sender_address: str = "" |
| 35 | secret_key: str = "" |
| 36 | encryption_key: str = "" |
| 37 | postgres_db: str = "devpush" |
| 38 | postgres_user: str = "devpush-app" |
| 39 | postgres_password: str = "" |
| 40 | redis_url: str = "redis://redis:6379" |
| 41 | docker_host: str = "tcp://docker-proxy:2375" |
| 42 | data_dir: str = "/data" |
| 43 | host_data_dir: str | None = None |
| 44 | app_dir: str = "/app" |
| 45 | registry_catalog_url: str = "https://raw.githubusercontent.com/devpushhq/registry/main/catalog/v1/catalog.json" |
| 46 | upload_dir: str = "" |
| 47 | traefik_dir: str = "" |
| 48 | env_file: str = "" |
| 49 | version_file: str = "" |
| 50 | default_cpus: float | None = None |
| 51 | max_cpus: float | None = None |
| 52 | default_memory_mb: int | None = None |
| 53 | max_memory_mb: int | None = None |
| 54 | default_db_size_limit_bytes: int | None = 5 * 1024 * 1024 * 1024 |
| 55 | presets: list[dict] = [] |
| 56 | runners: list[dict] = [] |
| 57 | job_timeout_seconds: int = 320 |
| 58 | job_completion_wait_seconds: int = 300 |
| 59 | deployment_timeout_seconds: int = 300 |
| 60 | container_delete_grace_seconds: int = 15 |
| 61 | log_stream_grace_seconds: int = 5 |
| 62 | service_uid: int = 1000 |
| 63 | service_gid: int = 1000 |
| 64 | db_echo: bool = False |
| 65 | log_level: str = "WARNING" |
| 66 | env: str = "production" |
| 67 | access_denied_message: str = "Sign-in not allowed for this email." |
| 68 | access_denied_webhook: str = "" |