Teable images are available in two editions: Enterprise Edition (EE) and Community Edition (CE). To switch between versions, simply add the "-ee" suffix to the image name.
EE
Enterprise Edition is now in the preview test, mail to support@teable.io we will give a 1-month trial license
The Enterprise Edition offers free access to all features included in the Community Edition. It also supports the use of a License to subscribe to exclusive Enterprise features, which can be reviewed on the . Data in the Enterprise Edition is compatible with the Community Edition, allowing for interchangeable switching between versions.
The Community Edition is an image built from open-source code and does not include any features of the Enterprise Edition. Data is compatible with the Enterprise Edition, allowing for seamless switching to the Enterprise version at any time.
Migrate from the CE
Details
One-Click Cloud Deployment
EE
Enterprise Edition offers all of the Community Edition features for free. To activate Enterprise features:
Deploy and copy the Instance Id
Email support@teable.io with the Instance Id to get a trial LICENSE
# replace the default password
POSTGRES_PASSWORD=replace_this_password
REDIS_PASSWORD=replace_this_password
SECRET_KEY=replace_this_secret_key
# replace the following with a publicly accessible address
PUBLIC_ORIGIN=http://127.0.0.1:3000
# ---------------------
# Postgres
POSTGRES_HOST=teable-db
POSTGRES_PORT=5432
POSTGRES_DB=teable
POSTGRES_USER=teable
# Redis
REDIS_HOST=teable-cache
REDIS_PORT=6379
REDIS_DB=0
# App
PRISMA_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}
BACKEND_CACHE_PROVIDER=redis
BACKEND_CACHE_REDIS_URI=redis://default:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}/${REDIS_DB}
Note: The minimum deployment of the Community Edition lacks Redis and cannot be directly upgraded to the Enterprise Edition. It is recommended to add the Redis component (see solution below).
# replace the default password
POSTGRES_PASSWORD=replace_this_password
REDIS_PASSWORD=replace_this_password
SECRET_KEY=replace_this_secret_key
# if enabled https please replace it
PROTOCAL=http
# Please set PUBLIC_HOST to the IP address or domain name of the currently deployed host. You cannot use localhost or 127.0.0.1.
PUBLIC_HOST=192.168.x.x
# Please modify the final port to the port of the official access address. If it's 80 or 443, you can remove the : and port number.
PUBLIC_ORIGIN=${PROTOCAL}://${PUBLIC_HOST}:3000
# ---------------------
# Postgres
POSTGRES_HOST=teable-db
POSTGRES_PORT=5432
POSTGRES_DB=teable
POSTGRES_USER=teable
# Redis
REDIS_HOST=teable-cache
REDIS_PORT=6379
REDIS_DB=0
# Minio
MINIO_ACCESS_KEY=teable_minio_access
MINIO_SECRET_KEY=${SECRET_KEY}
# App
PRISMA_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}
BACKEND_CACHE_PROVIDER=redis
BACKEND_CACHE_REDIS_URI=redis://default:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}/${REDIS_DB}
BACKEND_STORAGE_PROVIDER=minio
BACKEND_STORAGE_PUBLIC_BUCKET=public
BACKEND_STORAGE_PRIVATE_BUCKET=private
BACKEND_STORAGE_MINIO_USE_SSL=false # if https enabled please change it to true
BACKEND_STORAGE_MINIO_ENDPOINT=${PUBLIC_HOST}
BACKEND_STORAGE_MINIO_PORT=9000
BACKEND_STORAGE_MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
BACKEND_STORAGE_MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
BACKEND_STORAGE_MINIO_INTERNAL_ENDPOINT=teable-storage
BACKEND_STORAGE_MINIO_INTERNAL_PORT=9000
STORAGE_PREFIX=${PROTOCAL}://${PUBLIC_HOST}:${BACKEND_STORAGE_MINIO_PORT}
You need to create two buckets on MinIO. One public bucket for storing avatars and form header images, and one private bucket for storing attachment contents.
.env:
# ...previous content
# minio provider
BACKEND_STORAGE_PROVIDER=minio
# public bucket name
BACKEND_STORAGE_PUBLIC_BUCKET=public
# private bucket name
BACKEND_STORAGE_PRIVATE_BUCKET=private
# minio endpoint ip or domain
BACKEND_STORAGE_MINIO_ENDPOINT=minio.example.com
# minio port
BACKEND_STORAGE_MINIO_PORT=443
# minio access key
BACKEND_STORAGE_MINIO_ACCESS_KEY=_minio_access_key_
# minio secret key
BACKEND_STORAGE_MINIO_SECRET_KEY=_minio_secret_key_
# full external address
STORAGE_PREFIX=https://minio.example.com
You need to create two buckets on S3. One public bucket for storing avatars and form header images, and one private bucket for storing attachment content.
.env:
# ...previous content
# use s3 standard provider
BACKEND_STORAGE_PROVIDER: s3
# region name
BACKEND_STORAGE_S3_REGION: us-east-2
# endpoint,protocal is required (https)
BACKEND_STORAGE_S3_ENDPOINT: https://s3.us-east-2.amazonaws.com
# access key
BACKEND_STORAGE_S3_ACCESS_KEY: access_key
# secret key
BACKEND_STORAGE_S3_SECRET_KEY: secret_key
# public bucket
BACKEND_STORAGE_PUBLIC_BUCKET: your-public-bucket
# private bucket
BACKEND_STORAGE_PRIVATE_BUCKET: your-private-bucket
The above process can be applied to most cloud providers, not just Amazon S3.
Starting the Application
Execute the application launch command in the current directory. Once the startup is complete, access 127.0.0.1:3000 to enter the application.
Note that if HTTPS is not configured, you won't be able to use the copy and paste functions within the tables.
docker-compose pull
docker-compose up -d
Using a Hosted Database (Optional)
If you wish to use a hosted database, you can further streamline the deployment process:
Remove services.teable-db
Remove service.teable-db-migrate.depends_on
Remove volumes.teable-db
Update the .env file, replacing it with the configuration for your hosted database
Note that 127.0.0.1 is the internal network of the container. If you want to connect to a database deployed on your local machine, do not use 127.0.0.1 for POSTGRES_HOST. Instead, use host.docker.internal as the local address, otherwise, the connection will fail.
The same principle applies if you're using an externally hosted Redis:
Remove service.teable-cache
Remove service.teable.depends_on.teable-cache
Remove volumes.teable-cache
Update the .env file, replacing it with the configuration for your hosted Redis
Enabling the email service allows for in-site email notifications, user self-service password changes, and other features. Please configure the following environment variables according to your email service provider's information to enable the email service:
Teable can automatically create database roles within the application to allow secure access to table data from external applications. To enable this feature, you need to additionally configure the PUBLIC_DATABASE_PROXY environment variable.
This parameter should be set to an externally accessible database IP or domain + port number. If you're using the docker-compose deployment method mentioned earlier, the external access port would be 45432. For other deployment methods, please configure according to your specific setup.