seatable / seatable

SeaTable: easy like a spreadsheet, powerful like a database. Unlimited rows in a single base.

Home Page:https://seatable.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot create superuser

loranger opened this issue · comments

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

So this is what I tried :

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

@loranger For installation support, please use the support forums: https://forum.seatable.io/ - You will see more interaction with other users there than here and also it perhaps has some more hints on MacOS setup. On first glance it looks like an issue with Docker on Mac OS which does not run bare metal. I don't have a MacOS at hand so can't reproduce.

The first part however is just because /opt - if it exists on MacOS and if it is following Filesystem Hierarchy Standard (FHS) for the /opt folder - you need to do this as root.

I don't see thought that running in a non-default location is causing your later error.

Compare with the SeaTable Admin Manual Setup instructions:

  • /opt/seatable is the directory of SeaTable. If you decide to put SeaTable in a different directory - which you can - adjust all paths accordingly.

Please create a forum post and leave a link here.

Thanks for your reply.

I just created a related post on forum.
Should I close this issue ?

Thanks.