Merge branch 'next' into fix-cloning

This commit is contained in:
🏔️ Peak
2025-01-10 18:17:22 +01:00
committed by GitHub
7 changed files with 137 additions and 12 deletions

View File

@@ -67,6 +67,10 @@ class StartDatabaseProxy
$type = \App\Models\StandaloneClickhouse::class; $type = \App\Models\StandaloneClickhouse::class;
$containerName = "clickhouse-{$database->service->uuid}"; $containerName = "clickhouse-{$database->service->uuid}";
break; break;
case 'standalone-supabase/postgres':
$type = \App\Models\StandalonePostgresql::class;
$containerName = "supabase-db-{$database->service->uuid}";
break;
} }
} }
if ($type === \App\Models\StandaloneRedis::class) { if ($type === \App\Models\StandaloneRedis::class) {

BIN
public/svgs/teable.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -12,6 +12,8 @@ services:
condition: service_healthy condition: service_healthy
environment: environment:
- SERVICE_FQDN_LABELSTUDIO_8080 - SERVICE_FQDN_LABELSTUDIO_8080
- CSRF_TRUSTED_ORIGINS=${SERVICE_FQDN_LABELSTUDIO}
- EXPERIMENTAL_FEATURES=${EXPERIMENTAL_FEATURES:-false}
- DJANGO_DB=${DJANGO_DB:-default} - DJANGO_DB=${DJANGO_DB:-default}
- POSTGRE_NAME=${POSTGRES_DB:-labelstudio} - POSTGRE_NAME=${POSTGRES_DB:-labelstudio}
- POSTGRE_USER=${SERVICE_USER_POSTGRES} - POSTGRE_USER=${SERVICE_USER_POSTGRES}

View File

@@ -15,6 +15,7 @@ services:
condition: service_healthy condition: service_healthy
environment: environment:
- SERVICE_FQDN_SUPABASEKONG_8000 - SERVICE_FQDN_SUPABASEKONG_8000
- KONG_PORT_MAPS=443:8000
- JWT_SECRET=${SERVICE_PASSWORD_JWT} - JWT_SECRET=${SERVICE_PASSWORD_JWT}
- KONG_DATABASE=off - KONG_DATABASE=off
- KONG_DECLARATIVE_CONFIG=/home/kong/kong.yml - KONG_DECLARATIVE_CONFIG=/home/kong/kong.yml
@@ -278,7 +279,7 @@ services:
config: config:
hide_credentials: true hide_credentials: true
supabase-studio: supabase-studio:
image: supabase/studio:20240923-2e3e90c image: supabase/studio:20241202-71e5240
healthcheck: healthcheck:
test: test:
[ [
@@ -317,7 +318,7 @@ services:
# NEXT_ANALYTICS_BACKEND_PROVIDER=bigquery # NEXT_ANALYTICS_BACKEND_PROVIDER=bigquery
- 'OPENAI_API_KEY=${OPENAI_API_KEY}' - 'OPENAI_API_KEY=${OPENAI_API_KEY}'
supabase-db: supabase-db:
image: supabase/postgres:15.1.1.78 image: supabase/postgres:15.6.1.146
healthcheck: healthcheck:
test: pg_isready -U postgres -h 127.0.0.1 test: pg_isready -U postgres -h 127.0.0.1
interval: 5s interval: 5s
@@ -367,6 +368,7 @@ services:
\c _supabase \c _supabase
create schema if not exists _supavisor; create schema if not exists _supavisor;
alter schema _supavisor owner to :pguser; alter schema _supavisor owner to :pguser;
\c postgres
- type: bind - type: bind
source: ./volumes/db/webhooks.sql source: ./volumes/db/webhooks.sql
target: /docker-entrypoint-initdb.d/init-scripts/98-webhooks.sql target: /docker-entrypoint-initdb.d/init-scripts/98-webhooks.sql
@@ -610,6 +612,7 @@ services:
\c _supabase \c _supabase
create schema if not exists _analytics; create schema if not exists _analytics;
alter schema _analytics owner to :pguser; alter schema _analytics owner to :pguser;
\c postgres
# Use named volume to persist pgsodium decryption key between restarts # Use named volume to persist pgsodium decryption key between restarts
- supabase-db-config:/etc/postgresql-custom - supabase-db-config:/etc/postgresql-custom
@@ -928,7 +931,7 @@ services:
command: "postgrest" command: "postgrest"
exclude_from_hc: true exclude_from_hc: true
supabase-auth: supabase-auth:
image: supabase/gotrue:v2.158.1 image: supabase/gotrue:v2.164.0
depends_on: depends_on:
supabase-db: supabase-db:
# Disable this if you are using an external Postgres database # Disable this if you are using an external Postgres database
@@ -1019,7 +1022,7 @@ services:
realtime-dev: realtime-dev:
# This container name looks inconsistent but is correct because realtime constructs tenant id by parsing the subdomain # This container name looks inconsistent but is correct because realtime constructs tenant id by parsing the subdomain
image: supabase/realtime:v2.30.34 image: supabase/realtime:v2.33.70
container_name: realtime-dev.supabase-realtime container_name: realtime-dev.supabase-realtime
depends_on: depends_on:
supabase-db: supabase-db:
@@ -1062,6 +1065,9 @@ services:
- RLIMIT_NOFILE=10000 - RLIMIT_NOFILE=10000
- APP_NAME=realtime - APP_NAME=realtime
- SEED_SELF_HOST=true - SEED_SELF_HOST=true
- LOG_LEVEL=error
- RUN_JANITOR=true
- JANITOR_INTERVAL=60000
command: > command: >
sh -c "/app/bin/migrate && /app/bin/realtime eval 'Realtime.Release.seeds(Realtime.Repo)' && /app/bin/server" sh -c "/app/bin/migrate && /app/bin/realtime eval 'Realtime.Release.seeds(Realtime.Repo)' && /app/bin/server"
supabase-minio: supabase-minio:
@@ -1099,7 +1105,7 @@ services:
exit 0 exit 0
supabase-storage: supabase-storage:
image: supabase/storage-api:v1.10.1 image: supabase/storage-api:v1.14.6
depends_on: depends_on:
supabase-db: supabase-db:
# Disable this if you are using an external Postgres database # Disable this if you are using an external Postgres database
@@ -1138,12 +1144,14 @@ services:
- UPLOAD_FILE_SIZE_LIMIT=524288000 - UPLOAD_FILE_SIZE_LIMIT=524288000
- UPLOAD_FILE_SIZE_LIMIT_STANDARD=524288000 - UPLOAD_FILE_SIZE_LIMIT_STANDARD=524288000
- UPLOAD_SIGNED_URL_EXPIRATION_TIME=120 - UPLOAD_SIGNED_URL_EXPIRATION_TIME=120
- TUS_URL_PATH=/upload/resumable - TUS_URL_PATH=upload/resumable
- TUS_MAX_SIZE=3600000 - TUS_MAX_SIZE=3600000
- ENABLE_IMAGE_TRANSFORMATION=true - ENABLE_IMAGE_TRANSFORMATION=true
- IMGPROXY_URL=http://imgproxy:8080 - IMGPROXY_URL=http://imgproxy:8080
- IMGPROXY_REQUEST_TIMEOUT=15 - IMGPROXY_REQUEST_TIMEOUT=15
- DATABASE_SEARCH_PATH=storage - DATABASE_SEARCH_PATH=storage
- NODE_ENV=production
- REQUEST_ALLOW_X_FORWARDED_PATH=true
# - ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjogImFub24iLAogICJpc3MiOiAic3VwYWJhc2UiLAogICJpYXQiOiAxNzA4OTg4NDAwLAogICJleHAiOiAxODY2ODQxMjAwCn0.jCDqsoXGT58JnAjf27KOowNQsokkk0aR7rdbGG18P-8 # - ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjogImFub24iLAogICJpc3MiOiAic3VwYWJhc2UiLAogICJpYXQiOiAxNzA4OTg4NDAwLAogICJleHAiOiAxODY2ODQxMjAwCn0.jCDqsoXGT58JnAjf27KOowNQsokkk0aR7rdbGG18P-8
# - SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjogInNlcnZpY2Vfcm9sZSIsCiAgImlzcyI6ICJzdXBhYmFzZSIsCiAgImlhdCI6IDE3MDg5ODg0MDAsCiAgImV4cCI6IDE4NjY4NDEyMDAKfQ.GA7yF2BmqTzqGkP_oqDdJAQVt0djjIxGYuhE0zFDJV4 # - SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjogInNlcnZpY2Vfcm9sZSIsCiAgImlzcyI6ICJzdXBhYmFzZSIsCiAgImlhdCI6IDE3MDg5ODg0MDAsCiAgImV4cCI6IDE4NjY4NDEyMDAKfQ.GA7yF2BmqTzqGkP_oqDdJAQVt0djjIxGYuhE0zFDJV4
@@ -1183,7 +1191,7 @@ services:
- ./volumes/storage:/var/lib/storage - ./volumes/storage:/var/lib/storage
supabase-meta: supabase-meta:
image: supabase/postgres-meta:v0.83.2 image: supabase/postgres-meta:v0.84.2
depends_on: depends_on:
supabase-db: supabase-db:
# Disable this if you are using an external Postgres database # Disable this if you are using an external Postgres database
@@ -1199,7 +1207,7 @@ services:
- PG_META_DB_PASSWORD=${SERVICE_PASSWORD_POSTGRES} - PG_META_DB_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
supabase-edge-functions: supabase-edge-functions:
image: supabase/edge-runtime:v1.58.3 image: supabase/edge-runtime:v1.65.3
depends_on: depends_on:
supabase-analytics: supabase-analytics:
condition: service_healthy condition: service_healthy

View File

@@ -0,0 +1,88 @@
# documentation: https://help.teable.io/
# slogan: Teable is a powerful visual interface built on relational databases (PostgreSQL).
# tags: airtable, teable, database, visual, interface, relational, postgresql
# logo: svgs/teable.png
# port: 3000
services:
teable:
image: ghcr.io/teableio/teable:latest
volumes:
- teable_data:/app/.assets:rw
environment:
- SERVICE_FQDN_TEABLE_3000
- PUBLIC_ORIGIN=${SERVICE_FQDN_TEABLE}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- SECRET_KEY=${SERVICE_PASSWORD_64_SECRET}
- TZ=${TIMEZONE}
- PRISMA_DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@teable-db:${POSTGRES_PORT}/${POSTGRES_DB}
- NEXT_ENV_IMAGES_ALL_REMOTE=true
- PORT=3000
- REDIS_PASSWORD=${SERVICE_PASSWORD_REDIS}
- BACKEND_CACHE_PROVIDER=redis
- BACKEND_CACHE_REDIS_URI=redis://default:${SERVICE_PASSWORD_REDIS}@teable-cache:6379/0
- BACKEND_MAIL_HOST=${BACKEND_MAIL_HOST}
- BACKEND_MAIL_PORT=${BACKEND_MAIL_PORT}
- BACKEND_MAIL_SECURE=${BACKEND_MAIL_SECURE}
- BACKEND_MAIL_SENDER=${BACKEND_MAIL_SENDER}
- BACKEND_MAIL_SENDER_NAME=${BACKEND_MAIL_SENDER_NAME}
- BACKEND_MAIL_AUTH_USER=${BACKEND_MAIL_AUTH_USER}
- BACKEND_MAIL_AUTH_PASS=${BACKEND_MAIL_AUTH_PASS}
depends_on:
teable-cache:
condition: service_healthy
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://127.0.0.1:3000'
interval: 5s
timeout: 20s
retries: 10
teable-db:
image: postgres:15.4
volumes:
- teable_db_data:/var/lib/postgresql/data:rw
environment:
- TZ=${TIMEZONE}
- POSTGRES_DB=${POSTGRES_DB:-teable}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_PORT=${POSTGRES_PORT:-5432}
healthcheck:
test:
- CMD-SHELL
- 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}'
interval: 5s
timeout: 20s
retries: 10
teable-db-migrate:
image: ghcr.io/teableio/teable-db-migrate:latest
restart: no
environment:
- TZ=${TIMEZONE}
- PRISMA_DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@teable-db:${POSTGRES_PORT}/${POSTGRES_DB}
depends_on:
teable-db:
condition: service_healthy
teable-cache:
image: redis:7.2.4
environment:
- REDIS_PORT=6379
- REDIS_DB=0
- REDIS_PASSWORD=${SERVICE_PASSWORD_REDIS}
volumes:
- teable_cache_data:/data:rw
command: redis-server --appendonly yes --requirepass ${SERVICE_PASSWORD_REDIS}
healthcheck:
test:
- CMD
- redis-cli
- '--raw'
- incr
- ping
interval: 10s
timeout: 3s
retries: 3

View File

@@ -23,8 +23,14 @@ services:
- RESEND_API_KEY=${RESEND_API_KEY} - RESEND_API_KEY=${RESEND_API_KEY}
- FROM_EMAIL=${FROM_EMAIL} - FROM_EMAIL=${FROM_EMAIL}
- REPLY_TO_EMAIL=${REPLY_TO_EMAIL} - REPLY_TO_EMAIL=${REPLY_TO_EMAIL}
- REDIS_HOST=${REDIS_HOST}
- REDIS_PORT=${REDIS_PORT}
- REDIS_USERNAME=${REDIS_USERNAME}
- REDIS_PASSWORD=${REDIS_PASSWORD}
- REDIS_TLS_DISABLED=${REDIS_TLS_DISABLED:-true}
healthcheck: healthcheck:
test: "timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3000' || exit 1" test: "timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3000' || exit 1"
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5

File diff suppressed because one or more lines are too long