teable service
This commit is contained in:
		
							
								
								
									
										
											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  | 
							
								
								
									
										82
									
								
								templates/compose/teable.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								templates/compose/teable.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,82 @@
 | 
				
			|||||||
 | 
					# 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'
 | 
				
			||||||
 | 
					    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
 | 
				
			||||||
		Reference in New Issue
	
	Block a user