[v7.0] add automation-worker - #87
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds Docker Compose definitions for running a new automation-worker service, providing both an “add-on to the main stack” compose file and a “standalone” compose file.
Changes:
- Added
compose/automation-worker.ymlto runautomation-workeralongside the existing SeaTable stack (includingdepends_onand backend network wiring). - Added
compose/automation-worker-standalone.ymlto runautomation-workeras a standalone container with an exposed port.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 9 comments.
| File | Description |
|---|---|
| compose/automation-worker.yml | Adds an automation-worker service intended to join the main stack network and depend on mariadb/redis. |
| compose/automation-worker-standalone.yml | Adds a standalone automation-worker service definition with a published port. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
a860589 to
5ca937a
Compare
| - REDIS_HOST=${REDIS_HOST:-redis} | ||
| - REDIS_PORT=${REDIS_PORT:-6379} | ||
| - REDIS_PASSWORD=${REDIS_PASSWORD:-} | ||
| - STORAGE_TYPE=${STORAGE_TYPE:-disk} |
There was a problem hiding this comment.
The options for dtable-storage-server are s3 or filesystem, why does this introduce a third variant/an alias for filesystem?
There was a problem hiding this comment.
Because seafobj requires disk rather than filesystem, we will find a way to resolve this issue.
| - 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} |
There was a problem hiding this comment.
| - INNER_DTABLE_WEB_SERVICE_URL=${INNER_DTABLE_WEB_SERVICE_URL:-http://seatable-server:8000} | |
| - INNER_DTABLE_WEB_SERVICE_URL=${INNER_DTABLE_WEB_SERVICE_URL:-http://seatable-server:80} |
Otherwise gunicorn.py needs to be modified (Gunicorn does not currently listen on all interfaces).
| - 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: |
There was a problem hiding this comment.
There are a few more variables missing for the automation-worker service:
INNER_SEATABLE_AI_SERVER_URLPYTHON_SCHEDULER_URLPYTHON_SCHEDULER_AUTH_TOKEN
We can handle ENABLE_SEATABLE_AI and ENABLE_PYTHON_SCRIPT through seatable-ai.yml and python-pipeline.yml respectively.
| volumes: | ||
| - "/opt/seatable-server:/shared" |
There was a problem hiding this comment.
dtable-server also needs access to seatable-license.txt since it checks for its existence inside its entrypoint script, right?
| - 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} |
There was a problem hiding this comment.
The automation-worker also needs access to the (Django) SECRET_KEY (e.g. in order to decrypt credentials for email accounts), right?
I'm currently getting Incorrect AES key length (0 bytes) errors in our staging environment.
No description provided.