Merge branch 'next' into fix-cloning
This commit is contained in:
@@ -67,6 +67,10 @@ class StartDatabaseProxy
|
||||
$type = \App\Models\StandaloneClickhouse::class;
|
||||
$containerName = "clickhouse-{$database->service->uuid}";
|
||||
break;
|
||||
case 'standalone-supabase/postgres':
|
||||
$type = \App\Models\StandalonePostgresql::class;
|
||||
$containerName = "supabase-db-{$database->service->uuid}";
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($type === \App\Models\StandaloneRedis::class) {
|
||||
|
BIN
public/svgs/teable.png
Normal file
BIN
public/svgs/teable.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
@@ -12,6 +12,8 @@ services:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- SERVICE_FQDN_LABELSTUDIO_8080
|
||||
- CSRF_TRUSTED_ORIGINS=${SERVICE_FQDN_LABELSTUDIO}
|
||||
- EXPERIMENTAL_FEATURES=${EXPERIMENTAL_FEATURES:-false}
|
||||
- DJANGO_DB=${DJANGO_DB:-default}
|
||||
- POSTGRE_NAME=${POSTGRES_DB:-labelstudio}
|
||||
- POSTGRE_USER=${SERVICE_USER_POSTGRES}
|
||||
|
@@ -15,6 +15,7 @@ services:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- SERVICE_FQDN_SUPABASEKONG_8000
|
||||
- KONG_PORT_MAPS=443:8000
|
||||
- JWT_SECRET=${SERVICE_PASSWORD_JWT}
|
||||
- KONG_DATABASE=off
|
||||
- KONG_DECLARATIVE_CONFIG=/home/kong/kong.yml
|
||||
@@ -278,7 +279,7 @@ services:
|
||||
config:
|
||||
hide_credentials: true
|
||||
supabase-studio:
|
||||
image: supabase/studio:20240923-2e3e90c
|
||||
image: supabase/studio:20241202-71e5240
|
||||
healthcheck:
|
||||
test:
|
||||
[
|
||||
@@ -317,7 +318,7 @@ services:
|
||||
# NEXT_ANALYTICS_BACKEND_PROVIDER=bigquery
|
||||
- 'OPENAI_API_KEY=${OPENAI_API_KEY}'
|
||||
supabase-db:
|
||||
image: supabase/postgres:15.1.1.78
|
||||
image: supabase/postgres:15.6.1.146
|
||||
healthcheck:
|
||||
test: pg_isready -U postgres -h 127.0.0.1
|
||||
interval: 5s
|
||||
@@ -367,6 +368,7 @@ services:
|
||||
\c _supabase
|
||||
create schema if not exists _supavisor;
|
||||
alter schema _supavisor owner to :pguser;
|
||||
\c postgres
|
||||
- type: bind
|
||||
source: ./volumes/db/webhooks.sql
|
||||
target: /docker-entrypoint-initdb.d/init-scripts/98-webhooks.sql
|
||||
@@ -610,6 +612,7 @@ services:
|
||||
\c _supabase
|
||||
create schema if not exists _analytics;
|
||||
alter schema _analytics owner to :pguser;
|
||||
\c postgres
|
||||
# Use named volume to persist pgsodium decryption key between restarts
|
||||
- supabase-db-config:/etc/postgresql-custom
|
||||
|
||||
@@ -928,7 +931,7 @@ services:
|
||||
command: "postgrest"
|
||||
exclude_from_hc: true
|
||||
supabase-auth:
|
||||
image: supabase/gotrue:v2.158.1
|
||||
image: supabase/gotrue:v2.164.0
|
||||
depends_on:
|
||||
supabase-db:
|
||||
# Disable this if you are using an external Postgres database
|
||||
@@ -1019,7 +1022,7 @@ services:
|
||||
|
||||
realtime-dev:
|
||||
# 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
|
||||
depends_on:
|
||||
supabase-db:
|
||||
@@ -1062,6 +1065,9 @@ services:
|
||||
- RLIMIT_NOFILE=10000
|
||||
- APP_NAME=realtime
|
||||
- SEED_SELF_HOST=true
|
||||
- LOG_LEVEL=error
|
||||
- RUN_JANITOR=true
|
||||
- JANITOR_INTERVAL=60000
|
||||
command: >
|
||||
sh -c "/app/bin/migrate && /app/bin/realtime eval 'Realtime.Release.seeds(Realtime.Repo)' && /app/bin/server"
|
||||
supabase-minio:
|
||||
@@ -1099,7 +1105,7 @@ services:
|
||||
exit 0
|
||||
|
||||
supabase-storage:
|
||||
image: supabase/storage-api:v1.10.1
|
||||
image: supabase/storage-api:v1.14.6
|
||||
depends_on:
|
||||
supabase-db:
|
||||
# Disable this if you are using an external Postgres database
|
||||
@@ -1138,12 +1144,14 @@ services:
|
||||
- UPLOAD_FILE_SIZE_LIMIT=524288000
|
||||
- UPLOAD_FILE_SIZE_LIMIT_STANDARD=524288000
|
||||
- UPLOAD_SIGNED_URL_EXPIRATION_TIME=120
|
||||
- TUS_URL_PATH=/upload/resumable
|
||||
- TUS_URL_PATH=upload/resumable
|
||||
- TUS_MAX_SIZE=3600000
|
||||
- ENABLE_IMAGE_TRANSFORMATION=true
|
||||
- IMGPROXY_URL=http://imgproxy:8080
|
||||
- IMGPROXY_REQUEST_TIMEOUT=15
|
||||
- DATABASE_SEARCH_PATH=storage
|
||||
- NODE_ENV=production
|
||||
- REQUEST_ALLOW_X_FORWARDED_PATH=true
|
||||
|
||||
# - ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjogImFub24iLAogICJpc3MiOiAic3VwYWJhc2UiLAogICJpYXQiOiAxNzA4OTg4NDAwLAogICJleHAiOiAxODY2ODQxMjAwCn0.jCDqsoXGT58JnAjf27KOowNQsokkk0aR7rdbGG18P-8
|
||||
# - SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjogInNlcnZpY2Vfcm9sZSIsCiAgImlzcyI6ICJzdXBhYmFzZSIsCiAgImlhdCI6IDE3MDg5ODg0MDAsCiAgImV4cCI6IDE4NjY4NDEyMDAKfQ.GA7yF2BmqTzqGkP_oqDdJAQVt0djjIxGYuhE0zFDJV4
|
||||
@@ -1183,7 +1191,7 @@ services:
|
||||
- ./volumes/storage:/var/lib/storage
|
||||
|
||||
supabase-meta:
|
||||
image: supabase/postgres-meta:v0.83.2
|
||||
image: supabase/postgres-meta:v0.84.2
|
||||
depends_on:
|
||||
supabase-db:
|
||||
# Disable this if you are using an external Postgres database
|
||||
@@ -1199,7 +1207,7 @@ services:
|
||||
- PG_META_DB_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||
|
||||
supabase-edge-functions:
|
||||
image: supabase/edge-runtime:v1.58.3
|
||||
image: supabase/edge-runtime:v1.65.3
|
||||
depends_on:
|
||||
supabase-analytics:
|
||||
condition: service_healthy
|
||||
|
88
templates/compose/teable.yaml
Normal file
88
templates/compose/teable.yaml
Normal 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
|
@@ -23,8 +23,14 @@ services:
|
||||
- RESEND_API_KEY=${RESEND_API_KEY}
|
||||
- FROM_EMAIL=${FROM_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:
|
||||
test: "timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3000' || exit 1"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
retries: 5
|
||||
|
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user