diff --git a/compose/automation-worker-standalone.yml b/compose/automation-worker-standalone.yml new file mode 100644 index 0000000..ea678d1 --- /dev/null +++ b/compose/automation-worker-standalone.yml @@ -0,0 +1,42 @@ +--- +services: + automation-worker: + image: ${AUTOMATION_WORKER_IMAGE:-seatable/automation-worker:7.0.0} + restart: unless-stopped + container_name: automation-worker + ports: + - 8088:8088 + volumes: + - ${SEATABLE_VOLUMES:-/opt/seatable-server}:/shared + environment: + - SEATABLE_LOG_TO_STDOUT=${LOG_TO_STDOUT:-false} + - NON_ROOT=${NON_ROOT:-false} + - TZ=${TIME_ZONE:-UTC} + - JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty} + - SEATABLE_MYSQL_DB_HOST=${MARIADB_HOST:-mariadb} + - SEATABLE_MYSQL_DB_PORT=${MARIADB_PORT:-3306} + - SEATABLE_MYSQL_DB_USER=root + - SEATABLE_MYSQL_DB_PASSWORD=${MARIADB_PASSWORD:?Variable is not set or empty} + - SEATABLE_MYSQL_DB_DTABLE_DB_NAME=${SEATABLE_MYSQL_DB_DTABLE_DB_NAME:-dtable_db} + - SEATABLE_MYSQL_DB_SEAFILE_DB_NAME=${SEATABLE_MYSQL_DB_SEAFILE_DB_NAME:-seafile_db} + - SEATABLE_MYSQL_DB_CCNET_DB_NAME=${SEATABLE_MYSQL_DB_CCNET_DB_NAME:-ccnet_db} + - REDIS_HOST=${REDIS_HOST:-redis} + - REDIS_PORT=${REDIS_PORT:-6379} + - REDIS_PASSWORD=${REDIS_PASSWORD:-} + - SEAF_SERVER_STORAGE_TYPE=${SEAF_SERVER_STORAGE_TYPE:-} + - S3_COMMIT_BUCKET=${S3_COMMIT_BUCKET:-} + - S3_FS_BUCKET=${S3_FS_BUCKET:-} + - S3_BLOCK_BUCKET=${S3_BLOCK_BUCKET:-} + - S3_KEY_ID=${S3_KEY_ID:-} + - S3_SECRET_KEY=${S3_SECRET_KEY:-} + - S3_USE_V4_SIGNATURE=${S3_USE_V4_SIGNATURE:-true} + - S3_AWS_REGION=${S3_AWS_REGION:-us-east-1} + - S3_HOST=${S3_HOST:-} + - S3_USE_HTTPS=${S3_USE_HTTPS:-true} + - S3_PATH_STYLE_REQUEST=${S3_PATH_STYLE_REQUEST:-false} + - S3_SSE_C_KEY=${S3_SSE_C_KEY:-} + - SEATABLE_SERVER_HOSTNAME=${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty} + - SEATABLE_SERVER_PROTOCOL=${SEATABLE_SERVER_PROTOCOL:-https} + - INNER_DTABLE_WEB_SERVICE_URL=${INNER_DTABLE_WEB_SERVICE_URL:?Variable is not set or empty} + - INNER_DTABLE_SERVER_URL=${INNER_DTABLE_SERVER_URL:?Variable is not set or empty} + - INNER_DTABLE_DB_URL=${INNER_DTABLE_DB_URL:?Variable is not set or empty} diff --git a/compose/automation-worker.yml b/compose/automation-worker.yml new file mode 100644 index 0000000..a030eba --- /dev/null +++ b/compose/automation-worker.yml @@ -0,0 +1,51 @@ +--- +services: + automation-worker: + image: ${AUTOMATION_WORKER_IMAGE:-seatable/automation-worker:7.0.0} + restart: unless-stopped + container_name: automation-worker + volumes: + - ${SEATABLE_VOLUMES:-/opt/seatable-server}:/shared + environment: + - SEATABLE_LOG_TO_STDOUT=${LOG_TO_STDOUT:-false} + - NON_ROOT=${NON_ROOT:-false} + - TZ=${TIME_ZONE:-UTC} + - JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty} + - SEATABLE_MYSQL_DB_HOST=${MARIADB_HOST:-mariadb} + - SEATABLE_MYSQL_DB_PORT=${MARIADB_PORT:-3306} + - SEATABLE_MYSQL_DB_USER=root + - SEATABLE_MYSQL_DB_PASSWORD=${MARIADB_PASSWORD:?Variable is not set or empty} + - SEATABLE_MYSQL_DB_DTABLE_DB_NAME=${SEATABLE_MYSQL_DB_DTABLE_DB_NAME:-dtable_db} + - SEATABLE_MYSQL_DB_SEAFILE_DB_NAME=${SEATABLE_MYSQL_DB_SEAFILE_DB_NAME:-seafile_db} + - SEATABLE_MYSQL_DB_CCNET_DB_NAME=${SEATABLE_MYSQL_DB_CCNET_DB_NAME:-ccnet_db} + - REDIS_HOST=${REDIS_HOST:-redis} + - REDIS_PORT=${REDIS_PORT:-6379} + - REDIS_PASSWORD=${REDIS_PASSWORD:-} + - SEAF_SERVER_STORAGE_TYPE=${SEAF_SERVER_STORAGE_TYPE:-} + - S3_COMMIT_BUCKET=${S3_COMMIT_BUCKET:-} + - S3_FS_BUCKET=${S3_FS_BUCKET:-} + - S3_BLOCK_BUCKET=${S3_BLOCK_BUCKET:-} + - S3_KEY_ID=${S3_KEY_ID:-} + - S3_SECRET_KEY=${S3_SECRET_KEY:-} + - S3_USE_V4_SIGNATURE=${S3_USE_V4_SIGNATURE:-true} + - S3_AWS_REGION=${S3_AWS_REGION:-us-east-1} + - S3_HOST=${S3_HOST:-} + - S3_USE_HTTPS=${S3_USE_HTTPS:-true} + - S3_PATH_STYLE_REQUEST=${S3_PATH_STYLE_REQUEST:-false} + - S3_SSE_C_KEY=${S3_SSE_C_KEY:-} + - SEATABLE_SERVER_HOSTNAME=${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty} + - SEATABLE_SERVER_PROTOCOL=${SEATABLE_SERVER_PROTOCOL:-https} + - INNER_DTABLE_WEB_SERVICE_URL=${INNER_DTABLE_WEB_SERVICE_URL:-http://seatable-server:8000} + - INNER_DTABLE_SERVER_URL=${INNER_DTABLE_SERVER_URL:-http://seatable-server:5000} + - INNER_DTABLE_DB_URL=${INNER_DTABLE_DB_URL:-http://seatable-server:7777} + depends_on: + mariadb: + condition: service_healthy + redis: + condition: service_healthy + networks: + - backend-seatable-net + +networks: + backend-seatable-net: + name: backend-seatable-net diff --git a/compose/seatable-server.yml b/compose/seatable-server.yml index 5dc8e64..2c36198 100644 --- a/compose/seatable-server.yml +++ b/compose/seatable-server.yml @@ -52,6 +52,7 @@ services: - LOG_LEVEL=${LOG_LEVEL:-INFO} - ENABLE_SEATABLE_AI=${ENABLE_SEATABLE_AI:-false} - INNER_SEATABLE_AI_SERVER_URL=${INNER_SEATABLE_AI_SERVER_URL:-http://seatable-ai:8888} + - INNER_DTABLE_SERVER_URL=${INNER_DTABLE_SERVER_URL:-http://dtable-server:5000} labels: caddy_0: ${SEATABLE_SERVER_PROTOCOL:-https}://${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty} caddy_0.reverse_proxy: "{{upstreams 80}}" @@ -116,6 +117,40 @@ services: start_period: 30s timeout: 10s + dtable-server: + image: ${DTABLE_SERVER_IMAGE:-seatable/dtable-server-js:7.0.0-testing} + restart: unless-stopped + container_name: dtable-server + volumes: + - "/opt/seatable-server:/shared" + environment: + - TZ=${TIME_ZONE} + - SEATABLE_MYSQL_DB_HOST=${MARIADB_HOST:-mariadb} + - SEATABLE_MYSQL_DB_PORT=${MARIADB_PORT:-3306} + - SEATABLE_MYSQL_DB_USER=root + - SEATABLE_MYSQL_DB_PASSWORD=${MARIADB_PASSWORD:?Variable is not set or empty} + - SEATABLE_MYSQL_DB_DTABLE_DB_NAME=dtable_db + - REDIS_HOST=${REDIS_HOST:-redis} + - REDIS_PORT=${REDIS_PORT:-6379} + - REDIS_PASSWORD=${REDIS_PASSWORD:?Variable is not set or empty} + - JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty} + - INNER_DTABLE_WEB_SERVICE_URL=${INNER_DTABLE_WEB_SERVICE_URL:-http://seatable-server:8000} + - INNER_DTABLE_DB_URL=${INNER_DTABLE_DB_URL:-http://seatable-server:7777} + depends_on: + mariadb: + condition: service_healthy + redis: + condition: service_healthy + networks: + - frontend-net + - backend-seatable-net + healthcheck: + test: ["CMD-SHELL", "curl --fail http://localhost:5000/ping || exit 1"] + interval: 20s + retries: 3 + start_period: 30s + timeout: 10s + mariadb: image: ${SEATABLE_DB_IMAGE:-mariadb:11.8.5-noble} restart: unless-stopped