Merge pull request #4727 from Syiana/main

teable service
This commit is contained in:
🏔️ Peak
2025-01-09 17:31:21 +01:00
committed by GitHub
2 changed files with 89 additions and 0 deletions

BIN
public/svgs/teable.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -0,0 +1,89 @@
# 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
version: '3.9'
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:/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:rw'
command: 'redis-server --appendonly yes --requirepass ${SERVICE_PASSWORD_REDIS}'
healthcheck:
test:
- CMD
- redis-cli
- '--raw'
- incr
- ping
interval: 10s
timeout: 3s
retries: 3