From efe26cc1736ee9c2a8a0133f4320870ed8a558c3 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 30 Mar 2025 00:55:40 -0600 Subject: [PATCH] refactor: remove deprecated YAML template files - Deleted all 'template.yml' files from various blueprints as part of the transition to TOML format. - Updated the script to delete the 'template.yml' files instead of converting them to 'template.toml'. --- app/script.js | 7 +- blueprints/activepieces/template.yml | 21 - blueprints/actualbudget/template.yml | 12 - blueprints/alist/template.yml | 12 - blueprints/answer/template.yml | 15 - blueprints/appsmith/template.yml | 12 - blueprints/appwrite/template.yml | 139 ---- blueprints/aptabase/template.yml | 15 - blueprints/baserow/template.yml | 13 - blueprints/blender/template.yml | 18 - blueprints/browserless/template.yml | 15 - blueprints/budibase/template.yml | 29 - blueprints/calcom/template.yml | 17 - blueprints/chatwoot/template.yml | 30 - blueprints/checkmate/template.yml | 13 - blueprints/cloudflared/template.yml | 9 - blueprints/coder/template.yml | 18 - blueprints/conduit/template.yml | 13 - blueprints/conduwuit/template.yml | 15 - blueprints/convex/template.yml | 23 - blueprints/couchdb/template.yml | 16 - blueprints/datalens/template.yml | 13 - blueprints/directus/template.yml | 16 - blueprints/discord-tickets/template.yml | 27 - blueprints/discourse/template.yml | 22 - blueprints/docmost/template.yml | 19 - blueprints/documenso/template.yml | 20 - blueprints/doublezero/template.yml | 21 - blueprints/drawio/template.yml | 15 - blueprints/elastic-search/template.yml | 16 - blueprints/erpnext/template.yml | 27 - blueprints/evolutionapi/template.yml | 40 -- blueprints/excalidraw/template.yml | 12 - blueprints/filebrowser/template.yml | 13 - blueprints/formbricks/template.yml | 20 - blueprints/frappe-hr/template.yml | 27 - blueprints/ghost/template.yml | 13 - blueprints/gitea/template.yml | 14 - blueprints/glance/template.yml | 93 --- blueprints/glitchtip/template.yml | 16 - blueprints/glpi/template.yml | 12 - blueprints/gotenberg/template.yml | 16 - blueprints/grafana/template.yml | 12 - blueprints/heyform/template.yml | 17 - blueprints/hi-events/template.yml | 27 - blueprints/hoarder/template.yml | 18 - blueprints/homarr/template.yml | 14 - blueprints/huly/template.yml | 104 --- blueprints/immich/template.yml | 26 - blueprints/infisical/template.yml | 58 -- blueprints/influxdb/template.yml | 12 - blueprints/invoiceshelf/template.yml | 19 - blueprints/it-tools/template.yml | 12 - blueprints/jellyfin/template.yml | 13 - blueprints/kimai/template.yml | 22 - blueprints/langflow/template.yml | 16 - blueprints/linkwarden/template.yml | 17 - blueprints/listmonk/template.yml | 32 - blueprints/lobe-chat/template.yml | 12 - blueprints/logto/template.yml | 20 - blueprints/macos/template.yml | 21 - blueprints/mailpit/template.yml | 15 - blueprints/maybe/template.yml | 22 - blueprints/meilisearch/template.yml | 15 - blueprints/metabase/template.yml | 12 - blueprints/minio/template.yml | 16 - blueprints/n8n/template.yml | 15 - blueprints/nextcloud-aio/template.yml | 17 - blueprints/nocodb/template.yml | 15 - blueprints/odoo/template.yml | 12 - blueprints/onedev/template.yml | 12 - blueprints/ontime/template.yml | 13 - blueprints/open-webui/template.yml | 14 - blueprints/otterwiki/template.yml | 12 - blueprints/outline/template.yml | 64 -- blueprints/penpot/template.yml | 13 - blueprints/peppermint/template.yml | 22 - blueprints/photoprism/template.yml | 15 - blueprints/phpmyadmin/template.yml | 18 - blueprints/plausible/template.yml | 46 -- blueprints/pocket-id/template.yml | 15 - blueprints/pocketbase/template.yml | 12 - blueprints/portainer/template.yml | 12 - blueprints/postiz/template.yml | 21 - blueprints/registry/template.yml | 18 - blueprints/rocketchat/template.yml | 14 - blueprints/roundcube/template.yml | 14 - blueprints/ryot/template.yml | 18 - blueprints/shlink/template.yml | 18 - blueprints/slash/template.yml | 18 - blueprints/soketi/template.yml | 16 - blueprints/spacedrive/template.yml | 15 - blueprints/stirling/template.yml | 12 - blueprints/supabase/template.yml | 896 ------------------------ blueprints/superset/template.yml | 54 -- blueprints/teable/template.yml | 36 - blueprints/tolgee/template.yml | 26 - blueprints/triggerdotdev/template.yml | 75 -- blueprints/trilium/template.yml | 12 - blueprints/twenty/template.yml | 21 - blueprints/typebot/template.yml | 27 - blueprints/umami/template.yml | 13 - blueprints/unifi/template.yml | 22 - blueprints/unsend/template.yml | 28 - blueprints/uptime-kuma/template.yml | 12 - blueprints/vaultwarden/template.yml | 16 - blueprints/wikijs/template.yml | 23 - blueprints/windmill/template.yml | 23 - blueprints/windows/template.yml | 27 - blueprints/wordpress/template.yml | 12 - blueprints/yourls/template.yml | 20 - blueprints/zipline/template.yml | 17 - 112 files changed, 2 insertions(+), 3335 deletions(-) delete mode 100644 blueprints/activepieces/template.yml delete mode 100644 blueprints/actualbudget/template.yml delete mode 100644 blueprints/alist/template.yml delete mode 100644 blueprints/answer/template.yml delete mode 100644 blueprints/appsmith/template.yml delete mode 100644 blueprints/appwrite/template.yml delete mode 100644 blueprints/aptabase/template.yml delete mode 100644 blueprints/baserow/template.yml delete mode 100644 blueprints/blender/template.yml delete mode 100644 blueprints/browserless/template.yml delete mode 100644 blueprints/budibase/template.yml delete mode 100644 blueprints/calcom/template.yml delete mode 100644 blueprints/chatwoot/template.yml delete mode 100644 blueprints/checkmate/template.yml delete mode 100644 blueprints/cloudflared/template.yml delete mode 100644 blueprints/coder/template.yml delete mode 100644 blueprints/conduit/template.yml delete mode 100644 blueprints/conduwuit/template.yml delete mode 100644 blueprints/convex/template.yml delete mode 100644 blueprints/couchdb/template.yml delete mode 100644 blueprints/datalens/template.yml delete mode 100644 blueprints/directus/template.yml delete mode 100644 blueprints/discord-tickets/template.yml delete mode 100644 blueprints/discourse/template.yml delete mode 100644 blueprints/docmost/template.yml delete mode 100644 blueprints/documenso/template.yml delete mode 100644 blueprints/doublezero/template.yml delete mode 100644 blueprints/drawio/template.yml delete mode 100644 blueprints/elastic-search/template.yml delete mode 100644 blueprints/erpnext/template.yml delete mode 100644 blueprints/evolutionapi/template.yml delete mode 100644 blueprints/excalidraw/template.yml delete mode 100644 blueprints/filebrowser/template.yml delete mode 100644 blueprints/formbricks/template.yml delete mode 100644 blueprints/frappe-hr/template.yml delete mode 100644 blueprints/ghost/template.yml delete mode 100644 blueprints/gitea/template.yml delete mode 100644 blueprints/glance/template.yml delete mode 100644 blueprints/glitchtip/template.yml delete mode 100644 blueprints/glpi/template.yml delete mode 100644 blueprints/gotenberg/template.yml delete mode 100644 blueprints/grafana/template.yml delete mode 100644 blueprints/heyform/template.yml delete mode 100644 blueprints/hi-events/template.yml delete mode 100644 blueprints/hoarder/template.yml delete mode 100644 blueprints/homarr/template.yml delete mode 100644 blueprints/huly/template.yml delete mode 100644 blueprints/immich/template.yml delete mode 100644 blueprints/infisical/template.yml delete mode 100644 blueprints/influxdb/template.yml delete mode 100644 blueprints/invoiceshelf/template.yml delete mode 100644 blueprints/it-tools/template.yml delete mode 100644 blueprints/jellyfin/template.yml delete mode 100644 blueprints/kimai/template.yml delete mode 100644 blueprints/langflow/template.yml delete mode 100644 blueprints/linkwarden/template.yml delete mode 100644 blueprints/listmonk/template.yml delete mode 100644 blueprints/lobe-chat/template.yml delete mode 100644 blueprints/logto/template.yml delete mode 100644 blueprints/macos/template.yml delete mode 100644 blueprints/mailpit/template.yml delete mode 100644 blueprints/maybe/template.yml delete mode 100644 blueprints/meilisearch/template.yml delete mode 100644 blueprints/metabase/template.yml delete mode 100644 blueprints/minio/template.yml delete mode 100644 blueprints/n8n/template.yml delete mode 100644 blueprints/nextcloud-aio/template.yml delete mode 100644 blueprints/nocodb/template.yml delete mode 100644 blueprints/odoo/template.yml delete mode 100644 blueprints/onedev/template.yml delete mode 100644 blueprints/ontime/template.yml delete mode 100644 blueprints/open-webui/template.yml delete mode 100644 blueprints/otterwiki/template.yml delete mode 100644 blueprints/outline/template.yml delete mode 100644 blueprints/penpot/template.yml delete mode 100644 blueprints/peppermint/template.yml delete mode 100644 blueprints/photoprism/template.yml delete mode 100644 blueprints/phpmyadmin/template.yml delete mode 100644 blueprints/plausible/template.yml delete mode 100644 blueprints/pocket-id/template.yml delete mode 100644 blueprints/pocketbase/template.yml delete mode 100644 blueprints/portainer/template.yml delete mode 100644 blueprints/postiz/template.yml delete mode 100644 blueprints/registry/template.yml delete mode 100644 blueprints/rocketchat/template.yml delete mode 100644 blueprints/roundcube/template.yml delete mode 100644 blueprints/ryot/template.yml delete mode 100644 blueprints/shlink/template.yml delete mode 100644 blueprints/slash/template.yml delete mode 100644 blueprints/soketi/template.yml delete mode 100644 blueprints/spacedrive/template.yml delete mode 100644 blueprints/stirling/template.yml delete mode 100644 blueprints/supabase/template.yml delete mode 100644 blueprints/superset/template.yml delete mode 100644 blueprints/teable/template.yml delete mode 100644 blueprints/tolgee/template.yml delete mode 100644 blueprints/triggerdotdev/template.yml delete mode 100644 blueprints/trilium/template.yml delete mode 100644 blueprints/twenty/template.yml delete mode 100644 blueprints/typebot/template.yml delete mode 100644 blueprints/umami/template.yml delete mode 100644 blueprints/unifi/template.yml delete mode 100644 blueprints/unsend/template.yml delete mode 100644 blueprints/uptime-kuma/template.yml delete mode 100644 blueprints/vaultwarden/template.yml delete mode 100644 blueprints/wikijs/template.yml delete mode 100644 blueprints/windmill/template.yml delete mode 100644 blueprints/windows/template.yml delete mode 100644 blueprints/wordpress/template.yml delete mode 100644 blueprints/yourls/template.yml delete mode 100644 blueprints/zipline/template.yml diff --git a/app/script.js b/app/script.js index fd640008..c60af3be 100644 --- a/app/script.js +++ b/app/script.js @@ -22,11 +22,8 @@ function processDirectory(dirPath) { if (stat.isDirectory()) { processDirectory(filePath); } else if (file === "template.yml") { - console.log(`Converting ${filePath}`); - const yamlContent = fs.readFileSync(filePath, "utf8"); - const tomlContent = convertYamlToToml(yamlContent); - const tomlPath = path.join(dirPath, "template.toml"); - fs.writeFileSync(tomlPath, tomlContent); + console.log(`Deleting ${filePath}`); + fs.unlinkSync(filePath); } }); } diff --git a/blueprints/activepieces/template.yml b/blueprints/activepieces/template.yml deleted file mode 100644 index c30eeafb..00000000 --- a/blueprints/activepieces/template.yml +++ /dev/null @@ -1,21 +0,0 @@ -variables: - main_domain: ${domain} - api_key: ${password:32} - encryption_key: ${password:32} - jwt_secret: ${password:32} - postgres_password: ${password:32} - -config: - domains: - - serviceName: activepieces - port: 80 - host: ${main_domain} - - env: - - AP_HOST=${main_domain} - - AP_API_KEY=${api_key} - - AP_ENCRYPTION_KEY=${encryption_key} - - AP_JWT_SECRET=${jwt_secret} - - AP_POSTGRES_PASSWORD=${postgres_password} - - mounts: [] \ No newline at end of file diff --git a/blueprints/actualbudget/template.yml b/blueprints/actualbudget/template.yml deleted file mode 100644 index 2df55777..00000000 --- a/blueprints/actualbudget/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: actualbudget - port: 5006 - host: ${main_domain} - - env: [] - - mounts: [] \ No newline at end of file diff --git a/blueprints/alist/template.yml b/blueprints/alist/template.yml deleted file mode 100644 index 56102d2a..00000000 --- a/blueprints/alist/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: alist - port: 5244 - host: ${main_domain} - - env: [] - - mounts: [] \ No newline at end of file diff --git a/blueprints/answer/template.yml b/blueprints/answer/template.yml deleted file mode 100644 index a7c749d9..00000000 --- a/blueprints/answer/template.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - main_domain: ${domain} - service_hash: ${hash:32} - -config: - domains: - - serviceName: answer - port: 9080 - host: ${main_domain} - - env: - - ANSWER_HOST=http://${main_domain} - - SERVICE_HASH=${service_hash} - - mounts: [] \ No newline at end of file diff --git a/blueprints/appsmith/template.yml b/blueprints/appsmith/template.yml deleted file mode 100644 index 706df33b..00000000 --- a/blueprints/appsmith/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: appsmith - port: 80 - host: ${main_domain} - - env: [] - - mounts: [] \ No newline at end of file diff --git a/blueprints/appwrite/template.yml b/blueprints/appwrite/template.yml deleted file mode 100644 index c86eb8a8..00000000 --- a/blueprints/appwrite/template.yml +++ /dev/null @@ -1,139 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: appwrite - port: 80 - host: ${main_domain} - path: / - - serviceName: appwrite-console - port: 80 - host: ${main_domain} - path: /console - - serviceName: appwrite-realtime - port: 80 - host: ${main_domain} - path: /v1/realtime - - env: - - _APP_ENV=production - - _APP_LOCALE=en - - _APP_OPTIONS_ABUSE=enabled - - _APP_OPTIONS_FORCE_HTTPS=disabled - - _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=disabled - - _APP_OPTIONS_ROUTER_PROTECTION=disabled - - _APP_OPENSSL_KEY_V1=your-secret-key - - _APP_DOMAIN=${main_domain} - - _APP_DOMAIN_FUNCTIONS=${main_domain} - - _APP_DOMAIN_TARGET=${main_domain} - - _APP_CONSOLE_WHITELIST_ROOT=enabled - - _APP_CONSOLE_WHITELIST_EMAILS= - - _APP_CONSOLE_WHITELIST_IPS= - - _APP_CONSOLE_HOSTNAMES= - - _APP_SYSTEM_EMAIL_NAME=Appwrite - - _APP_SYSTEM_EMAIL_ADDRESS=noreply@appwrite.io - - _APP_SYSTEM_TEAM_EMAIL=team@appwrite.io - - _APP_SYSTEM_RESPONSE_FORMAT= - - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=certs@appwrite.io - - _APP_EMAIL_SECURITY= - - _APP_EMAIL_CERTIFICATES= - - _APP_USAGE_STATS=enabled - - _APP_LOGGING_PROVIDER= - - _APP_LOGGING_CONFIG= - - _APP_USAGE_AGGREGATION_INTERVAL=30 - - _APP_USAGE_TIMESERIES_INTERVAL=30 - - _APP_USAGE_DATABASE_INTERVAL=900 - - _APP_WORKER_PER_CORE=6 - - _APP_CONSOLE_SESSION_ALERTS=disabled - - _APP_REDIS_HOST=redis - - _APP_REDIS_PORT=6379 - - _APP_REDIS_USER= - - _APP_REDIS_PASS= - - _APP_DB_HOST=mariadb - - _APP_DB_PORT=3306 - - _APP_DB_SCHEMA=appwrite - - _APP_DB_USER=user - - _APP_DB_PASS=password - - _APP_DB_ROOT_PASS=rootsecretpassword - - _APP_INFLUXDB_HOST=influxdb - - _APP_INFLUXDB_PORT=8086 - - _APP_STATSD_HOST=telegraf - - _APP_STATSD_PORT=8125 - - _APP_SMTP_HOST= - - _APP_SMTP_PORT= - - _APP_SMTP_SECURE= - - _APP_SMTP_USERNAME= - - _APP_SMTP_PASSWORD= - - _APP_SMS_PROVIDER= - - _APP_SMS_FROM= - - _APP_STORAGE_LIMIT=30000000 - - _APP_STORAGE_PREVIEW_LIMIT=20000000 - - _APP_STORAGE_ANTIVIRUS=disabled - - _APP_STORAGE_ANTIVIRUS_HOST=clamav - - _APP_STORAGE_ANTIVIRUS_PORT=3310 - - _APP_STORAGE_DEVICE=local - - _APP_STORAGE_S3_ACCESS_KEY= - - _APP_STORAGE_S3_SECRET= - - _APP_STORAGE_S3_REGION=us-east-1 - - _APP_STORAGE_S3_BUCKET= - - _APP_STORAGE_DO_SPACES_ACCESS_KEY= - - _APP_STORAGE_DO_SPACES_SECRET= - - _APP_STORAGE_DO_SPACES_REGION=us-east-1 - - _APP_STORAGE_DO_SPACES_BUCKET= - - _APP_STORAGE_BACKBLAZE_ACCESS_KEY= - - _APP_STORAGE_BACKBLAZE_SECRET= - - _APP_STORAGE_BACKBLAZE_REGION=us-west-004 - - _APP_STORAGE_BACKBLAZE_BUCKET= - - _APP_STORAGE_LINODE_ACCESS_KEY= - - _APP_STORAGE_LINODE_SECRET= - - _APP_STORAGE_LINODE_REGION=eu-central-1 - - _APP_STORAGE_LINODE_BUCKET= - - _APP_STORAGE_WASABI_ACCESS_KEY= - - _APP_STORAGE_WASABI_SECRET= - - _APP_STORAGE_WASABI_REGION=eu-central-1 - - _APP_STORAGE_WASABI_BUCKET= - - _APP_FUNCTIONS_SIZE_LIMIT=30000000 - - _APP_FUNCTIONS_BUILD_SIZE_LIMIT=2000000000 - - _APP_FUNCTIONS_TIMEOUT=900 - - _APP_FUNCTIONS_BUILD_TIMEOUT=900 - - _APP_FUNCTIONS_CONTAINERS=10 - - _APP_FUNCTIONS_CPUS=0 - - _APP_FUNCTIONS_MEMORY=0 - - _APP_FUNCTIONS_MEMORY_SWAP=0 - - _APP_FUNCTIONS_RUNTIMES=node-16.0,php-8.0,python-3.9,ruby-3.0 - - _APP_EXECUTOR_SECRET=your-secret-key - - _APP_EXECUTOR_HOST=http://exc1/v1 - - _APP_EXECUTOR_RUNTIME_NETWORK=appwrite_runtimes - - _APP_FUNCTIONS_ENVS=node-16.0,php-7.4,python-3.9,ruby-3.0 - - _APP_FUNCTIONS_INACTIVE_THRESHOLD=60 - - DOCKERHUB_PULL_USERNAME= - - DOCKERHUB_PULL_PASSWORD= - - DOCKERHUB_PULL_EMAIL= - - OPEN_RUNTIMES_NETWORK=appwrite_runtimes - - _APP_FUNCTIONS_RUNTIMES_NETWORK=runtimes - - _APP_DOCKER_HUB_USERNAME= - - _APP_DOCKER_HUB_PASSWORD= - - _APP_FUNCTIONS_MAINTENANCE_INTERVAL=3600 - - _APP_VCS_GITHUB_APP_NAME= - - _APP_VCS_GITHUB_PRIVATE_KEY= - - _APP_VCS_GITHUB_APP_ID= - - _APP_VCS_GITHUB_CLIENT_ID= - - _APP_VCS_GITHUB_CLIENT_SECRET= - - _APP_VCS_GITHUB_WEBHOOK_SECRET= - - _APP_MAINTENANCE_INTERVAL=86400 - - _APP_MAINTENANCE_DELAY=0 - - _APP_MAINTENANCE_RETENTION_CACHE=2592000 - - _APP_MAINTENANCE_RETENTION_EXECUTION=1209600 - - _APP_MAINTENANCE_RETENTION_AUDIT=1209600 - - _APP_MAINTENANCE_RETENTION_ABUSE=86400 - - _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=8640000 - - _APP_MAINTENANCE_RETENTION_SCHEDULES=86400 - - _APP_GRAPHQL_MAX_BATCH_SIZE=10 - - _APP_GRAPHQL_MAX_COMPLEXITY=250 - - _APP_GRAPHQL_MAX_DEPTH=3 - - _APP_MIGRATIONS_FIREBASE_CLIENT_ID= - - _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET= - - _APP_ASSISTANT_OPENAI_API_KEY= - - mounts: [] \ No newline at end of file diff --git a/blueprints/aptabase/template.yml b/blueprints/aptabase/template.yml deleted file mode 100644 index 14717467..00000000 --- a/blueprints/aptabase/template.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - main_domain: ${domain} - auth_secret: ${base64:32} - -config: - domains: - - serviceName: aptabase - port: 8080 - host: ${main_domain} - - env: - - APTABASE_HOST=${main_domain} - - AUTH_SECRET=${auth_secret} - - mounts: [] \ No newline at end of file diff --git a/blueprints/baserow/template.yml b/blueprints/baserow/template.yml deleted file mode 100644 index 0aa12404..00000000 --- a/blueprints/baserow/template.yml +++ /dev/null @@ -1,13 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: baserow - port: 80 - host: ${main_domain} - - env: - - BASEROW_HOST=${main_domain} - - mounts: [] \ No newline at end of file diff --git a/blueprints/blender/template.yml b/blueprints/blender/template.yml deleted file mode 100644 index b4703f91..00000000 --- a/blueprints/blender/template.yml +++ /dev/null @@ -1,18 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: blender - port: 3000 - host: ${main_domain} - - env: - - PUID=1000 - - PGID=1000 - - TZ=Etc/UTC - - SUBFOLDER=/ - - NVIDIA_VISIBLE_DEVICES=all - - NVIDIA_DRIVER_CAPABILITIES=all - - mounts: [] \ No newline at end of file diff --git a/blueprints/browserless/template.yml b/blueprints/browserless/template.yml deleted file mode 100644 index a2999ffc..00000000 --- a/blueprints/browserless/template.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - main_domain: ${domain} - browserless_token: ${password:16} - -config: - domains: - - serviceName: browserless - port: 3000 - host: ${main_domain} - - env: - - BROWERLESS_HOST=${main_domain} - - BROWSERLESS_TOKEN=${browserless_token} - - mounts: [] \ No newline at end of file diff --git a/blueprints/budibase/template.yml b/blueprints/budibase/template.yml deleted file mode 100644 index 29641fd4..00000000 --- a/blueprints/budibase/template.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: - main_domain: ${domain} - api_key: ${password:32} - encryption_key: ${password:32} - jwt_secret: ${password:32} - couchdb_password: ${password:32} - redis_password: ${password:32} - minio_access_key: ${password:32} - minio_secret_key: ${password:32} - watchtower_password: ${password:32} - -config: - domains: - - serviceName: proxy - port: 10000 - host: ${main_domain} - - env: - - BB_HOST=${main_domain} - - BB_INTERNAL_API_KEY=${api_key} - - BB_API_ENCRYPTION_KEY=${encryption_key} - - BB_JWT_SECRET=${jwt_secret} - - BB_COUCHDB_PASSWORD=${couchdb_password} - - BB_REDIS_PASSWORD=${redis_password} - - BB_WATCHTOWER_PASSWORD=${watchtower_password} - - BB_MINIO_ACCESS_KEY=${minio_access_key} - - BB_MINIO_SECRET_KEY=${minio_secret_key} - - mounts: [] \ No newline at end of file diff --git a/blueprints/calcom/template.yml b/blueprints/calcom/template.yml deleted file mode 100644 index 5ea19afb..00000000 --- a/blueprints/calcom/template.yml +++ /dev/null @@ -1,17 +0,0 @@ -variables: - main_domain: ${domain} - calcom_encryption_key: ${base64:32} - nextauth_secret: ${base64:32} - -config: - domains: - - serviceName: calcom - port: 3000 - host: ${main_domain} - - env: - - CALCOM_HOST=${main_domain} - - NEXTAUTH_SECRET=${nextauth_secret} - - CALENDSO_ENCRYPTION_KEY=${calcom_encryption_key} - - mounts: [] \ No newline at end of file diff --git a/blueprints/chatwoot/template.yml b/blueprints/chatwoot/template.yml deleted file mode 100644 index ac706235..00000000 --- a/blueprints/chatwoot/template.yml +++ /dev/null @@ -1,30 +0,0 @@ -variables: - main_domain: ${domain} - secret_key_base: ${base64:64} - postgres_password: ${password} - -config: - domains: - - serviceName: chatwoot-rails - port: 3000 - host: ${main_domain} - - env: - - FRONTEND_URL=http://${main_domain} - - SECRET_KEY_BASE=${secret_key_base} - - RAILS_ENV=production - - NODE_ENV=production - - INSTALLATION_ENV=docker - - RAILS_LOG_TO_STDOUT=true - - LOG_LEVEL=info - - DEFAULT_LOCALE=en - - POSTGRES_HOST=chatwoot-postgres - - POSTGRES_PORT=5432 - - POSTGRES_DATABASE=chatwoot - - POSTGRES_USERNAME=postgres - - POSTGRES_PASSWORD=${postgres_password} - - REDIS_URL=redis://chatwoot-redis:6379 - - ENABLE_ACCOUNT_SIGNUP=false - - ACTIVE_STORAGE_SERVICE=local - - mounts: [] \ No newline at end of file diff --git a/blueprints/checkmate/template.yml b/blueprints/checkmate/template.yml deleted file mode 100644 index fb9b7204..00000000 --- a/blueprints/checkmate/template.yml +++ /dev/null @@ -1,13 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: client - port: 80 - host: ${main_domain} - - env: - - DOMAIN=${main_domain} - - mounts: [] \ No newline at end of file diff --git a/blueprints/cloudflared/template.yml b/blueprints/cloudflared/template.yml deleted file mode 100644 index 277fe8d1..00000000 --- a/blueprints/cloudflared/template.yml +++ /dev/null @@ -1,9 +0,0 @@ -variables: {} - -config: - domains: [] - - env: - - CLOUDFLARE_TUNNEL_TOKEN="" - - mounts: [] \ No newline at end of file diff --git a/blueprints/coder/template.yml b/blueprints/coder/template.yml deleted file mode 100644 index cd230cae..00000000 --- a/blueprints/coder/template.yml +++ /dev/null @@ -1,18 +0,0 @@ -variables: - main_domain: ${domain} - postgres_password: ${password} - -config: - domains: - - serviceName: coder - port: 7080 - host: ${main_domain} - - env: - - CODER_ACCESS_URL= - - CODER_HTTP_ADDRESS=0.0.0.0:7080 - - POSTGRES_DB=coder - - POSTGRES_USER=coder - - POSTGRES_PASSWORD=${postgres_password} - - mounts: [] \ No newline at end of file diff --git a/blueprints/conduit/template.yml b/blueprints/conduit/template.yml deleted file mode 100644 index c279a0e0..00000000 --- a/blueprints/conduit/template.yml +++ /dev/null @@ -1,13 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: homeserver - port: 6167 - host: ${main_domain} - - env: - - MATRIX_SUBDOMAIN=${main_domain} - - mounts: [] \ No newline at end of file diff --git a/blueprints/conduwuit/template.yml b/blueprints/conduwuit/template.yml deleted file mode 100644 index 96295e8c..00000000 --- a/blueprints/conduwuit/template.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - main_domain: ${domain} - registration_token: ${password:20} - -config: - domains: - - serviceName: homeserver - port: 6167 - host: ${main_domain} - - env: - - CONDUWUIT_SERVER_NAME=${main_domain} - - CONDUWUIT_REGISTRATION_TOKEN=${registration_token} - - mounts: [] \ No newline at end of file diff --git a/blueprints/convex/template.yml b/blueprints/convex/template.yml deleted file mode 100644 index 4f39ce5f..00000000 --- a/blueprints/convex/template.yml +++ /dev/null @@ -1,23 +0,0 @@ -variables: - dashboard_domain: ${domain} - backend_domain: ${domain} - actions_domain: ${domain} - -config: - domains: - - serviceName: dashboard - port: 6791 - host: ${dashboard_domain} - - serviceName: backend - port: 3210 - host: ${backend_domain} - - serviceName: backend - port: 3211 - host: ${actions_domain} - - env: - - NEXT_PUBLIC_DEPLOYMENT_URL=http://${backend_domain} - - CONVEX_CLOUD_ORIGIN=http://${backend_domain} - - CONVEX_SITE_ORIGIN=http://${actions_domain} - - mounts: [] \ No newline at end of file diff --git a/blueprints/couchdb/template.yml b/blueprints/couchdb/template.yml deleted file mode 100644 index 1e90152f..00000000 --- a/blueprints/couchdb/template.yml +++ /dev/null @@ -1,16 +0,0 @@ -variables: - main_domain: ${domain} - username: ${password:16} - password: ${password:32} - -config: - domains: - - serviceName: couchdb - port: 5984 - host: ${main_domain} - - env: - - COUCHDB_USER=${username} - - COUCHDB_PASSWORD=${password} - - mounts: [] \ No newline at end of file diff --git a/blueprints/datalens/template.yml b/blueprints/datalens/template.yml deleted file mode 100644 index d2d7a8c0..00000000 --- a/blueprints/datalens/template.yml +++ /dev/null @@ -1,13 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: datalens - port: 8080 - host: ${main_domain} - - env: - - HC=1 - - mounts: [] \ No newline at end of file diff --git a/blueprints/directus/template.yml b/blueprints/directus/template.yml deleted file mode 100644 index 93899ec3..00000000 --- a/blueprints/directus/template.yml +++ /dev/null @@ -1,16 +0,0 @@ -variables: - main_domain: ${domain} - directus_secret: ${base64:64} - database_password: ${password} - -config: - domains: - - serviceName: directus - port: 8055 - host: ${main_domain} - - env: - - DATABASE_PASSWORD=${database_password} - - DIRECTUS_SECRET=${directus_secret} - - mounts: [] \ No newline at end of file diff --git a/blueprints/discord-tickets/template.yml b/blueprints/discord-tickets/template.yml deleted file mode 100644 index bc5d95c1..00000000 --- a/blueprints/discord-tickets/template.yml +++ /dev/null @@ -1,27 +0,0 @@ -variables: - main_domain: ${domain} - mysql_password: ${password} - mysql_root_password: ${password} - mysql_user: tickets - mysql_database: tickets - encryption_key: ${password:48} - -config: - domains: - - serviceName: tickets-app - port: 8169 - host: ${main_domain} - - env: - - TICKETS_HOST=${main_domain} - - MYSQL_DATABASE=${mysql_database} - - MYSQL_PASSWORD=${mysql_password} - - MYSQL_ROOT_PASSWORD=${mysql_root_password} - - MYSQL_USER=${mysql_user} - - ENCRYPTION_KEY=${encryption_key} - - "# Follow the guide at: https://discordtickets.app/self-hosting/installation/docker/#creating-the-discord-application" - - DISCORD_SECRET= - - DISCORD_TOKEN= - - SUPER_USERS=YOUR_DISCORD_USER_ID - - mounts: [] \ No newline at end of file diff --git a/blueprints/discourse/template.yml b/blueprints/discourse/template.yml deleted file mode 100644 index 565b0bec..00000000 --- a/blueprints/discourse/template.yml +++ /dev/null @@ -1,22 +0,0 @@ -variables: - main_domain: ${domain} - postgres_password: ${password} - redis_password: ${password} - -config: - domains: - - serviceName: discourse-app - port: 3000 - host: ${main_domain} - - env: - - DISCOURSE_HOST=${main_domain} - - POSTGRES_PASSWORD=${postgres_password} - - REDIS_PASSWORD=${redis_password} - - # Optional: Configure SMTP for email delivery - - # SMTP_HOST=smtp.example.com - - # SMTP_PORT=587 - - # SMTP_USER=your_smtp_user - - # SMTP_PASSWORD=your_smtp_password - - mounts: [] \ No newline at end of file diff --git a/blueprints/docmost/template.yml b/blueprints/docmost/template.yml deleted file mode 100644 index 5aaebf00..00000000 --- a/blueprints/docmost/template.yml +++ /dev/null @@ -1,19 +0,0 @@ -variables: - main_domain: ${domain} - postgres_password: ${password} - app_secret: ${password} - -config: - domains: - - serviceName: docmost - port: 3000 - host: ${main_domain} - - env: - - POSTGRES_DB=docmost - - POSTGRES_USER=docmost - - POSTGRES_PASSWORD=${postgres_password} - - APP_URL=http://${main_domain}:3000 - - APP_SECRET=${app_secret} - - mounts: [] \ No newline at end of file diff --git a/blueprints/documenso/template.yml b/blueprints/documenso/template.yml deleted file mode 100644 index 7cf744e2..00000000 --- a/blueprints/documenso/template.yml +++ /dev/null @@ -1,20 +0,0 @@ -variables: - main_domain: ${domain} - nextauth_secret: ${base64:32} - encryption_key: ${password:32} - secondary_encryption_key: ${password:64} - -config: - domains: - - serviceName: documenso - port: 3000 - host: ${main_domain} - - env: - - DOCUMENSO_HOST=${main_domain} - - DOCUMENSO_PORT=3000 - - NEXTAUTH_SECRET=${nextauth_secret} - - NEXT_PRIVATE_ENCRYPTION_KEY=${encryption_key} - - NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY=${secondary_encryption_key} - - mounts: [] \ No newline at end of file diff --git a/blueprints/doublezero/template.yml b/blueprints/doublezero/template.yml deleted file mode 100644 index c6582de1..00000000 --- a/blueprints/doublezero/template.yml +++ /dev/null @@ -1,21 +0,0 @@ -variables: - main_domain: ${domain} - secret_key_base: ${base64:64} - -config: - domains: - - serviceName: doublezero - port: 4000 - host: ${main_domain} - - env: - - DOUBLEZERO_HOST=${main_domain} - - DOUBLEZERO_PORT=4000 - - SECRET_KEY_BASE=${secret_key_base} - - AWS_ACCESS_KEY_ID=your-aws-access-key - - AWS_SECRET_ACCESS_KEY=your-aws-secret-key - - AWS_REGION=your-aws-region - - SQS_URL=your-aws-sqs-url - - SYSTEM_EMAIL= - - mounts: [] \ No newline at end of file diff --git a/blueprints/drawio/template.yml b/blueprints/drawio/template.yml deleted file mode 100644 index 6ce0ec85..00000000 --- a/blueprints/drawio/template.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: drawio - port: 8080 - host: ${main_domain} - - env: - - DRAWIO_HOST=${main_domain} - - DRAWIO_BASE_URL=https://${main_domain} - - DRAWIO_SERVER_URL=https://${main_domain}/ - - mounts: [] \ No newline at end of file diff --git a/blueprints/elastic-search/template.yml b/blueprints/elastic-search/template.yml deleted file mode 100644 index c6065a9e..00000000 --- a/blueprints/elastic-search/template.yml +++ /dev/null @@ -1,16 +0,0 @@ -variables: - main_domain: ${domain} - api_domain: ${domain} - -config: - domains: - - serviceName: kibana - port: 5601 - host: ${main_domain} - - serviceName: elasticsearch - port: 9200 - host: ${api_domain} - - env: [] - - mounts: [] \ No newline at end of file diff --git a/blueprints/erpnext/template.yml b/blueprints/erpnext/template.yml deleted file mode 100644 index 61b26eb1..00000000 --- a/blueprints/erpnext/template.yml +++ /dev/null @@ -1,27 +0,0 @@ -variables: - main_domain: ${domain} - db_root_password: ${password:32} - admin_password: ${password:32} - -config: - domains: - - serviceName: frontend - port: 8080 - host: ${main_domain} - - env: - - SITE_NAME=${main_domain} - - ADMIN_PASSWORD=${admin_password} - - DB_ROOT_PASSWORD=${db_root_password} - - MIGRATE=1 - - ENABLE_DB=1 - - DB_HOST=db - - CREATE_SITE=1 - - CONFIGURE=1 - - REGENERATE_APPS_TXT=1 - - INSTALL_APP_ARGS=--install-app erpnext - - IMAGE_NAME=docker.io/frappe/erpnext - - VERSION=version-15 - - FRAPPE_SITE_NAME_HEADER= - - mounts: [] \ No newline at end of file diff --git a/blueprints/evolutionapi/template.yml b/blueprints/evolutionapi/template.yml deleted file mode 100644 index fdac9edc..00000000 --- a/blueprints/evolutionapi/template.yml +++ /dev/null @@ -1,40 +0,0 @@ -variables: - main_domain: ${domain} - api_key: ${base64:64} - postgres_password: ${password} - -config: - domains: - - serviceName: evolution-api - port: 8080 - host: ${main_domain} - - env: - - SERVER_URL=https://${main_domain} - - AUTHENTICATION_TYPE=apikey - - AUTHENTICATION_API_KEY=${api_key} - - AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true - - LANGUAGE=en - - CONFIG_SESSION_PHONE_CLIENT=Evolution API - - CONFIG_SESSION_PHONE_NAME=Chrome - - TELEMETRY=false - - TELEMETRY_URL= - - POSTGRES_DATABASE=evolution - - POSTGRES_USERNAME=postgresql - - POSTGRES_PASSWORD=${postgres_password} - - DATABASE_ENABLED=true - - DATABASE_PROVIDER=postgresql - - DATABASE_CONNECTION_URI=postgres://postgresql:${postgres_password}@evolution-postgres:5432/evolution - - DATABASE_SAVE_DATA_INSTANCE=true - - DATABASE_SAVE_DATA_NEW_MESSAGE=true - - DATABASE_SAVE_MESSAGE_UPDATE=true - - DATABASE_SAVE_DATA_CONTACTS=true - - DATABASE_SAVE_DATA_CHATS=true - - DATABASE_SAVE_DATA_LABELS=true - - DATABASE_SAVE_DATA_HISTORIC=true - - CACHE_REDIS_ENABLED=true - - CACHE_REDIS_URI=redis://evolution-redis:6379 - - CACHE_REDIS_PREFIX_KEY=evolution - - CACHE_REDIS_SAVE_INSTANCES=true - - mounts: [] \ No newline at end of file diff --git a/blueprints/excalidraw/template.yml b/blueprints/excalidraw/template.yml deleted file mode 100644 index 8648aed9..00000000 --- a/blueprints/excalidraw/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: excalidraw - port: 80 - host: ${main_domain} - - env: [] - - mounts: [] \ No newline at end of file diff --git a/blueprints/filebrowser/template.yml b/blueprints/filebrowser/template.yml deleted file mode 100644 index 34e7eb38..00000000 --- a/blueprints/filebrowser/template.yml +++ /dev/null @@ -1,13 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: filebrowser - port: 8080 - host: ${main_domain} - - env: - - FB_BASEURL=/filebrowser - - mounts: [] \ No newline at end of file diff --git a/blueprints/formbricks/template.yml b/blueprints/formbricks/template.yml deleted file mode 100644 index 6572770b..00000000 --- a/blueprints/formbricks/template.yml +++ /dev/null @@ -1,20 +0,0 @@ -variables: - main_domain: ${domain} - secret_base: ${base64:64} - encryption_key: ${base64:48} - cron_secret: ${base64:32} - -config: - domains: - - serviceName: formbricks - port: 3000 - host: ${main_domain} - - env: - - WEBAPP_URL=http://${main_domain} - - NEXTAUTH_URL=http://${main_domain} - - NEXTAUTH_SECRET=${secret_base} - - ENCRYPTION_KEY=${encryption_key} - - CRON_SECRET=${cron_secret} - - mounts: [] \ No newline at end of file diff --git a/blueprints/frappe-hr/template.yml b/blueprints/frappe-hr/template.yml deleted file mode 100644 index b5c8f9d9..00000000 --- a/blueprints/frappe-hr/template.yml +++ /dev/null @@ -1,27 +0,0 @@ -variables: - main_domain: ${domain} - db_root_password: ${password:32} - admin_password: ${password:32} - -config: - domains: - - serviceName: frontend - port: 8080 - host: ${main_domain} - - env: - - SITE_NAME=${main_domain} - - ADMIN_PASSWORD=${admin_password} - - DB_ROOT_PASSWORD=${db_root_password} - - MIGRATE=1 - - ENABLE_DB=1 - - DB_HOST=db - - CREATE_SITE=1 - - CONFIGURE=1 - - REGENERATE_APPS_TXT=1 - - INSTALL_APP_ARGS=--install-app hrms - - IMAGE_NAME=ghcr.io/frappe/hrms - - VERSION=version-15 - - FRAPPE_SITE_NAME_HEADER= - - mounts: [] \ No newline at end of file diff --git a/blueprints/ghost/template.yml b/blueprints/ghost/template.yml deleted file mode 100644 index f85f423c..00000000 --- a/blueprints/ghost/template.yml +++ /dev/null @@ -1,13 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: ghost - port: 2368 - host: ${main_domain} - - env: - - GHOST_HOST=${main_domain} - - mounts: [] \ No newline at end of file diff --git a/blueprints/gitea/template.yml b/blueprints/gitea/template.yml deleted file mode 100644 index 2a0107e9..00000000 --- a/blueprints/gitea/template.yml +++ /dev/null @@ -1,14 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: gitea - port: 3000 - host: ${main_domain} - - env: - - USER_UID=1000 - - USER_GID=1000 - - mounts: [] \ No newline at end of file diff --git a/blueprints/glance/template.yml b/blueprints/glance/template.yml deleted file mode 100644 index e570fe38..00000000 --- a/blueprints/glance/template.yml +++ /dev/null @@ -1,93 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: glance - port: 8080 - host: ${main_domain} - - env: [] - - mounts: - - filePath: /app/config/glance.yml - content: | - branding: - hide-footer: true - logo-text: P - - pages: - - name: Home - columns: - - size: small - widgets: - - type: calendar - - - type: releases - show-source-icon: true - repositories: - - Dokploy/dokploy - - n8n-io/n8n - - Budibase/budibase - - home-assistant/core - - tidbyt/pixlet - - - type: twitch-channels - channels: - - nmplol - - extraemily - - qtcinderella - - ludwig - - timthetatman - - mizkif - - - size: full - widgets: - - type: hacker-news - - - type: videos - style: grid-cards - channels: - - UC3GzdWYwUYI1ACxuP9Nm-eg - - UCGbg3DjQdcqWwqOLHpYHXIg - - UC24RSoLcjiNZbQcT54j5l7Q - limit: 3 - - - type: rss - limit: 10 - collapse-after: 3 - cache: 3h - feeds: - - url: https://daringfireball.net/feeds/main - title: Daring Fireball - - - size: small - widgets: - - type: weather - location: Gansevoort, New York, United States - show-area-name: false - units: imperial - hour-format: 12h - - - type: markets - markets: - - symbol: SPY - name: S&P 500 - - symbol: VOO - name: Vanguard - - symbol: BTC-USD - name: Bitcoin - - symbol: ETH-USD - name: Etherium - - symbol: NVDA - name: NVIDIA - - symbol: AAPL - name: Apple - - symbol: MSFT - name: Microsoft - - symbol: GOOGL - name: Google - - symbol: AMD - name: AMD - - symbol: TSLA - name: Tesla \ No newline at end of file diff --git a/blueprints/glitchtip/template.yml b/blueprints/glitchtip/template.yml deleted file mode 100644 index 5a6a2801..00000000 --- a/blueprints/glitchtip/template.yml +++ /dev/null @@ -1,16 +0,0 @@ -variables: - main_domain: ${domain} - secret_key: ${base64:32} - -config: - domains: - - serviceName: web - port: 8000 - host: ${main_domain} - - env: - - GLITCHTIP_HOST=${main_domain} - - GLITCHTIP_PORT=8000 - - SECRET_KEY=${secret_key} - - mounts: [] \ No newline at end of file diff --git a/blueprints/glpi/template.yml b/blueprints/glpi/template.yml deleted file mode 100644 index 0891e992..00000000 --- a/blueprints/glpi/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: glpi-web - port: 80 - host: ${main_domain} - - env: [] - - mounts: [] \ No newline at end of file diff --git a/blueprints/gotenberg/template.yml b/blueprints/gotenberg/template.yml deleted file mode 100644 index d94c03fd..00000000 --- a/blueprints/gotenberg/template.yml +++ /dev/null @@ -1,16 +0,0 @@ -variables: - main_domain: ${domain} - username: gotenberg - password: changethis - -config: - domains: - - serviceName: gotenberg - port: 3000 - host: ${main_domain} - - env: - - GOTENBERG_API_BASIC_AUTH_USERNAME=${username} - - GOTENBERG_API_BASIC_AUTH_PASSWORD=${password} - - mounts: [] \ No newline at end of file diff --git a/blueprints/grafana/template.yml b/blueprints/grafana/template.yml deleted file mode 100644 index 0fa704f8..00000000 --- a/blueprints/grafana/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: grafana - port: 3000 - host: ${main_domain} - - env: [] - - mounts: [] \ No newline at end of file diff --git a/blueprints/heyform/template.yml b/blueprints/heyform/template.yml deleted file mode 100644 index ae347198..00000000 --- a/blueprints/heyform/template.yml +++ /dev/null @@ -1,17 +0,0 @@ -variables: - main_domain: ${domain} - session_key: ${base64:64} - form_encryption_key: ${base64:64} - -config: - domains: - - serviceName: heyform - port: 8000 - host: ${main_domain} - - env: - - APP_HOMEPAGE_URL=http://${main_domain} - - SESSION_KEY=${session_key} - - FORM_ENCRYPTION_KEY=${form_encryption_key} - - mounts: [] \ No newline at end of file diff --git a/blueprints/hi-events/template.yml b/blueprints/hi-events/template.yml deleted file mode 100644 index 7ae0c874..00000000 --- a/blueprints/hi-events/template.yml +++ /dev/null @@ -1,27 +0,0 @@ -variables: - main_domain: ${domain} - postgres_password: ${password} - jwt_secret: ${password} - app_key: ${password} - -config: - domains: - - serviceName: all-in-one - port: 80 - host: ${main_domain} - - env: - - DOMAIN=${main_domain} - - POSTGRES_DB=hievents - - POSTGRES_USER=hievents - - POSTGRES_PASSWORD=${postgres_password} - - VITE_STRIPE_PUBLISHABLE_KEY= - - APP_KEY=${app_key} - - JWT_SECRET=${jwt_secret} - - MAIL_MAILER= - - MAIL_HOST= - - MAIL_PORT= - - MAIL_FROM_ADDRESS= - - MAIL_FROM_NAME= - - mounts: [] \ No newline at end of file diff --git a/blueprints/hoarder/template.yml b/blueprints/hoarder/template.yml deleted file mode 100644 index 07732457..00000000 --- a/blueprints/hoarder/template.yml +++ /dev/null @@ -1,18 +0,0 @@ -variables: - main_domain: ${domain} - postgres_password: ${password} - next_secret: ${base64:32} - meili_master_key: ${base64:32} - -config: - domains: - - serviceName: web - port: 3000 - host: ${main_domain} - - env: - - NEXTAUTH_SECRET=${next_secret} - - MEILI_MASTER_KEY=${meili_master_key} - - NEXTAUTH_URL=http://${main_domain} - - mounts: [] \ No newline at end of file diff --git a/blueprints/homarr/template.yml b/blueprints/homarr/template.yml deleted file mode 100644 index edbfb1de..00000000 --- a/blueprints/homarr/template.yml +++ /dev/null @@ -1,14 +0,0 @@ -variables: - main_domain: ${domain} - secret_key: ${password:64} - -config: - domains: - - serviceName: homarr - port: 7575 - host: ${main_domain} - - env: - - SECRET_ENCRYPTION_KEY=${secret_key} - - mounts: [] \ No newline at end of file diff --git a/blueprints/huly/template.yml b/blueprints/huly/template.yml deleted file mode 100644 index 94e50b05..00000000 --- a/blueprints/huly/template.yml +++ /dev/null @@ -1,104 +0,0 @@ -variables: - main_domain: ${domain} - huly_secret: ${base64:64} - -config: - domains: - - serviceName: nginx - port: 80 - host: ${main_domain} - - env: - - HULY_VERSION=v0.6.468 - - DOCKER_NAME=huly - - HOST_ADDRESS=${main_domain} - - SECURE= - - HTTP_PORT=80 - - HTTP_BIND= - - TITLE=Huly - - DEFAULT_LANGUAGE=en - - LAST_NAME_FIRST=true - - SECRET=${huly_secret} - - mounts: - - filePath: /volumes/nginx/.huly.nginx - content: | - server { - listen 80; - server_name _; - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://front:8080; - } - - location /_accounts { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - rewrite ^/_accounts(/.*)$ $1 break; - proxy_pass http://account:3000/; - } - - location /_collaborator { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - rewrite ^/_collaborator(/.*)$ $1 break; - proxy_pass http://collaborator:3078/; - } - - location /_transactor { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - rewrite ^/_transactor(/.*)$ $1 break; - proxy_pass http://transactor:3333/; - } - - location ~ ^/eyJ { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_pass http://transactor:3333; - } - - location /_rekoni { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - rewrite ^/_rekoni(/.*)$ $1 break; - proxy_pass http://rekoni:4004/; - } - - location /_stats { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - rewrite ^/_stats(/.*)$ $1 break; - proxy_pass http://stats:4900/; - } - } diff --git a/blueprints/immich/template.yml b/blueprints/immich/template.yml deleted file mode 100644 index 8490dbd1..00000000 --- a/blueprints/immich/template.yml +++ /dev/null @@ -1,26 +0,0 @@ -variables: - main_domain: ${domain} - db_password: ${password} - db_user: immich - -config: - domains: - - serviceName: immich-server - port: 2283 - host: ${main_domain} - - env: - - IMMICH_HOST=${main_domain} - - SERVER_URL=https://${main_domain} - - FRONT_BASE_URL=https://${main_domain} - - DB_HOSTNAME=immich-database - - DB_PORT=5432 - - DB_USERNAME=${db_user} - - DB_PASSWORD=${db_password} - - DB_DATABASE_NAME=immich - - REDIS_HOSTNAME=immich-redis - - REDIS_PORT=6379 - - REDIS_DBINDEX=0 - - TZ=UTC - - mounts: [] \ No newline at end of file diff --git a/blueprints/infisical/template.yml b/blueprints/infisical/template.yml deleted file mode 100644 index 79513b09..00000000 --- a/blueprints/infisical/template.yml +++ /dev/null @@ -1,58 +0,0 @@ -variables: - main_domain: ${domain} - postgres_password: ${password} - postgres_user: infisical - postgres_db: infisical - -config: - domains: - - serviceName: backend - port: 8080 - host: ${main_domain} - - env: - - ENCRYPTION_KEY=6c1fe4e407b8911c104518103505b218 # Sample key, not for production - - AUTH_SECRET=5lrMXKKWCVocS/uerPsl7V+TX/aaUaI7iDkgl3tSmLE= # Sample key, not for production - - POSTGRES_PASSWORD=${postgres_password} - - POSTGRES_USER=${postgres_user} - - POSTGRES_DB=${postgres_db} - - SITE_URL=http://${main_domain}:8080 - - SMTP_HOST= - - SMTP_PORT= - - SMTP_NAME= - - SMTP_USERNAME= - - SMTP_PASSWORD= - - CLIENT_ID_HEROKU= - - CLIENT_ID_VERCEL= - - CLIENT_ID_NETLIFY= - - CLIENT_ID_GITHUB= - - CLIENT_ID_GITHUB_APP= - - CLIENT_SLUG_GITHUB_APP= - - CLIENT_ID_GITLAB= - - CLIENT_ID_BITBUCKET= - - CLIENT_SECRET_HEROKU= - - CLIENT_SECRET_VERCEL= - - CLIENT_SECRET_NETLIFY= - - CLIENT_SECRET_GITHUB= - - CLIENT_SECRET_GITHUB_APP= - - CLIENT_SECRET_GITLAB= - - CLIENT_SECRET_BITBUCKET= - - CLIENT_SLUG_VERCEL= - - CLIENT_PRIVATE_KEY_GITHUB_APP= - - CLIENT_APP_ID_GITHUB_APP= - - SENTRY_DSN= - - POSTHOG_HOST= - - POSTHOG_PROJECT_API_KEY= - - CLIENT_ID_GOOGLE_LOGIN= - - CLIENT_SECRET_GOOGLE_LOGIN= - - CLIENT_ID_GITHUB_LOGIN= - - CLIENT_SECRET_GITHUB_LOGIN= - - CLIENT_ID_GITLAB_LOGIN= - - CLIENT_SECRET_GITLAB_LOGIN= - - CAPTCHA_SECRET= - - NEXT_PUBLIC_CAPTCHA_SITE_KEY= - - PLAIN_API_KEY= - - PLAIN_WISH_LABEL_IDS= - - SSL_CLIENT_CERTIFICATE_HEADER_KEY= - - mounts: [] \ No newline at end of file diff --git a/blueprints/influxdb/template.yml b/blueprints/influxdb/template.yml deleted file mode 100644 index 4d32a706..00000000 --- a/blueprints/influxdb/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: influxdb - port: 8086 - host: ${main_domain} - - env: {} - - mounts: [] \ No newline at end of file diff --git a/blueprints/invoiceshelf/template.yml b/blueprints/invoiceshelf/template.yml deleted file mode 100644 index 63ef33c1..00000000 --- a/blueprints/invoiceshelf/template.yml +++ /dev/null @@ -1,19 +0,0 @@ -variables: - main_domain: ${domain} - db_password: ${password} - db_username: "invoiceshelf" - db_database: "invoiceshelf" - -config: - domains: - - serviceName: invoiceshelf-app - port: 80 - host: ${main_domain} - - env: - INVOICESHELF_HOST: ${main_domain} - DB_PASSWORD: ${db_password} - DB_USERNAME: ${db_username} - DB_DATABASE: ${db_database} - - mounts: [] \ No newline at end of file diff --git a/blueprints/it-tools/template.yml b/blueprints/it-tools/template.yml deleted file mode 100644 index b7ff3128..00000000 --- a/blueprints/it-tools/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: it-tools - port: 80 - host: ${main_domain} - - env: {} - - mounts: [] \ No newline at end of file diff --git a/blueprints/jellyfin/template.yml b/blueprints/jellyfin/template.yml deleted file mode 100644 index f8c5c8a0..00000000 --- a/blueprints/jellyfin/template.yml +++ /dev/null @@ -1,13 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: jellyfin - port: 8096 - host: ${main_domain} - - env: - JELLYFIN_HOST: ${main_domain} - - mounts: [] \ No newline at end of file diff --git a/blueprints/kimai/template.yml b/blueprints/kimai/template.yml deleted file mode 100644 index 53852e28..00000000 --- a/blueprints/kimai/template.yml +++ /dev/null @@ -1,22 +0,0 @@ -variables: - main_domain: ${domain} - admin_password: ${password:32} - mysql_password: ${password:32} - mysql_root_password: ${password:32} - app_secret: ${password:32} - -config: - domains: - - serviceName: app - port: 8001 - host: ${main_domain} - - env: - KI_HOST: ${main_domain} - KI_ADMINMAIL: "admin@kimai.local" - KI_ADMINPASS: ${admin_password} - KI_MYSQL_ROOT_PASSWORD: ${mysql_root_password} - KI_MYSQL_PASSWORD: ${mysql_password} - KI_APP_SECRET: ${app_secret} - - mounts: [] \ No newline at end of file diff --git a/blueprints/langflow/template.yml b/blueprints/langflow/template.yml deleted file mode 100644 index 73b61ea2..00000000 --- a/blueprints/langflow/template.yml +++ /dev/null @@ -1,16 +0,0 @@ -variables: - main_domain: ${domain} - db_password: ${password} - db_username: "langflow" - -config: - domains: - - serviceName: langflow - port: 7860 - host: ${main_domain} - - env: - DB_PASSWORD: ${db_password} - DB_USERNAME: ${db_username} - - mounts: [] \ No newline at end of file diff --git a/blueprints/linkwarden/template.yml b/blueprints/linkwarden/template.yml deleted file mode 100644 index a3930a49..00000000 --- a/blueprints/linkwarden/template.yml +++ /dev/null @@ -1,17 +0,0 @@ -variables: - main_domain: ${domain} - postgres_password: ${password} - next_secret: ${base64:32} - -config: - domains: - - serviceName: linkwarden - port: 3000 - host: ${main_domain} - - env: - POSTGRES_PASSWORD: ${postgres_password} - NEXTAUTH_SECRET: ${next_secret} - NEXTAUTH_URL: http://${main_domain}/api/v1/auth - - mounts: [] \ No newline at end of file diff --git a/blueprints/listmonk/template.yml b/blueprints/listmonk/template.yml deleted file mode 100644 index b0664be9..00000000 --- a/blueprints/listmonk/template.yml +++ /dev/null @@ -1,32 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: app - port: 9000 - host: ${main_domain} - - env: - # visit the page to setup your super admin user - # check config.toml in Advanced / Volumes for more options - - mounts: - - filePath: config.toml - content: | - [app] - address = "0.0.0.0:9000" - - [db] - host = "db" - port = 5432 - user = "listmonk" - password = "listmonk" - database = "listmonk" - - ssl_mode = "disable" - max_open = 25 - max_idle = 25 - max_lifetime = "300s" - - params = "" \ No newline at end of file diff --git a/blueprints/lobe-chat/template.yml b/blueprints/lobe-chat/template.yml deleted file mode 100644 index b75d0d9d..00000000 --- a/blueprints/lobe-chat/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: lobe-chat - port: 3210 - host: ${main_domain} - - env: {} - - mounts: [] \ No newline at end of file diff --git a/blueprints/logto/template.yml b/blueprints/logto/template.yml deleted file mode 100644 index 7fe7f99c..00000000 --- a/blueprints/logto/template.yml +++ /dev/null @@ -1,20 +0,0 @@ -variables: - main_domain: ${domain} - admin_domain: ${domain} - postgres_password: ${password} - -config: - domains: - - serviceName: app - port: 3001 - host: ${main_domain} - - serviceName: app - port: 3002 - host: ${admin_domain} - - env: - LOGTO_ENDPOINT: http://${admin_domain} - LOGTO_ADMIN_ENDPOINT: http://${admin_domain} - LOGTO_POSTGRES_PASSWORD: ${postgres_password} - - mounts: [] \ No newline at end of file diff --git a/blueprints/macos/template.yml b/blueprints/macos/template.yml deleted file mode 100644 index 41693bed..00000000 --- a/blueprints/macos/template.yml +++ /dev/null @@ -1,21 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: macos - port: 8006 - host: ${main_domain} - - env: - # https://github.com/dockur/macos?tab=readme-ov-file#how-do-i-select-the-macos-version - VERSION: "15" - - # Uncomment this if your PC/VM or etc does not support virtualization technology - # KVM: "N" - - DISK_SIZE: "64G" - RAM_SIZE: "4G" - CPU_CORES: "2" - - mounts: [] \ No newline at end of file diff --git a/blueprints/mailpit/template.yml b/blueprints/mailpit/template.yml deleted file mode 100644 index 6e952053..00000000 --- a/blueprints/mailpit/template.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - main_domain: ${domain} - default_password: ${password} - -config: - domains: - - serviceName: mailpit - port: 8025 - host: ${main_domain} - - # Uncomment below if you want basic auth on UI and SMTP - #MP_UI_AUTH: mailpit:${default_password} - #MP_SMTP_AUTH: mailpit:${default_password} - - mounts: [] diff --git a/blueprints/maybe/template.yml b/blueprints/maybe/template.yml deleted file mode 100644 index ab9648ac..00000000 --- a/blueprints/maybe/template.yml +++ /dev/null @@ -1,22 +0,0 @@ -variables: - main_domain: ${domain} - secret_key_base: ${base64:64} - synth_api_key: ${base64:32} - -config: - domains: - - serviceName: app - port: 3000 - host: ${main_domain} - - env: - SECRET_KEY_BASE: ${secret_key_base} - SELF_HOSTED: "true" - SYNTH_API_KEY: ${synth_api_key} - RAILS_FORCE_SSL: "false" - RAILS_ASSUME_SSL: "false" - GOOD_JOB_EXECUTION_MODE: "async" - - mounts: - - filePath: ./uploads - content: "This is where user uploads will be stored" \ No newline at end of file diff --git a/blueprints/meilisearch/template.yml b/blueprints/meilisearch/template.yml deleted file mode 100644 index eb7dac7d..00000000 --- a/blueprints/meilisearch/template.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - main_domain: ${domain} - master_key: ${base64:32} - -config: - domains: - - serviceName: meilisearch - port: 7700 - host: ${main_domain} - - env: - MEILI_ENV: "development" - MEILI_MASTER_KEY: ${master_key} - - mounts: [] \ No newline at end of file diff --git a/blueprints/metabase/template.yml b/blueprints/metabase/template.yml deleted file mode 100644 index 34f18481..00000000 --- a/blueprints/metabase/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: metabase - port: 3000 - host: ${main_domain} - - env: {} - - mounts: [] \ No newline at end of file diff --git a/blueprints/minio/template.yml b/blueprints/minio/template.yml deleted file mode 100644 index c508d8f0..00000000 --- a/blueprints/minio/template.yml +++ /dev/null @@ -1,16 +0,0 @@ -variables: - main_domain: ${domain} - api_domain: ${domain} - -config: - domains: - - serviceName: minio - port: 9001 - host: ${main_domain} - - serviceName: minio - port: 9000 - host: ${api_domain} - - env: {} - - mounts: [] \ No newline at end of file diff --git a/blueprints/n8n/template.yml b/blueprints/n8n/template.yml deleted file mode 100644 index f1e19c97..00000000 --- a/blueprints/n8n/template.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: n8n - port: 5678 - host: ${main_domain} - - env: - N8N_HOST: ${main_domain} - N8N_PORT: "5678" - GENERIC_TIMEZONE: "Europe/Berlin" - - mounts: [] \ No newline at end of file diff --git a/blueprints/nextcloud-aio/template.yml b/blueprints/nextcloud-aio/template.yml deleted file mode 100644 index 4666a856..00000000 --- a/blueprints/nextcloud-aio/template.yml +++ /dev/null @@ -1,17 +0,0 @@ -variables: - main_domain: ${domain} - db_password: ${password} - db_root_password: ${password} - -config: - domains: - - serviceName: nextcloud - port: 80 - host: ${main_domain} - - env: - NEXTCLOUD_DOMAIN: ${main_domain} - MYSQL_SECRET_PASSWORD: ${db_password} - MYSQL_SECRET_PASSWORD_ROOT: ${db_root_password} - - mounts: [] \ No newline at end of file diff --git a/blueprints/nocodb/template.yml b/blueprints/nocodb/template.yml deleted file mode 100644 index 39b8d888..00000000 --- a/blueprints/nocodb/template.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - main_domain: ${domain} - jwt_secret: ${base64:64} - -config: - domains: - - serviceName: nocodb - port: 8000 - host: ${main_domain} - - env: - NOCODB_PORT: "8000" - NC_AUTH_JWT_SECRET: ${jwt_secret} - - mounts: [] \ No newline at end of file diff --git a/blueprints/odoo/template.yml b/blueprints/odoo/template.yml deleted file mode 100644 index 969a2f9d..00000000 --- a/blueprints/odoo/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: web - port: 8069 - host: ${main_domain} - - env: {} - - mounts: [] \ No newline at end of file diff --git a/blueprints/onedev/template.yml b/blueprints/onedev/template.yml deleted file mode 100644 index 722495b0..00000000 --- a/blueprints/onedev/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: onedev - port: 6610 - host: ${main_domain} - - env: {} - - mounts: [] \ No newline at end of file diff --git a/blueprints/ontime/template.yml b/blueprints/ontime/template.yml deleted file mode 100644 index fccde7c2..00000000 --- a/blueprints/ontime/template.yml +++ /dev/null @@ -1,13 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: ontime - port: 4001 - host: ${main_domain} - - env: - TZ: "UTC" - - mounts: [] \ No newline at end of file diff --git a/blueprints/open-webui/template.yml b/blueprints/open-webui/template.yml deleted file mode 100644 index 0a66d50b..00000000 --- a/blueprints/open-webui/template.yml +++ /dev/null @@ -1,14 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: open-webui - port: 8080 - host: ${main_domain} - - env: - OLLAMA_DOCKER_TAG: "0.1.47" - WEBUI_DOCKER_TAG: "0.3.7" - - mounts: [] \ No newline at end of file diff --git a/blueprints/otterwiki/template.yml b/blueprints/otterwiki/template.yml deleted file mode 100644 index 095f0cb0..00000000 --- a/blueprints/otterwiki/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: otterwiki - port: 80 - host: ${main_domain} - - env: [] - - mounts: [] diff --git a/blueprints/outline/template.yml b/blueprints/outline/template.yml deleted file mode 100644 index f0c24096..00000000 --- a/blueprints/outline/template.yml +++ /dev/null @@ -1,64 +0,0 @@ -variables: - main_domain: ${domain} - dex_domain: ${domain} - secret_key: ${base64:32} - utils_secret: ${base64:32} - client_secret: ${base64:32} - postgres_password: ${password} - -config: - domains: - - serviceName: outline - port: 3000 - host: ${main_domain} - - serviceName: dex - port: 5556 - host: ${dex_domain} - - env: - URL: http://${main_domain} - DEX_URL: http://${dex_domain} - DOMAIN_NAME: ${main_domain} - POSTGRES_PASSWORD: ${postgres_password} - SECRET_KEY: ${secret_key} - UTILS_SECRET: ${utils_secret} - CLIENT_SECRET: ${client_secret} - - mounts: - - filePath: /etc/dex/config.yaml - content: | - issuer: http://${dex_domain} - - web: - http: 0.0.0.0:5556 - - storage: - type: memory - - enablePasswordDB: true - - frontend: - issuer: Outline - - logger: - level: debug - - staticPasswords: - - email: "admin@example.com" - # bcrypt hash of the string "password": $(echo password | htpasswd -BinC 10 admin | cut -d: -f2) - hash: "$2y$10$jsRWHw54uxTUIfhjgUrB9u8HSzPk7TUuQri9sXZrKzRXcScvwYor." - username: "admin" - userID: "1" - - - oauth2: - skipApprovalScreen: true - alwaysShowLoginScreen: false - passwordConnector: local - - staticClients: - - id: "outline" - redirectURIs: - - http://${main_domain}/auth/oidc.callback - name: "Outline" - secret: "${client_secret}" \ No newline at end of file diff --git a/blueprints/penpot/template.yml b/blueprints/penpot/template.yml deleted file mode 100644 index 54f16e16..00000000 --- a/blueprints/penpot/template.yml +++ /dev/null @@ -1,13 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: penpot-frontend - port: 80 - host: ${main_domain} - - env: - DOMAIN_NAME: ${main_domain} - - mounts: [] \ No newline at end of file diff --git a/blueprints/peppermint/template.yml b/blueprints/peppermint/template.yml deleted file mode 100644 index 8766589c..00000000 --- a/blueprints/peppermint/template.yml +++ /dev/null @@ -1,22 +0,0 @@ -variables: - main_domain: ${domain} - api_domain: ${domain} - postgres_password: ${password} - secret: ${base64:32} - -config: - domains: - - serviceName: peppermint-app - port: 3000 - host: ${main_domain} - - serviceName: peppermint-app - port: 5003 - host: ${api_domain} - - env: - MAIN_DOMAIN: ${main_domain} - API_DOMAIN: ${api_domain} - POSTGRES_PASSWORD: ${postgres_password} - SECRET: ${secret} - - mounts: [] \ No newline at end of file diff --git a/blueprints/photoprism/template.yml b/blueprints/photoprism/template.yml deleted file mode 100644 index 8a1a26ac..00000000 --- a/blueprints/photoprism/template.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - main_domain: ${domain} - admin_password: ${password} - -config: - domains: - - serviceName: photoprism - port: 2342 - host: ${main_domain} - - env: - BASE_URL: http://${main_domain} - ADMIN_PASSWORD: ${admin_password} - - mounts: [] \ No newline at end of file diff --git a/blueprints/phpmyadmin/template.yml b/blueprints/phpmyadmin/template.yml deleted file mode 100644 index ccbc1bf3..00000000 --- a/blueprints/phpmyadmin/template.yml +++ /dev/null @@ -1,18 +0,0 @@ -variables: - main_domain: ${domain} - root_password: ${password:32} - user_password: ${password:32} - -config: - domains: - - serviceName: phpmyadmin - port: 80 - host: ${main_domain} - - env: - MYSQL_ROOT_PASSWORD: ${root_password} - MYSQL_DATABASE: "mysql" - MYSQL_USER: "phpmyadmin" - MYSQL_PASSWORD: ${user_password} - - mounts: [] \ No newline at end of file diff --git a/blueprints/plausible/template.yml b/blueprints/plausible/template.yml deleted file mode 100644 index d0f3948a..00000000 --- a/blueprints/plausible/template.yml +++ /dev/null @@ -1,46 +0,0 @@ -variables: - main_domain: ${domain} - secret_base: ${base64:64} - totp_key: ${base64:32} - -config: - domains: - - serviceName: plausible - port: 8000 - host: ${main_domain} - - env: - BASE_URL: http://${main_domain} - SECRET_KEY_BASE: ${secret_base} - TOTP_VAULT_KEY: ${totp_key} - - mounts: - - filePath: /clickhouse/clickhouse-config.xml - content: | - - - warning - true - - - - - - - - - - - - - - - filePath: /clickhouse/clickhouse-user-config.xml - content: | - - - - 0 - 0 - - - diff --git a/blueprints/pocket-id/template.yml b/blueprints/pocket-id/template.yml deleted file mode 100644 index b3af91a7..00000000 --- a/blueprints/pocket-id/template.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: pocket-id - port: 80 - host: ${main_domain} - - env: - PUBLIC_UI_CONFIG_DISABLED: "false" - PUBLIC_APP_URL: http://${main_domain} - TRUST_PROXY: "true" - - mounts: [] \ No newline at end of file diff --git a/blueprints/pocketbase/template.yml b/blueprints/pocketbase/template.yml deleted file mode 100644 index 82b6f61e..00000000 --- a/blueprints/pocketbase/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: pocketbase - port: 80 - host: ${main_domain} - - env: {} - - mounts: [] diff --git a/blueprints/portainer/template.yml b/blueprints/portainer/template.yml deleted file mode 100644 index 908f9c80..00000000 --- a/blueprints/portainer/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: portainer - port: 9000 - host: ${main_domain} - - env: {} - - mounts: [] \ No newline at end of file diff --git a/blueprints/postiz/template.yml b/blueprints/postiz/template.yml deleted file mode 100644 index 1ebddc7d..00000000 --- a/blueprints/postiz/template.yml +++ /dev/null @@ -1,21 +0,0 @@ -variables: - main_domain: ${domain} - db_password: ${password} - db_user: "postiz" - db_name: "postiz" - jwt_secret: ${base64:32} - -config: - domains: - - serviceName: postiz-app - port: 5000 - host: ${main_domain} - - env: - POSTIZ_HOST: ${main_domain} - DB_PASSWORD: ${db_password} - DB_USER: ${db_user} - DB_NAME: ${db_name} - JWT_SECRET: ${jwt_secret} - - mounts: [] \ No newline at end of file diff --git a/blueprints/registry/template.yml b/blueprints/registry/template.yml deleted file mode 100644 index 44bea682..00000000 --- a/blueprints/registry/template.yml +++ /dev/null @@ -1,18 +0,0 @@ -variables: - main_domain: ${domain} - registry_http_secret: ${password:30} - -config: - domains: - - serviceName: registry - port: 5000 - host: ${main_domain} - - env: - REGISTRY_HTTP_SECRET: ${registry_http_secret} - - mounts: - - filePath: /auth/registry.password - content: | - # from: docker run --rm --entrypoint htpasswd httpd:2 -Bbn docker password - docker:$2y$10$qWZoWev/u5PV7WneFoRAMuoGpRcAQOgUuIIdLnU7pJXogrBSY23/2 \ No newline at end of file diff --git a/blueprints/rocketchat/template.yml b/blueprints/rocketchat/template.yml deleted file mode 100644 index ca684d55..00000000 --- a/blueprints/rocketchat/template.yml +++ /dev/null @@ -1,14 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: rocketchat - port: 3000 - host: ${main_domain} - - env: - ROCKETCHAT_HOST: ${main_domain} - ROCKETCHAT_PORT: "3000" - - mounts: [] \ No newline at end of file diff --git a/blueprints/roundcube/template.yml b/blueprints/roundcube/template.yml deleted file mode 100644 index c3874dde..00000000 --- a/blueprints/roundcube/template.yml +++ /dev/null @@ -1,14 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: roundcubemail - port: 80 - host: ${main_domain} - - env: - DEFAULT_HOST: "tls://mail.example.com" - SMTP_SERVER: "tls://mail.example.com" - - mounts: [] \ No newline at end of file diff --git a/blueprints/ryot/template.yml b/blueprints/ryot/template.yml deleted file mode 100644 index 50d3142d..00000000 --- a/blueprints/ryot/template.yml +++ /dev/null @@ -1,18 +0,0 @@ -variables: - main_domain: ${domain} - postgres_password: ${password} - admin_access_token: ${base64:32} - -config: - domains: - - serviceName: ryot-app - port: 8000 - host: ${main_domain} - - env: - POSTGRES_PASSWORD: ${postgres_password} - ADMIN_ACCESS_TOKEN: ${admin_access_token} - # Optional: Uncomment and set your pro key if you have one - # SERVER_PRO_KEY: "your_pro_key_here" - - mounts: [] \ No newline at end of file diff --git a/blueprints/shlink/template.yml b/blueprints/shlink/template.yml deleted file mode 100644 index 1ab9f5f9..00000000 --- a/blueprints/shlink/template.yml +++ /dev/null @@ -1,18 +0,0 @@ -variables: - main_domain: ${domain} - initial_api_key: ${password:30} - -config: - domains: - - serviceName: shlink-web - port: 8080 - host: web-${main_domain} - - serviceName: shlink - port: 8080 - host: ${main_domain} - - env: - INITIAL_API_KEY: ${initial_api_key} - DEFAULT_DOMAIN: ${main_domain} - - mounts: [] \ No newline at end of file diff --git a/blueprints/slash/template.yml b/blueprints/slash/template.yml deleted file mode 100644 index 62578856..00000000 --- a/blueprints/slash/template.yml +++ /dev/null @@ -1,18 +0,0 @@ -variables: - main_domain: ${domain} - db_password: ${password} - db_user: "slash" - db_name: "slash" - -config: - domains: - - serviceName: slash-app - port: 5231 - host: ${main_domain} - - env: - DB_USER: ${db_user} - DB_PASSWORD: ${db_password} - DB_NAME: ${db_name} - - mounts: [] \ No newline at end of file diff --git a/blueprints/soketi/template.yml b/blueprints/soketi/template.yml deleted file mode 100644 index 58064a70..00000000 --- a/blueprints/soketi/template.yml +++ /dev/null @@ -1,16 +0,0 @@ -variables: - main_domain: ${domain} - metrics_domain: ${domain} - -config: - domains: - - serviceName: soketi - port: 6001 - host: ${main_domain} - - serviceName: soketi - port: 9601 - host: ${metrics_domain} - - env: {} - - mounts: [] \ No newline at end of file diff --git a/blueprints/spacedrive/template.yml b/blueprints/spacedrive/template.yml deleted file mode 100644 index b5aca28b..00000000 --- a/blueprints/spacedrive/template.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - main_domain: ${domain} - secret_key: ${password} - -config: - domains: - - serviceName: server - port: 8080 - host: ${main_domain} - - env: - SD_USERNAME: "admin" - SD_PASSWORD: ${secret_key} - - mounts: [] \ No newline at end of file diff --git a/blueprints/stirling/template.yml b/blueprints/stirling/template.yml deleted file mode 100644 index e8f2d184..00000000 --- a/blueprints/stirling/template.yml +++ /dev/null @@ -1,12 +0,0 @@ -variables: - main_domain: ${domain} - -config: - domains: - - serviceName: stirling-pdf - port: 8080 - host: ${main_domain} - - env: {} - - mounts: [] \ No newline at end of file diff --git a/blueprints/supabase/template.yml b/blueprints/supabase/template.yml deleted file mode 100644 index 802dec87..00000000 --- a/blueprints/supabase/template.yml +++ /dev/null @@ -1,896 +0,0 @@ -variables: - main_domain: ${domain} - postgres_password: ${password:32} - jwt_secret: ${base64:32} - dashboard_password: ${password:32} - logflare_api_key: ${password:32} - anon_key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjogImFub24iLAogICJpc3MiOiAic3VwYWJhc2UiLAogICJpYXQiOiAxNzQxNTAwMDAwLAogICJleHAiOiAxODk5MjY2NDAwCn0.muKe0Nrvkf5bMyLoFqAuFypRu3jHAcTYU08SYKrgRQo - service_role_key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjogInNlcnZpY2Vfcm9sZSIsCiAgImlzcyI6ICJzdXBhYmFzZSIsCiAgImlhdCI6IDE3NDE1MDAwMDAsCiAgImV4cCI6IDE4OTkyNjY0MDAKfQ.1KoSiJVueKJNkF59uc84BLqk7h8VdAoVp6Gozqr_vGc - -config: - domains: - - serviceName: kong - port: 8000 - host: ${main_domain} - - env: - SUPABASE_HOST: ${main_domain} - POSTGRES_PASSWORD: ${postgres_password} - JWT_SECRET: ${jwt_secret} - ANON_KEY: ${anon_key} - SERVICE_ROLE_KEY: ${service_role_key} - DASHBOARD_USERNAME: "supabase" - DASHBOARD_PASSWORD: ${dashboard_password} - POSTGRES_HOSTNAME: "db" - POSTGRES_DB: "postgres" - POSTGRES_PORT: "5432" - KONG_HTTP_PORT: "8000" - KONG_HTTPS_PORT: "8443" - PGRST_DB_SCHEMAS: "public,storage,graphql_public" - ADDITIONAL_REDIRECT_URLS: "" - JWT_EXPIRY: "3600" - DISABLE_SIGNUP: "false" - MAILER_URLPATHS_CONFIRMATION: "\"/auth/v1/verify\"" - MAILER_URLPATHS_INVITE: "\"/auth/v1/verify\"" - MAILER_URLPATHS_RECOVERY: "\"/auth/v1/verify\"" - MAILER_URLPATHS_EMAIL_CHANGE: "\"/auth/v1/verify\"" - ENABLE_EMAIL_SIGNUP: "true" - ENABLE_EMAIL_AUTOCONFIRM: "false" - SMTP_ADMIN_EMAIL: "admin@example.com" - SMTP_HOSTNAME: "supabase-mail" - SMTP_PORT: "2500" - SMTP_USER: "fake_mail_user" - SMTP_PASS: "fake_mail_password" - SMTP_SENDER_NAME: "fake_sender" - ENABLE_ANONYMOUS_USERS: "false" - ENABLE_PHONE_SIGNUP: "true" - ENABLE_PHONE_AUTOCONFIRM: "true" - STUDIO_DEFAULT_ORGANIZATION: "Default Organization" - STUDIO_DEFAULT_PROJECT: "Default Project" - STUDIO_PORT: "3000" - IMGPROXY_ENABLE_WEBP_DETECTION: "true" - FUNCTIONS_VERIFY_JWT: "false" - LOGFLARE_LOGGER_BACKEND_API_KEY: ${logflare_api_key} - LOGFLARE_API_KEY: ${logflare_api_key} - DOCKER_SOCKET_LOCATION: "/var/run/docker.sock" - GOOGLE_PROJECT_ID: "GOOGLE_PROJECT_ID" - GOOGLE_PROJECT_NUMBER: "GOOGLE_PROJECT_NUMBER" - - mounts: - - filePath: /volumes/api/kong.yml - content: | - _format_version: '2.1' - _transform: true - - ### - ### Consumers / Users - ### - consumers: - - username: DASHBOARD - - username: anon - keyauth_credentials: - - key: $SUPABASE_ANON_KEY - - username: service_role - keyauth_credentials: - - key: $SUPABASE_SERVICE_KEY - - ### - ### Access Control List - ### - acls: - - consumer: anon - group: anon - - consumer: service_role - group: admin - - ### - ### Dashboard credentials - ### - basicauth_credentials: - - consumer: DASHBOARD - username: $DASHBOARD_USERNAME - password: $DASHBOARD_PASSWORD - - ### - ### API Routes - ### - services: - ## Open Auth routes - - name: auth-v1-open - url: http://auth:9999/verify - routes: - - name: auth-v1-open - strip_path: true - paths: - - /auth/v1/verify - plugins: - - name: cors - - name: auth-v1-open-callback - url: http://auth:9999/callback - routes: - - name: auth-v1-open-callback - strip_path: true - paths: - - /auth/v1/callback - plugins: - - name: cors - - name: auth-v1-open-authorize - url: http://auth:9999/authorize - routes: - - name: auth-v1-open-authorize - strip_path: true - paths: - - /auth/v1/authorize - plugins: - - name: cors - - ## Secure Auth routes - - name: auth-v1 - _comment: 'GoTrue: /auth/v1/* -> http://auth:9999/*' - url: http://auth:9999/ - routes: - - name: auth-v1-all - strip_path: true - paths: - - /auth/v1/ - plugins: - - name: cors - - name: key-auth - config: - hide_credentials: false - - name: acl - config: - hide_groups_header: true - allow: - - admin - - anon - - ## Secure REST routes - - name: rest-v1 - _comment: 'PostgREST: /rest/v1/* -> http://rest:3000/*' - url: http://rest:3000/ - routes: - - name: rest-v1-all - strip_path: true - paths: - - /rest/v1/ - plugins: - - name: cors - - name: key-auth - config: - hide_credentials: true - - name: acl - config: - hide_groups_header: true - allow: - - admin - - anon - - ## Secure GraphQL routes - - name: graphql-v1 - _comment: 'PostgREST: /graphql/v1/* -> http://rest:3000/rpc/graphql' - url: http://rest:3000/rpc/graphql - routes: - - name: graphql-v1-all - strip_path: true - paths: - - /graphql/v1 - plugins: - - name: cors - - name: key-auth - config: - hide_credentials: true - - name: request-transformer - config: - add: - headers: - - Content-Profile:graphql_public - - name: acl - config: - hide_groups_header: true - allow: - - admin - - anon - - ## Secure Realtime routes - - name: realtime-v1-ws - _comment: 'Realtime: /realtime/v1/* -> ws://realtime:4000/socket/*' - url: http://realtime-dev.supabase-realtime:4000/socket - protocol: ws - routes: - - name: realtime-v1-ws - strip_path: true - paths: - - /realtime/v1/ - plugins: - - name: cors - - name: key-auth - config: - hide_credentials: false - - name: acl - config: - hide_groups_header: true - allow: - - admin - - anon - - name: realtime-v1-rest - _comment: 'Realtime: /realtime/v1/* -> ws://realtime:4000/socket/*' - url: http://realtime-dev.supabase-realtime:4000/api - protocol: http - routes: - - name: realtime-v1-rest - strip_path: true - paths: - - /realtime/v1/api - plugins: - - name: cors - - name: key-auth - config: - hide_credentials: false - - name: acl - config: - hide_groups_header: true - allow: - - admin - - anon - ## Storage routes: the storage server manages its own auth - - name: storage-v1 - _comment: 'Storage: /storage/v1/* -> http://storage:5000/*' - url: http://storage:5000/ - routes: - - name: storage-v1-all - strip_path: true - paths: - - /storage/v1/ - plugins: - - name: cors - - ## Edge Functions routes - - name: functions-v1 - _comment: 'Edge Functions: /functions/v1/* -> http://functions:9000/*' - url: http://functions:9000/ - routes: - - name: functions-v1-all - strip_path: true - paths: - - /functions/v1/ - plugins: - - name: cors - - ## Analytics routes - - name: analytics-v1 - _comment: 'Analytics: /analytics/v1/* -> http://logflare:4000/*' - url: http://analytics:4000/ - routes: - - name: analytics-v1-all - strip_path: true - paths: - - /analytics/v1/ - - ## Secure Database routes - - name: meta - _comment: 'pg-meta: /pg/* -> http://pg-meta:8080/*' - url: http://meta:8080/ - routes: - - name: meta-all - strip_path: true - paths: - - /pg/ - plugins: - - name: key-auth - config: - hide_credentials: false - - name: acl - config: - hide_groups_header: true - allow: - - admin - - ## Protected Dashboard - catch all remaining routes - - name: dashboard - _comment: 'Studio: /* -> http://studio:3000/*' - url: http://studio:3000/ - routes: - - name: dashboard-all - strip_path: true - paths: - - / - plugins: - - name: cors - - name: basic-auth - config: - hide_credentials: true - - filePath: /volumes/db/init/data.sql - content: | - - - filePath: /volumes/db/jwt.sql - content: | - \set jwt_secret `echo "$JWT_SECRET"` - \set jwt_exp `echo "$JWT_EXP"` - - ALTER DATABASE postgres SET "app.settings.jwt_secret" TO :'jwt_secret'; - ALTER DATABASE postgres SET "app.settings.jwt_exp" TO :'jwt_exp'; - - filePath: /volumes/db/logs.sql - content: | - \set pguser `echo "$POSTGRES_USER"` - - create schema if not exists _analytics; - alter schema _analytics owner to :pguser; - - filePath: /volumes/db/realtime.sql - content: | - \set pguser `echo "$POSTGRES_USER"` - - create schema if not exists _realtime; - alter schema _realtime owner to :pguser; - - filePath: /volumes/db/roles.sql - content: | - -- NOTE: change to your own passwords for production environments - \set pgpass `echo "$POSTGRES_PASSWORD"` - - ALTER USER authenticator WITH PASSWORD :'pgpass'; - ALTER USER pgbouncer WITH PASSWORD :'pgpass'; - ALTER USER supabase_auth_admin WITH PASSWORD :'pgpass'; - ALTER USER supabase_functions_admin WITH PASSWORD :'pgpass'; - ALTER USER supabase_storage_admin WITH PASSWORD :'pgpass'; - - filePath: /volumes/db/webhooks.sql - content: | - BEGIN; - -- Create pg_net extension - CREATE EXTENSION IF NOT EXISTS pg_net SCHEMA extensions; - -- Create supabase_functions schema - CREATE SCHEMA supabase_functions AUTHORIZATION supabase_admin; - GRANT USAGE ON SCHEMA supabase_functions TO postgres, anon, authenticated, service_role; - ALTER DEFAULT PRIVILEGES IN SCHEMA supabase_functions GRANT ALL ON TABLES TO postgres, anon, authenticated, service_role; - ALTER DEFAULT PRIVILEGES IN SCHEMA supabase_functions GRANT ALL ON FUNCTIONS TO postgres, anon, authenticated, service_role; - ALTER DEFAULT PRIVILEGES IN SCHEMA supabase_functions GRANT ALL ON SEQUENCES TO postgres, anon, authenticated, service_role; - -- supabase_functions.migrations definition - CREATE TABLE supabase_functions.migrations ( - version text PRIMARY KEY, - inserted_at timestamptz NOT NULL DEFAULT NOW() - ); - -- Initial supabase_functions migration - INSERT INTO supabase_functions.migrations (version) VALUES ('initial'); - -- supabase_functions.hooks definition - CREATE TABLE supabase_functions.hooks ( - id bigserial PRIMARY KEY, - hook_table_id integer NOT NULL, - hook_name text NOT NULL, - created_at timestamptz NOT NULL DEFAULT NOW(), - request_id bigint - ); - CREATE INDEX supabase_functions_hooks_request_id_idx ON supabase_functions.hooks USING btree (request_id); - CREATE INDEX supabase_functions_hooks_h_table_id_h_name_idx ON supabase_functions.hooks USING btree (hook_table_id, hook_name); - COMMENT ON TABLE supabase_functions.hooks IS 'Supabase Functions Hooks: Audit trail for triggered hooks.'; - CREATE FUNCTION supabase_functions.http_request() - RETURNS trigger - LANGUAGE plpgsql - AS $function$ - DECLARE - request_id bigint; - payload jsonb; - url text := TG_ARGV[0]::text; - method text := TG_ARGV[1]::text; - headers jsonb DEFAULT '{}'::jsonb; - params jsonb DEFAULT '{}'::jsonb; - timeout_ms integer DEFAULT 1000; - BEGIN - IF url IS NULL OR url = 'null' THEN - RAISE EXCEPTION 'url argument is missing'; - END IF; - - IF method IS NULL OR method = 'null' THEN - RAISE EXCEPTION 'method argument is missing'; - END IF; - - IF TG_ARGV[2] IS NULL OR TG_ARGV[2] = 'null' THEN - headers = '{"Content-Type": "application/json"}'::jsonb; - ELSE - headers = TG_ARGV[2]::jsonb; - END IF; - - IF TG_ARGV[3] IS NULL OR TG_ARGV[3] = 'null' THEN - params = '{}'::jsonb; - ELSE - params = TG_ARGV[3]::jsonb; - END IF; - - IF TG_ARGV[4] IS NULL OR TG_ARGV[4] = 'null' THEN - timeout_ms = 1000; - ELSE - timeout_ms = TG_ARGV[4]::integer; - END IF; - - CASE - WHEN method = 'GET' THEN - SELECT http_get INTO request_id FROM net.http_get( - url, - params, - headers, - timeout_ms - ); - WHEN method = 'POST' THEN - payload = jsonb_build_object( - 'old_record', OLD, - 'record', NEW, - 'type', TG_OP, - 'table', TG_TABLE_NAME, - 'schema', TG_TABLE_SCHEMA - ); - - SELECT http_post INTO request_id FROM net.http_post( - url, - payload, - params, - headers, - timeout_ms - ); - ELSE - RAISE EXCEPTION 'method argument % is invalid', method; - END CASE; - - INSERT INTO supabase_functions.hooks - (hook_table_id, hook_name, request_id) - VALUES - (TG_RELID, TG_NAME, request_id); - - RETURN NEW; - END - $function$; - -- Supabase super admin - DO - $$ - BEGIN - IF NOT EXISTS ( - SELECT 1 - FROM pg_roles - WHERE rolname = 'supabase_functions_admin' - ) - THEN - CREATE USER supabase_functions_admin NOINHERIT CREATEROLE LOGIN NOREPLICATION; - END IF; - END - $$; - GRANT ALL PRIVILEGES ON SCHEMA supabase_functions TO supabase_functions_admin; - GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA supabase_functions TO supabase_functions_admin; - GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA supabase_functions TO supabase_functions_admin; - ALTER USER supabase_functions_admin SET search_path = "supabase_functions"; - ALTER table "supabase_functions".migrations OWNER TO supabase_functions_admin; - ALTER table "supabase_functions".hooks OWNER TO supabase_functions_admin; - ALTER function "supabase_functions".http_request() OWNER TO supabase_functions_admin; - GRANT supabase_functions_admin TO postgres; - -- Remove unused supabase_pg_net_admin role - DO - $$ - BEGIN - IF EXISTS ( - SELECT 1 - FROM pg_roles - WHERE rolname = 'supabase_pg_net_admin' - ) - THEN - REASSIGN OWNED BY supabase_pg_net_admin TO supabase_admin; - DROP OWNED BY supabase_pg_net_admin; - DROP ROLE supabase_pg_net_admin; - END IF; - END - $$; - -- pg_net grants when extension is already enabled - DO - $$ - BEGIN - IF EXISTS ( - SELECT 1 - FROM pg_extension - WHERE extname = 'pg_net' - ) - THEN - GRANT USAGE ON SCHEMA net TO supabase_functions_admin, postgres, anon, authenticated, service_role; - ALTER function net.http_get(url text, params jsonb, headers jsonb, timeout_milliseconds integer) SECURITY DEFINER; - ALTER function net.http_post(url text, body jsonb, params jsonb, headers jsonb, timeout_milliseconds integer) SECURITY DEFINER; - ALTER function net.http_get(url text, params jsonb, headers jsonb, timeout_milliseconds integer) SET search_path = net; - ALTER function net.http_post(url text, body jsonb, params jsonb, headers jsonb, timeout_milliseconds integer) SET search_path = net; - REVOKE ALL ON FUNCTION net.http_get(url text, params jsonb, headers jsonb, timeout_milliseconds integer) FROM PUBLIC; - REVOKE ALL ON FUNCTION net.http_post(url text, body jsonb, params jsonb, headers jsonb, timeout_milliseconds integer) FROM PUBLIC; - GRANT EXECUTE ON FUNCTION net.http_get(url text, params jsonb, headers jsonb, timeout_milliseconds integer) TO supabase_functions_admin, postgres, anon, authenticated, service_role; - GRANT EXECUTE ON FUNCTION net.http_post(url text, body jsonb, params jsonb, headers jsonb, timeout_milliseconds integer) TO supabase_functions_admin, postgres, anon, authenticated, service_role; - END IF; - END - $$; - -- Event trigger for pg_net - CREATE OR REPLACE FUNCTION extensions.grant_pg_net_access() - RETURNS event_trigger - LANGUAGE plpgsql - AS $$ - BEGIN - IF EXISTS ( - SELECT 1 - FROM pg_event_trigger_ddl_commands() AS ev - JOIN pg_extension AS ext - ON ev.objid = ext.oid - WHERE ext.extname = 'pg_net' - ) - THEN - GRANT USAGE ON SCHEMA net TO supabase_functions_admin, postgres, anon, authenticated, service_role; - ALTER function net.http_get(url text, params jsonb, headers jsonb, timeout_milliseconds integer) SECURITY DEFINER; - ALTER function net.http_post(url text, body jsonb, params jsonb, headers jsonb, timeout_milliseconds integer) SECURITY DEFINER; - ALTER function net.http_get(url text, params jsonb, headers jsonb, timeout_milliseconds integer) SET search_path = net; - ALTER function net.http_post(url text, body jsonb, params jsonb, headers jsonb, timeout_milliseconds integer) SET search_path = net; - REVOKE ALL ON FUNCTION net.http_get(url text, params jsonb, headers jsonb, timeout_milliseconds integer) FROM PUBLIC; - REVOKE ALL ON FUNCTION net.http_post(url text, body jsonb, params jsonb, headers jsonb, timeout_milliseconds integer) FROM PUBLIC; - GRANT EXECUTE ON FUNCTION net.http_get(url text, params jsonb, headers jsonb, timeout_milliseconds integer) TO supabase_functions_admin, postgres, anon, authenticated, service_role; - GRANT EXECUTE ON FUNCTION net.http_post(url text, body jsonb, params jsonb, headers jsonb, timeout_milliseconds integer) TO supabase_functions_admin, postgres, anon, authenticated, service_role; - END IF; - END; - $$; - COMMENT ON FUNCTION extensions.grant_pg_net_access IS 'Grants access to pg_net'; - DO - $$ - BEGIN - IF NOT EXISTS ( - SELECT 1 - FROM pg_event_trigger - WHERE evtname = 'issue_pg_net_access' - ) THEN - CREATE EVENT TRIGGER issue_pg_net_access ON ddl_command_end WHEN TAG IN ('CREATE EXTENSION') - EXECUTE PROCEDURE extensions.grant_pg_net_access(); - END IF; - END - $$; - INSERT INTO supabase_functions.migrations (version) VALUES ('20210809183423_update_grants'); - ALTER function supabase_functions.http_request() SECURITY DEFINER; - ALTER function supabase_functions.http_request() SET search_path = supabase_functions; - REVOKE ALL ON FUNCTION supabase_functions.http_request() FROM PUBLIC; - GRANT EXECUTE ON FUNCTION supabase_functions.http_request() TO postgres, anon, authenticated, service_role; - COMMIT; - - filePath: /volumes/functions/hello/index.ts - content: | - // Follow this setup guide to integrate the Deno language server with your editor: - // https://deno.land/manual/getting_started/setup_your_environment - // This enables autocomplete, go to definition, etc. - - import { serve } from "https://deno.land/std@0.177.1/http/server.ts" - - serve(async () => { - return new Response( - `"Hello from Edge Functions!"`, - { headers: { "Content-Type": "application/json" } } - ) - }) - - // To invoke: - // curl 'http://localhost:/functions/v1/hello' \ - // --header 'Authorization: Bearer ' - - filePath: /volumes/functions/main/index.ts - content: | - import { serve } from 'https://deno.land/std@0.131.0/http/server.ts' - import * as jose from 'https://deno.land/x/jose@v4.14.4/index.ts' - - console.log('main function started') - - const JWT_SECRET = Deno.env.get('JWT_SECRET') - const VERIFY_JWT = Deno.env.get('VERIFY_JWT') === 'true' - - function getAuthToken(req: Request) { - const authHeader = req.headers.get('authorization') - if (!authHeader) { - throw new Error('Missing authorization header') - } - const [bearer, token] = authHeader.split(' ') - if (bearer !== 'Bearer') { - throw new Error(`Auth header is not 'Bearer {token}'`) - } - return token - } - - async function verifyJWT(jwt: string): Promise { - const encoder = new TextEncoder() - const secretKey = encoder.encode(JWT_SECRET) - try { - await jose.jwtVerify(jwt, secretKey) - } catch (err) { - console.error(err) - return false - } - return true - } - - serve(async (req: Request) => { - if (req.method !== 'OPTIONS' && VERIFY_JWT) { - try { - const token = getAuthToken(req) - const isValidJWT = await verifyJWT(token) - - if (!isValidJWT) { - return new Response(JSON.stringify({ msg: 'Invalid JWT' }), { - status: 401, - headers: { 'Content-Type': 'application/json' }, - }) - } - } catch (e) { - console.error(e) - return new Response(JSON.stringify({ msg: e.toString() }), { - status: 401, - headers: { 'Content-Type': 'application/json' }, - }) - } - } - - const url = new URL(req.url) - const { pathname } = url - const path_parts = pathname.split('/') - const service_name = path_parts[1] - - if (!service_name || service_name === '') { - const error = { msg: 'missing function name in request' } - return new Response(JSON.stringify(error), { - status: 400, - headers: { 'Content-Type': 'application/json' }, - }) - } - - const servicePath = `/home/deno/functions/${service_name}` - console.error(`serving the request with ${servicePath}`) - - const memoryLimitMb = 150 - const workerTimeoutMs = 1 * 60 * 1000 - const noModuleCache = false - const importMapPath = null - const envVarsObj = Deno.env.toObject() - const envVars = Object.keys(envVarsObj).map((k) => [k, envVarsObj[k]]) - - try { - const worker = await EdgeRuntime.userWorkers.create({ - servicePath, - memoryLimitMb, - workerTimeoutMs, - noModuleCache, - importMapPath, - envVars, - }) - return await worker.fetch(req) - } catch (e) { - const error = { msg: e.toString() } - return new Response(JSON.stringify(error), { - status: 500, - headers: { 'Content-Type': 'application/json' }, - }) - } - }) - - filePath: /volumes/logs/vector.yml - content: | - - api: - enabled: true - address: 0.0.0.0:9001 - - sources: - docker_host: - type: docker_logs - exclude_containers: - - supabase-vector - - transforms: - project_logs: - type: remap - inputs: - - docker_host - source: |- - .project = "default" - .event_message = del(.message) - .appname = del(.container_name) - del(.container_created_at) - del(.container_id) - del(.source_type) - del(.stream) - del(.label) - del(.image) - del(.host) - del(.stream) - router: - type: route - inputs: - - project_logs - route: - kong: '.appname == "supabase-kong"' - auth: '.appname == "supabase-auth"' - rest: '.appname == "supabase-rest"' - realtime: '.appname == "supabase-realtime"' - storage: '.appname == "supabase-storage"' - functions: '.appname == "supabase-functions"' - db: '.appname == "supabase-db"' - # Ignores non nginx errors since they are related with kong booting up - kong_logs: - type: remap - inputs: - - router.kong - source: |- - req, err = parse_nginx_log(.event_message, "combined") - if err == null { - .timestamp = req.timestamp - .metadata.request.headers.referer = req.referer - .metadata.request.headers.user_agent = req.agent - .metadata.request.headers.cf_connecting_ip = req.client - .metadata.request.method = req.method - .metadata.request.path = req.path - .metadata.request.protocol = req.protocol - .metadata.response.status_code = req.status - } - if err != null { - abort - } - # Ignores non nginx errors since they are related with kong booting up - kong_err: - type: remap - inputs: - - router.kong - source: |- - .metadata.request.method = "GET" - .metadata.response.status_code = 200 - parsed, err = parse_nginx_log(.event_message, "error") - if err == null { - .timestamp = parsed.timestamp - .severity = parsed.severity - .metadata.request.host = parsed.host - .metadata.request.headers.cf_connecting_ip = parsed.client - url, err = split(parsed.request, " ") - if err == null { - .metadata.request.method = url[0] - .metadata.request.path = url[1] - .metadata.request.protocol = url[2] - } - } - if err != null { - abort - } - # Gotrue logs are structured json strings which frontend parses directly. But we keep metadata for consistency. - auth_logs: - type: remap - inputs: - - router.auth - source: |- - parsed, err = parse_json(.event_message) - if err == null { - .metadata.timestamp = parsed.time - .metadata = merge!(.metadata, parsed) - } - # PostgREST logs are structured so we separate timestamp from message using regex - rest_logs: - type: remap - inputs: - - router.rest - source: |- - parsed, err = parse_regex(.event_message, r'^(?P