Hi,
I try to run seatable locally, but I can’t.
The first visible issue is I can’t create a superuser, but I suspect it’s wider than this…
Anyway, here is what I exactly did, step-by-step.
I’m running Docker version 20.10.13, build a224086 using MacOS 12.3.1 (M1).
/opt is not writable under macos.
mkdir /opt/seatable
mkdir: /opt/seatable: Permission denied
As I don’t want to run any docker container using root access, I tried this :
mkdir /private/tmp/seatable
cd /private/tmp/seatable
wget -O "docker-compose.yml" "https://manual.seatable.io/docker/Developer-Edition/docker-compose.yml"
I edited the docker-compose file, changed the MYSQL_ROOT_PASSWORD
and the DB_ROOT_PASSWD
, changed the SEATABLE_SERVER_HOSTNAME
to seatable.docker
(binded to 127.0.0.1
from /etc/hosts
), replaced every /opt/seatable
to /private/tmp/seatable
, commented the 443 port bind and then ran docker-compose up
logs
[+] Running 5/4
⠿ Network seatable_seatable-net Creat... 0.0s
⠿ Container seatable-redis Created 0.2s
⠿ Container seatable-mysql Created 0.2s
⠿ Container seatable-memcached Create... 0.2s
⠿ Container seatable Created 0.0s
Attaching to seatable, seatable-memcached, seatable-mysql, seatable-redis
seatable-redis | 1:C 07 Apr 2022 06:28:38.784 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
seatable-redis | 1:C 07 Apr 2022 06:28:38.784 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=1, just started
seatable-redis | 1:C 07 Apr 2022 06:28:38.784 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
seatable-redis | 1:M 07 Apr 2022 06:28:38.785 * Running mode=standalone, port=6379.
seatable-redis | 1:M 07 Apr 2022 06:28:38.785 # Server initialized
seatable-redis | 1:M 07 Apr 2022 06:28:38.785 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
seatable-redis | 1:M 07 Apr 2022 06:28:38.785 * Ready to accept connections
seatable-mysql | 2022-04-07 06:28:38+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.5.15+maria~focal started.
seatable-mysql | 2022-04-07 06:28:38+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
seatable-mysql | 2022-04-07 06:28:38+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.5.15+maria~focal started.
seatable-mysql | 2022-04-07 06:28:39+00:00 [Note] [Entrypoint]: Initializing database files
seatable | *** Running /etc/my_init.d/01_init.sh...
seatable | *** Booting runit daemon...
seatable | *** Runit started as PID 65
seatable | *** Running /templates/enterpoint.sh...
seatable | 2022-04-07 06:28:39 Start init
seatable-mysql |
seatable-mysql |
seatable-mysql | PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
seatable-mysql | To do so, start the server, then issue the following command:
seatable-mysql |
seatable-mysql | '/usr/bin/mysql_secure_installation'
seatable-mysql |
seatable-mysql | which will also give you the option of removing the test
seatable-mysql | databases and anonymous user created by default. This is
seatable-mysql | strongly recommended for production servers.
seatable-mysql |
seatable-mysql | See the MariaDB Knowledgebase at https://mariadb.com/kb
seatable-mysql |
seatable-mysql | Please report any problems at https://mariadb.org/jira
seatable-mysql |
seatable-mysql | The latest information about MariaDB is available at https://mariadb.org/.
seatable-mysql |
seatable-mysql | Consider joining MariaDB's strong and vibrant community:
seatable-mysql | https://mariadb.org/get-involved/
seatable-mysql |
seatable-mysql | 2022-04-07 06:28:42+00:00 [Note] [Entrypoint]: Database files initialized
seatable-mysql | 2022-04-07 06:28:42+00:00 [Note] [Entrypoint]: Starting temporary server
seatable-mysql | 2022-04-07 06:28:42+00:00 [Note] [Entrypoint]: Waiting for server startup
seatable-mysql | 2022-04-07 6:28:42 0 [Note] mysqld (mysqld 10.5.15-MariaDB-1:10.5.15+maria~focal) starting as process 100 ...
seatable-mysql | 2022-04-07 6:28:42 0 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
seatable-mysql | 2022-04-07 6:28:42 0 [Note] InnoDB: Uses event mutexes
seatable-mysql | 2022-04-07 6:28:42 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
seatable-mysql | 2022-04-07 6:28:42 0 [Note] InnoDB: Number of pools: 1
seatable-mysql | 2022-04-07 6:28:42 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions
seatable-mysql | 2022-04-07 6:28:42 0 [Note] mysqld: O_TMPFILE is not supported on /tmp (disabling future attempts)
seatable-mysql | 2022-04-07 6:28:42 0 [Note] InnoDB: Using Linux native AIO
seatable-mysql | 2022-04-07 6:28:42 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
seatable-mysql | 2022-04-07 6:28:42 0 [Note] InnoDB: Completed initialization of buffer pool
seatable-mysql | 2022-04-07 6:28:42 0 [Note] InnoDB: 128 rollback segments are active.
seatable-mysql | 2022-04-07 6:28:42 0 [Note] InnoDB: Creating shared tablespace for temporary tables
seatable-mysql | 2022-04-07 6:28:42 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
seatable-mysql | 2022-04-07 6:28:43 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
seatable-mysql | 2022-04-07 6:28:43 0 [Note] InnoDB: 10.5.15 started; log sequence number 45106; transaction id 20
seatable-mysql | 2022-04-07 6:28:43 0 [Note] Plugin 'FEEDBACK' is disabled.
seatable-mysql | 2022-04-07 6:28:43 0 [Warning] 'user' entry 'root@2c86c857505a' ignored in --skip-name-resolve mode.
seatable-mysql | 2022-04-07 6:28:43 0 [Warning] 'proxies_priv' entry '@% root@2c86c857505a' ignored in --skip-name-resolve mode.
seatable-mysql | 2022-04-07 6:28:43 0 [Note] Reading of all Master_info entries succeeded
seatable-mysql | 2022-04-07 6:28:43 0 [Note] Added new Master_info '' to hash table
seatable-mysql | 2022-04-07 6:28:43 0 [Note] mysqld: ready for connections.
seatable-mysql | Version: '10.5.15-MariaDB-1:10.5.15+maria~focal' socket: '/run/mysqld/mysqld.sock' port: 0 mariadb.org binary distribution
seatable-mysql | 2022-04-07 06:28:43+00:00 [Note] [Entrypoint]: Temporary server started.
seatable-mysql | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
seatable-mysql | Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
seatable-mysql | Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
seatable-mysql | 2022-04-07 06:28:45+00:00 [Note] [Entrypoint]: Securing system users (equivalent to running mysql_secure_installation)
seatable-mysql |
seatable-mysql | 2022-04-07 06:28:45+00:00 [Note] [Entrypoint]: Stopping temporary server
seatable-mysql | 2022-04-07 6:28:45 0 [Note] mysqld (initiated by: root[root] @ localhost []): Normal shutdown
seatable-mysql | 2022-04-07 6:28:45 0 [Note] Event Scheduler: Purging the queue. 0 events
seatable-mysql | 2022-04-07 6:28:45 0 [Note] InnoDB: FTS optimize thread exiting.
seatable-mysql | 2022-04-07 6:28:45 0 [Note] InnoDB: Starting shutdown...
seatable-mysql | 2022-04-07 6:28:45 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
seatable-mysql | 2022-04-07 6:28:45 0 [Note] InnoDB: Buffer pool(s) dump completed at 220407 6:28:45
seatable-mysql | 2022-04-07 6:28:45 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
seatable-mysql | 2022-04-07 6:28:45 0 [Note] InnoDB: Shutdown completed; log sequence number 45118; transaction id 21
seatable-mysql | 2022-04-07 6:28:45 0 [Note] mysqld: Shutdown complete
seatable-mysql |
seatable-mysql | 2022-04-07 06:28:46+00:00 [Note] [Entrypoint]: Temporary server stopped
seatable-mysql |
seatable-mysql | 2022-04-07 06:28:46+00:00 [Note] [Entrypoint]: MariaDB init process done. Ready for start up.
seatable-mysql |
seatable-mysql | 2022-04-07 6:28:46 0 [Note] mysqld (mysqld 10.5.15-MariaDB-1:10.5.15+maria~focal) starting as process 1 ...
seatable-mysql | 2022-04-07 6:28:46 0 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: Uses event mutexes
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: Number of pools: 1
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions
seatable-mysql | 2022-04-07 6:28:46 0 [Note] mysqld: O_TMPFILE is not supported on /tmp (disabling future attempts)
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: Using Linux native AIO
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: Completed initialization of buffer pool
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: 128 rollback segments are active.
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: Creating shared tablespace for temporary tables
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: 10.5.15 started; log sequence number 45118; transaction id 20
seatable-mysql | 2022-04-07 6:28:46 0 [Note] Plugin 'FEEDBACK' is disabled.
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
seatable-mysql | 2022-04-07 6:28:46 0 [Note] InnoDB: Buffer pool(s) load completed at 220407 6:28:46
seatable-mysql | 2022-04-07 6:28:46 0 [Note] Server socket created on IP: '::'.
seatable-mysql | 2022-04-07 6:28:46 0 [Note] Reading of all Master_info entries succeeded
seatable-mysql | 2022-04-07 6:28:46 0 [Note] Added new Master_info '' to hash table
seatable-mysql | 2022-04-07 6:28:46 0 [Note] mysqld: ready for connections.
seatable-mysql | Version: '10.5.15-MariaDB-1:10.5.15+maria~focal' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution
seatable-mysql | 2022-04-07 6:28:46 3 [Warning] Aborted connection 3 to db: 'unconnected' user: 'root' host: '172.23.0.5' (Got an error reading communication packets)
seatable | 2022-04-07 06:28:50 Nginx ready
seatable | 2022-04-07 06:28:50 This is a idle script (infinite loop) to keep container running.
As specified in the docs, I stopped the container and ran it again, in background
docker-compose up -d
Then I did start the server
docker exec -d seatable /shared/seatable/scripts/seatable.sh start
And tried to create the superuser
docker exec -it seatable /shared/seatable/scripts/seatable.sh superuser
But it failed :
Traceback (most recent call last):
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/named_pipe.py", line 85, in _get_transport
transport = self._pool.get(False)
File "/usr/lib/python3.7/queue.py", line 167, in get
raise Empty
_queue.Empty
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/management/__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/management/base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/management/base.py", line 398, in execute
output = self.handle(*args, **options)
File "/opt/seatable/seatable-server-2.8.0/dtable-web/seahub/base/management/commands/createsuperuser.py", line 88, in handle
User.objects.get(email=default_username)
File "/opt/seatable/seatable-server-2.8.0/dtable-web/seahub/base/accounts.py", line 185, in get
emailuser = ccnet_threaded_rpc.get_emailuser(email)
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/client.py", line 125, in newfunc
ret_str = self.call_remote_func_sync(fcall_str)
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/named_pipe.py", line 97, in call_remote_func_sync
transport = self._get_transport()
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/named_pipe.py", line 87, in _get_transport
transport = self._create_transport()
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/named_pipe.py", line 80, in _create_transport
transport.connect()
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/named_pipe.py", line 44, in connect
self.pipe.connect(self.socket_path)
FileNotFoundError: [Errno 2] No such file or directory
What did I miss ?
Is there a workaround for this error ?
Thanks