seatable / seatable-admin-docs

Official SeaTable Admin Manual
http://admin.seatable.io/
13 stars 9 forks source link

Issue while migrating to the new install scheme #169

Closed BENETNATH closed 6 months ago

BENETNATH commented 6 months ago

Upgrading a DE 4.2.0 to the new 4.3 skeleton led to some issues when following the doc : https://admin.seatable.io/upgrade/migrate_seatable_release

First, after having removed docker-compose and installed the new script, I had to restart docker (systemctl start docker) Then, I had to fill in the two fields SEATABLE_ADMIN_EMAIL and SEATABLE_ADMIN_PASSWORD in the env file, even if it's stated that it's not relevant. Otherwise, the docker compose failed. Then, the seatable license was not available in DE, and I had an error at this stage due to invalid mount. by default, you are getting the seatable-server.yml for enterprise.

I had to edit the seatable-server.yml to edit the first part :

    image: ${SEATABLE_IMAGE:-seatable/seatable-enterprise:4.3.8}
    restart: unless-stopped
    container_name: seatable-server
    volumes:
      - "/opt/seatable-server:/shared"
      - type: bind
        source: "./seatable-license.txt"
        target: "/shared/seatable/seatable-license.txt"
        read_only: ${SEATABLE_LICENSE_FORCE_READ_ONLY:-false}

to

    image: ${SEATABLE_IMAGE:-seatable/seatable-developer:latest}
    restart: unless-stopped
    container_name: seatable-server
    volumes:
      - "/opt/seatable-server:/shared"

and finally, I needed to add healthcheck to mariadb, which was not documented.

Then, the docker compose started. But sadly it's not working. I have an error in the mariadb container

`2024-02-16  9:19:18 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2024-02-16  9:19:19 0 [Note] InnoDB: Number of transaction pools: 1
2024-02-16  9:19:19 0 [Note] InnoDB: Using generic crc32 instructions
2024-02-16  9:19:19 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
2024-02-16  9:19:19 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB
2024-02-16  9:19:19 0 [Note] InnoDB: Completed initialization of buffer pool
2024-02-16  9:19:19 0 [ERROR] InnoDB: File ./ib_logfile0 was not found
2024-02-16  9:19:19 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2024-02-16  9:19:19 0 [Note] InnoDB: Starting shutdown...
2024-02-16  9:19:19 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2024-02-16  9:19:19 0 [Note] Plugin 'FEEDBACK' is disabled.
2024-02-16  9:19:19 0 [ERROR] Unknown/unsupported storage engine: InnoDB
2024-02-16  9:19:19 0 [ERROR] Aborting`

I tried to force recovery of innodb , to delete ib_logfile in the container, but did not manage to fix that. Any clue ?

christophdb commented 6 months ago

Hey, thanks for your feedback.

  1. All instructions in the manual are currently for SeaTable Enterprise edition. Sorry that the manual lacked the necessary information for developer edition. I just pushed an update to the manual to add the most important points:

Now to your problem. The error message says: [ERROR] InnoDB: File ./ib_logfile0 was not found. Is it possible that you didn't moved the db files to the new location with mv /opt/seatable/mysql-data /opt/mariadb? Is in /opt/mariadb a file called ib_logfile0?

BENETNATH commented 6 months ago

Thanks for the additional info. I made the move, as stated in the doc, but when the error appeared, I tried the most common answer on the net, to delete the ib_ files and let mysql/mariadb recreate it. issue was present before and not fixed by this deletion. I'm back on my previous snapshot but will give another try with the updated doc.

BENETNATH commented 6 months ago

@christophdb I took some time to give another try. Sadly, I reached the same issue. mariadb fails to start. Enclosed the logfile _mariadb_logs.txt

I can't use the healtcheck script, as the container is not running.

The caddy has also an error :

ts=1708360297.6585107 logger=docker-proxy msg=Container is not in same network as caddy container=82e9a0b86b8f358b7c0706fabb486bd68c2ad85814aa0154d65f27c7b28ae36a container id=82e9a0b86b8f358b7c0706fabb486bd68c2ad85814aa0154d65f27c7b28ae36a

I followed the updated guide. my .env content :

# components to be used; IMPORTANT: there should be no space between the files names !
COMPOSE_FILE='caddy.yml,seatable-server.yml'
COMPOSE_PATH_SEPARATOR=','

# system settings
TIME_ZONE='Europe/Paris'

# seatable server url
SEATABLE_SERVER_HOSTNAME=192.168.10.10  (that's the internal IP of my VM)
SEATABLE_SERVER_PROTOCOL='http'

# initial web admin
SEATABLE_ADMIN_EMAIL=MYEMAIL
SEATABLE_ADMIN_PASSWORD=MYPASSWORD
# database
SEATABLE_MYSQL_ROOT_PASSWORD=MYSQLPASSWORD
SEATABLE_IMAGE='seatable/seatable-developer:latest'
christophdb commented 6 months ago

Your problem is clearly visible in the log file or your mariadb:

2024-02-19 16:22:54 0 [ERROR] InnoDB: Upgrade after a crash is not supported. The redo log was created with MariaDB 10.5.9. You must start up and shut down MariaDB 10.7 or earlier. 2024-02-19 16:22:54 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error

This is not a SeaTable issue but a mariadb issue.

BENETNATH commented 6 months ago

ok, but this is the mariadb container created by seatable. There is nothing else on this server. So basically, it's a seatable issue as I can't upgrade seatable