Hello, I’ve deployed seatable developer version on a Synology to evaluate the dbms. I’ve configured the stack using docker-compose and used this guide to manually reconfigure the values in ccnet.conf and dtable_web_settings.py as I’ll be using SSL certs deployed by Synology’s built-in nginx reverse proxy. Using these settings I was successfully able to access seatable instance via https, create and play around bases.
docker-compose.yml
version: '2.0'
services:
db:
image: mariadb:latest
container_name: seatable-mysql
environment:
- MYSQL_ROOT_PASSWORD=PASS@123
- MYSQL_LOG_CONSOLE=true
volumes:
- /volume1/docker/seatable/mysql-data:/var/lib/mysql
networks:
- seatable-net
memcached:
image: memcached:latest
container_name: seatable-memcached
entrypoint: memcached -m 256
networks:
- seatable-net
redis:
image: redis:latest
container_name: seatable-redis
networks:
- seatable-net
seatable:
image: seatable/seatable-developer:latest
container_name: seatable
ports:
- "8454:80"
volumes:
- /volume1/docker/seatable/seatable-data:/shared
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=PASS@123
- SEATABLE_SERVER_LETSENCRYPT=False
- SEATABLE_SERVER_HOSTNAME=db.example.com
- TIME_ZONE=Australia/Sydney
depends_on:
- db
- memcached
- redis
networks:
- seatable-net
networks:
seatable-net:
Issue
Everything works perfectly except the plugins, avatars and some CSS errors. Upon inspecting the console on various pages I could observe the following:
-
Manual upload or direct market install of plugins fail :
POST https://db.example.net/api/v2.1/admin/dtable-system-plugins/ Error 500
Tried redeploying container but issue persists. -
Avatars do not load not even manually uploaded avatars:
GET https://db.example.com/media/avatars/default.png 403
-
Even login background fails to show:
GET https://db.example.com/media/custom/login-bg.jpg?t=1645353939519 Error 403
-
Then there are some CSS related errors:
https://db.example.com/media/css/seatable-ui.map Error 404
https://db.example.com/media/css/antd-mobile.min.css.map Error 404
Here are some logs:
dtable_web.log
2022-02-20 10:53:05,446 [ERROR] django.request:230 log_response Internal Server Error: /api/v2.1/admin/dtable-system-plugins/
Traceback (most recent call last):
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/views/generic/base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/rest_framework/views.py", line 509, in dispatch
response = self.handle_exception(exc)
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/rest_framework/views.py", line 469, in handle_exception
self.raise_uncaught_exception(exc)
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/rest_framework/views.py", line 480, in raise_uncaught_exception
raise exc
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/rest_framework/views.py", line 506, in dispatch
response = handler(request, *args, **kwargs)
File "/opt/seatable/seatable-server-latest/dtable-web/seahub/api2/endpoints/admin/sys_plugins.py", line 186, in post
plugin_path_id = seafile_api.get_dir_id_by_path(PLUGINS_REPO_ID, plugin_path)
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/seaserv/api.py", line 230, in get_dir_id_by_path
return seafserv_threaded_rpc.get_dir_id_by_path(repo_id, path)
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/client.py", line 127, in newfunc
return fret(ret_str)
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/client.py", line 25, in _fret_string
raise SearpcError(dicts['err_msg'])
pysearpc.common.SearpcError: Invalid repo id
error.log (nginx-log)
2022/02/20 16:05:45 [error] 42#42: *377 open() "/opt/seatable/seatable-server-latest/dtable-web/media/css/seatable-ui.map" failed (2: No such file or directory), client: 192.168.128.1, server: db.example.com, request: "GET /media/css/seatable-ui.map HTTP/1.1", host: "db.example.com"
2022/02/20 16:05:45 [error] 41#41: *378 open() "/opt/seatable/seatable-server-latest/dtable-web/media/css/antd-mobile.min.css.map" failed (2: No such file or directory), client: 192.168.128.1, server: db.example.com, request: "GET /media/css/antd-mobile.min.css.map HTTP/1.1", host: "db.example.com"
2022/02/20 16:05:45 [error] 43#43: *390 open() "/opt/seatable/seatable-server-latest/dtable-web/media/avatars/default.png" failed (13: Permission denied), client: 192.168.128.1, server: db.example.com, request: "GET /media/avatars/default.png HTTP/1.1", host: "db.example.com", referrer: "https://db.example.com/"
2022/02/20 16:09:53 [error] 42#42: *401 open() "/opt/seatable/seatable-server-latest/dtable-web/media/css/seatable-ui.map" failed (2: No such file or directory), client: 192.168.128.1, server: db.example.com, request: "GET /media/css/seatable-ui.map HTTP/1.1", host: "db.example.com"
2022/02/20 16:09:54 [error] 42#42: *402 open() "/opt/seatable/seatable-server-latest/dtable-web/media/avatars/default.png" failed (13: Permission denied), client: 192.168.128.1, server: db.example.com, request: "GET /media/avatars/default.png HTTP/1.1", host: "db.example.com", referrer: "https://db.example.com/sys/info/"
2022/02/20 16:09:55 [error] 42#42: *408 open() "/opt/seatable/seatable-server-latest/dtable-web/media/avatars/default.png" failed (13: Permission denied), client: 192.168.128.1, server: db.example.com, request: "GET /media/avatars/default.png HTTP/1.1", host: "db.example.com", referrer: "https://db.example.com/sys/users/"
2022/02/20 16:09:57 [error] 42#42: *411 open() "/opt/seatable/seatable-server-latest/dtable-web/media/avatars/default.png" failed (13: Permission denied), client: 192.168.128.1, server: db.example.com, request: "GET /media/avatars/default.png HTTP/1.1", host: "db.example.com", referrer: "https://db.example.com/sys/web-settings/"
2022/02/20 16:09:58 [error] 42#42: *415 open() "/opt/seatable/seatable-server-latest/dtable-web/media/custom/login-bg.jpg" failed (13: Permission denied), client: 192.168.128.1, server: db.example.com, request: "GET /media/custom/login-bg.jpg?t=1645353598337 HTTP/1.1", host: "db.example.com", referrer: "https://db.example.com/sys/web-settings/"
2022/02/20 16:14:21 [error] 43#43: *419 open() "/opt/seatable/seatable-server-latest/dtable-web/media/css/antd-mobile.min.css.map" failed (2: No such file or directory), client: 192.168.128.1, server: db.example.com, request: "GET /media/css/antd-mobile.min.css.map HTTP/1.1", host: "db.example.com"
2022/02/20 16:14:21 [error] 42#42: *420 open() "/opt/seatable/seatable-server-latest/dtable-web/media/css/seatable-ui.map" failed (2: No such file or directory), client: 192.168.128.1, server: db.example.com, request: "GET /media/css/seatable-ui.map HTTP/1.1", host: "db.example.com"
2022/02/20 16:14:21 [error] 43#43: *425 open() "/opt/seatable/seatable-server-latest/dtable-web/media/avatars/default.png" failed (13: Permission denied), client: 192.168.128.1, server: db.example.com, request: "GET /media/avatars/default.png HTTP/1.1", host: "db.example.com", referrer: "https://db.example.com/"
2022/02/20 16:15:36 [error] 42#42: *440 open() "/opt/seatable/seatable-server-latest/dtable-web/media/css/seatable-ui.map" failed (2: No such file or directory), client: 192.168.128.1, server: db.example.com, request: "GET /media/css/seatable-ui.map HTTP/1.1", host: "db.example.com"
2022/02/20 16:15:37 [error] 44#44: *448 open() "/opt/seatable/seatable-server-latest/dtable-web/media/avatars/default.png" failed (13: Permission denied), client: 192.168.128.1, server: db.example.com, request: "GET /media/avatars/default.png HTTP/1.1", host: "db.example.com", referrer: "https://db.example.com/sys/info/"
2022/02/20 16:15:38 [error] 42#42: *449 open() "/opt/seatable/seatable-server-latest/dtable-web/media/avatars/default.png" failed (13: Permission denied), client: 192.168.128.1, server: db.example.com, request: "GET /media/avatars/default.png HTTP/1.1", host: "db.example.com", referrer: "https://db.example.com/sys/web-settings/"
2022/02/20 16:15:39 [error] 44#44: *452 open() "/opt/seatable/seatable-server-latest/dtable-web/media/custom/login-bg.jpg" failed (13: Permission denied), client: 192.168.128.1, server: db.example.com, request: "GET /media/custom/login-bg.jpg?t=1645353939519 HTTP/1.1", host: "db.example.com", referrer: "https://db.example.com/sys/web-settings/"
2022/02/20 16:22:58 [error] 42#42: *454 open() "/opt/seatable/seatable-server-latest/dtable-web/media/custom/login-bg.jpg" failed (13: Permission denied), client: 192.168.128.1, server: db.example.com, request: "GET /media/custom/login-bg.jpg?t=1645354378253 HTTP/1.1", host: "db.example.com", referrer: "https://db.example.com/sys/plugins/"
2022/02/20 16:22:58 [error] 42#42: *458 open() "/opt/seatable/seatable-server-latest/dtable-web/media/avatars/default.png" failed (13: Permission denied), client: 192.168.128.1, server: db.example.com, request: "GET /media/avatars/default.png HTTP/1.1", host: "db.example.com", referrer: "https://db.example.com/sys/plugins/"```
How should I go about resolving this so I can evaluate seatable properly?