Skip to content
Open
10 changes: 7 additions & 3 deletions compose/.env-release
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,12 @@ SEATABLE_SERVER_HOSTNAME=
SEATABLE_SERVER_PROTOCOL='https'

# initial web admin
SEATABLE_ADMIN_EMAIL=
SEATABLE_ADMIN_PASSWORD=
INIT_SEATABLE_ADMIN_EMAIL=
INIT_SEATABLE_ADMIN_PASSWORD=

# database
SEATABLE_MYSQL_ROOT_PASSWORD=
INIT_SEATABLE_MYSQL_ROOT_PASSWORD=
SEATABLE_MYSQL_DB_USER=
SEATABLE_MYSQL_DB_PASSWORD=

JWT_PRIVATE_KEY=
38 changes: 38 additions & 0 deletions compose/seadoc-standalone.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
services:

seadoc:
image: ${SEADOC_IMAGE:-seafileltd/sdoc-server:2.0.0-testing}
container_name: seadoc
volumes:
- ${SEADOC_VOLUME:-/opt/seadoc-data/}:/shared
# ports:
# - "80:80"
environment:
- DB_HOST=${SEATABLE_MYSQL_DB_HOST:-mariadb}
- DB_PORT=${SEATABLE_MYSQL_DB_PORT:-3306}
- DB_USER=${SEATABLE_MYSQL_DB_USER:-seatable}
- DB_PASSWORD=${SEATABLE_MYSQL_DB_PASSWORD:?Variable is not set or empty}
- DB_NAME=${SEADOC_MYSQL_DB_NAME:-dtable_db}
- TIME_ZONE=${TIME_ZONE:-Etc/UTC}
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty}
- NON_ROOT=${NON_ROOT:-false}
- SEAHUB_SERVICE_URL=${SEATABLE_SERVER_PROTOCOL:-https}://${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty}
networks:
- frontend-net
- backend-seatable-net
labels:
caddy: ${SEADOC_SERVER_PROTOCOL:-https}://${SEADOC_SERVER_HOSTNAME:?Variable is not set or empty}
caddy.reverse_proxy: "{{upstreams 80}}"
healthcheck:
test: ["CMD-SHELL", "curl --fail http://localhost:7070 || exit 1"]
interval: 20s
retries: 3
start_period: 30s
timeout: 10s

networks:
frontend-net:
name: frontend-net
backend-seatable-net:
name: backend-seatable-net
43 changes: 43 additions & 0 deletions compose/seadoc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
services:
caddy:
ports:
- ${SEADOC_PORT:-7070}:${SEADOC_PORT:-7070}

seadoc:
image: ${SEADOC_IMAGE:-seafileltd/sdoc-server:2.0.0-testing}
container_name: seadoc
volumes:
- ${SEADOC_VOLUME:-/opt/seadoc-data/}:/shared
# ports:
# - "80:80"
environment:
- DB_HOST=${SEATABLE_MYSQL_DB_HOST:-mariadb}
- DB_PORT=${SEATABLE_MYSQL_DB_PORT:-3306}
- DB_USER=${SEATABLE_MYSQL_DB_USER:-seatable}
- DB_PASSWORD=${SEATABLE_MYSQL_DB_PASSWORD:?Variable is not set or empty}
- DB_NAME=${SEADOC_MYSQL_DB_NAME:-dtable_db}
- TIME_ZONE=${TIME_ZONE:-Etc/UTC}
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty}
- NON_ROOT=${NON_ROOT:-false}
- SEAHUB_SERVICE_URL=${SEATABLE_SERVER_PROTOCOL:-https}://${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty}
labels:
caddy: ${SEATABLE_SERVER_PROTOCOL:-https}://${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty}:${SEADOC_PORT:-7070}
caddy.reverse_proxy: "{{upstreams 80}}"
depends_on:
- mariadb
networks:
- frontend-net
- backend-seatable-net
healthcheck:
test: ["CMD-SHELL", "curl --fail http://localhost:7070 || exit 1"]
interval: 20s
retries: 3
start_period: 30s
timeout: 10s

networks:
frontend-net:
name: frontend-net
backend-seatable-net:
name: backend-seatable-net
47 changes: 47 additions & 0 deletions compose/seasearch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
services:

seasearch:
image: ${SEASEARCH_IMAGE:-seafileltd/seasearch:latest}
container_name: seasearch
volumes:
- ${SS_DATA_PATH:-/opt/seasearch-data}:/opt/seasearch/data
environment:
- SS_FIRST_ADMIN_USER=${INIT_SS_ADMIN_USER:-}
- SS_FIRST_ADMIN_PASSWORD=${INIT_SS_ADMIN_PASSWORD:-}
- SS_STORAGE_TYPE=${SS_STORAGE_TYPE:-}
- SS_MAX_OBJ_CACHE_SIZE=${SS_MAX_OBJ_CACHE_SIZE:-10GB}
- SS_S3_ACCESS_ID=${SS_S3_ACCESS_ID:-}
- SS_S3_USE_V4_SIGNATURE=${SS_S3_USE_V4_SIGNATURE:-false}
- SS_S3_ACCESS_SECRET=${SS_S3_ACCESS_SECRET:-}
- SS_S3_ENDPOINT=${SS_S3_ENDPOINT:-s3.us-east-1.amazonaws.com`}
- SS_S3_BUCKET=${SS_S3_BUCKET:-}
- SS_S3_USE_HTTPS=${SS_S3_USE_HTTPS:-true}
- SS_S3_PATH_STYLE_REQUEST=${SS_S3_PATH_STYLE_REQUEST:-true}
- SS_S3_AWS_REGION=${SS_S3_AWS_REGION:-us-east-1}
- SS_S3_SSE_C_KEY=${SS_S3_SSE_C_KEY:-}
- SS_LOG_TO_STDOUT=${SS_LOG_TO_STDOUT:-false}
- SS_LOG_DIR=${SS_LOG_DIR:-/opt/seasearch/data/log}
- SS_LOG_LEVEL=${SS_LOG_LEVEL:-info}
# SeaSeasrch Proxy
- SEAFILE_LOG_TO_STDOUT=${SEAFILE_LOG_TO_STDOUT:-false}
- SEATABLE_LOG_TO_STDOUT=${SEATABLE_LOG_TO_STDOUT:-false}
# for cluster
- SS_SERVER_MODE=${SS_SERVER_MODE:-}
- SS_CLUSTER_ID=${SS_CLUSTER_ID:-}
- SS_CLUSTER_PROXY_HOST=${SS_CLUSTER_PROXY_HOST:-0.0.0.0}
- SS_CLUSTER_PROXY_PORT=${SS_CLUSTER_PROXY_PORT:-4082}
- SS_CLUSTER_MANAGER_ADDR=${SS_CLUSTER_MANAGER_ADDR:-127.0.0.1:4081}
- SS_ETCD_USERNAME=${SS_ETCD_USERNAME:-}
- SS_ETCD_PASSWORD=${SS_ETCD_PASSWORD:-}
- SS_ETCD_ENDPOINTS=${SS_ETCD_ENDPOINTS:-127.0.0.1:2379}
- SS_ETCD_PREFIX=${SS_ETCD_PREFIX:-/zinc}
- SS_CLUSTER_PROXY_LOG_DIR=${SS_CLUSTER_PROXY_LOG_DIR:--/opt/seasearch/data/log}
- SS_CLUSTER_MANAGER_HOST=${SS_CLUSTER_MANAGER_HOST:-0.0.0.0}
- SS_CLUSTER_MANAGER_PORT=${SS_CLUSTER_MANAGER_PORT:-4081}
networks:
- backend-seatable-net

networks:
backend-seatable-net:
name: backend-seatable-net
34 changes: 34 additions & 0 deletions compose/seatable-ai-standlone.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
services:

seatable-ai:
image: ${SEATABLE_AI_IMAGE:-seatable/seatable-ai:1.1.0-testing}
container_name: seatable-ai
volumes:
- ${SEATABLE_AI_VOLUME:-/opt/seatable-server/}:/shared
ports:
- "8888:8888"
environment:
- TIME_ZONE=${TIME_ZONE:-Etc/UTC}
- SEATABLE_MYSQL_DB_HOST=${SEATABLE_MYSQL_DB_HOST:?Variable is not set or empty}
- SEATABLE_MYSQL_DB_PORT=${SEATABLE_MYSQL_DB_PORT:-3306}
- SEATABLE_MYSQL_DB_USER=${SEATABLE_MYSQL_DB_USER:-seatable}
- SEATABLE_MYSQL_DB_PASSWORD=${SEATABLE_MYSQL_DB_PASSWORD:?Variable is not set or empty}
- SEATABLE_MYSQL_DB_DTABLE_DB_NAME=${SEATABLE_MYSQL_DB_DTABLE_DB_NAME:-dtable_db}
- REDIS_HOST=${REDIS_HOST:?Variable is not set or empty}
- REDIS_PORT=${REDIS_PORT:-6379}
- REDIS_PASSWORD=${REDIS_PASSWORD:-}
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty}
- SEATABLE_SERVER_URL=${SEATABLE_SERVER_PROTOCOL:-https}://${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty}
networks:
- backend-seatable-net
healthcheck:
test: ["CMD-SHELL", "curl --fail http://localhost:8888 || exit 1"]
interval: 20s
retries: 3
start_period: 30s
timeout: 10s

networks:
backend-seatable-net:
name: backend-seatable-net
36 changes: 36 additions & 0 deletions compose/seatable-ai.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
services:
seatable-ai:
image: ${SEATABLE_AI_IMAGE:-seatable/seatable-ai:1.1.0-testing}
container_name: seatable-ai
volumes:
- ${SEATABLE_AI_VOLUME:-/opt/seatable-server/}:/shared
# ports:
# - "8888:8888"
environment:
- TIME_ZONE=${TIME_ZONE:-Etc/UTC}
- SEATABLE_MYSQL_DB_HOST=${SEATABLE_MYSQL_DB_HOST:-mariadb}
- SEATABLE_MYSQL_DB_PORT=${SEATABLE_MYSQL_DB_PORT:-3306}
- SEATABLE_MYSQL_DB_USER=${SEATABLE_MYSQL_DB_USER:-seatable}
- SEATABLE_MYSQL_DB_PASSWORD=${SEATABLE_MYSQL_DB_PASSWORD:?Variable is not set or empty}
- SEATABLE_MYSQL_DB_DTABLE_DB_NAME=${SEATABLE_MYSQL_DB_DTABLE_DB_NAME:-dtable_db}
- REDIS_HOST=${REDIS_HOST:-redis}
- REDIS_PORT=${REDIS_PORT:-6379}
- REDIS_PASSWORD=${REDIS_PASSWORD:-}
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty}
- SEATABLE_SERVER_URL=${SEATABLE_SERVER_PROTOCOL:-https}://${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty}
depends_on:
- mariadb
- redis
networks:
- backend-seatable-net
healthcheck:
test: ["CMD-SHELL", "curl --fail http://localhost:8888 || exit 1"]
interval: 20s
retries: 3
start_period: 30s
timeout: 10s

networks:
backend-seatable-net:
name: backend-seatable-net
22 changes: 17 additions & 5 deletions compose/seatable-server.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,23 @@ services:
target: "/shared/seatable/seatable-license.txt"
read_only: ${SEATABLE_LICENSE_FORCE_READ_ONLY:-false}
environment:
- DB_HOST=mariadb
- DB_ROOT_PASSWD=${SEATABLE_MYSQL_ROOT_PASSWORD:?Variable is not set or empty}
- SEATABLE_MYSQL_DB_HOST=${SEATABLE_MYSQL_DB_HOST:-mariadb}
- SEATABLE_MYSQL_DB_PORT=${SEATABLE_MYSQL_DB_PORT:-3306}
- INIT_SEATABLE_MYSQL_ROOT_PASSWORD=${INIT_SEATABLE_MYSQL_ROOT_PASSWORD:-}
- SEATABLE_MYSQL_DB_USER=${SEATABLE_MYSQL_DB_USER:-seatable}
- SEATABLE_MYSQL_DB_PASSWORD=${SEATABLE_MYSQL_DB_PASSWORD:?Variable is not set or empty}
- SEATABLE_MYSQL_DB_DTABLE_DB_NAME=${SEATABLE_MYSQL_DB_DTABLE_DB_NAME:-dtable_db}
- SEATABLE_MYSQL_DB_CCNET_DB_NAME=${SEATABLE_MYSQL_DB_CCNET_DB_NAME:-ccnet_db}
- SEATABLE_MYSQL_DB_SEAFILE_DB_NAME=${SEATABLE_MYSQL_DB_SEAFILE_DB_NAME:-seafile_db}
- SEATABLE_SERVER_HOSTNAME=${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty}
- SEATABLE_SERVER_PROTOCOL=${SEATABLE_SERVER_PROTOCOL:-https}
- SEATABLE_ADMIN_EMAIL=${SEATABLE_ADMIN_EMAIL:?Variable is not set or empty}
- SEATABLE_ADMIN_PASSWORD=${SEATABLE_ADMIN_PASSWORD:?Variable is not set or empty}
- SEATABLE_ADMIN_EMAIL=${INIT_SEATABLE_ADMIN_EMAIL:-}
- SEATABLE_ADMIN_PASSWORD=${INIT_SEATABLE_ADMIN_PASSWORD:-}
- TIME_ZONE=${TIME_ZONE}
- REDIS_HOST=${REDIS_HOST:-redis}
- REDIS_PORT=${REDIS_PORT:-6379}
- REDIS_PASSWORD=${REDIS_PASSWORD:-}
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty}
- PYTHON_SCHEDULER_URL=${PYTHON_SCHEDULER_URL:-http://python-scheduler}
- PYTHON_SCHEDULER_AUTH_TOKEN=${PYTHON_SCHEDULER_AUTH_TOKEN:-}
- REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
Expand All @@ -34,6 +44,8 @@ services:
- SEATABLE_ENABLE_CREATE_BASE_FROM_TEMPLATE=${SEATABLE_ENABLE_CREATE_BASE_FROM_TEMPLATE:-}
- SEATABLE_HELP_LINK=${SEATABLE_HELP_LINK:-https://docs.seatable.io}
- SEATABLE_LOG_LEVEL=${SEATABLE_LOG_LEVEL:-INFO}
- ENABLE_SEADOC=${ENABLE_SEADOC:-false}
- SEADOC_SERVER_URL=${SEADOC_SERVER_URL:-${SEATABLE_SERVER_PROTOCOL:-https}://${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty}:7070}
labels:
caddy_0: ${SEATABLE_SERVER_PROTOCOL:-https}://${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty}
caddy_0.reverse_proxy: "{{upstreams 80}}"
Expand Down Expand Up @@ -107,7 +119,7 @@ services:
restart: unless-stopped
container_name: mariadb
environment:
- MYSQL_ROOT_PASSWORD=${SEATABLE_MYSQL_ROOT_PASSWORD:?Variable is not set or empty}
- MYSQL_ROOT_PASSWORD=${INIT_SEATABLE_MYSQL_ROOT_PASSWORD:-}
- MYSQL_LOG_CONSOLE=true
- MARIADB_AUTO_UPGRADE=1
- TZ=${TIME_ZONE}
Expand Down