IT评测·应用市场-qidao123.com技术社区

标题: 【Seatable部署安装】Docker安装Seatable 4.3保姆级教程,并且完善实现更换 [打印本页]

作者: 水军大提督    时间: 2024-7-17 23:31
标题: 【Seatable部署安装】Docker安装Seatable 4.3保姆级教程,并且完善实现更换
操作系统选定

现在我用的是Ubuntu-22.04.4-live-server-amd64版本,点击访问Ubuntu官网,点击直接下载Ubuntu-22.04.4-live-server-amd64
当然,只要利用的其他操作系统可以支持Docker,基本都是可以的。
Docker安装

Step 1:根据上述Ubuntu操作系统情况,利用如下命令安装Docker
  1. sudo snap install docker
复制代码
大概
  1. sudo apt install docker
复制代码
上述二者命令均可安装docker,利用其中一种即可(发起用snap方式,方便简便稳定,可直接开机自启动,并可直接运行docker-compose.yml文件)。
Step 2:安装完成后,通过如下命令查看docker版本查看是否乐成
  1. docker -v
复制代码
显示效果为

Step 3:设置Docker开机自启动
如果通过snap方式安装,则Docker自然为开机自启动,不消额外设置。
如果通过apt方式安装,则按照如下命令进行设置Docker开机自启动:
  1. systemctl enable docker.service
复制代码
Seatable安装

接下来将通过Docker-compose文件进行安装。
Step 1:编辑docker-compose文件
进入服务器seatable映射目录(我的目录为/root/seatable),新建两个文件.env和docker-compose.yml,其中.env文件是docker-compose.yml的情况变量文件。

  1. vim .env
复制代码
由于.env为隐藏文件,“ls”命令无法显示,要想查看必要利用如下命令:
  1. ll -a
复制代码
.env文件内容填充如下(本身安装的话需至少更改以下文件的SEATABLE_SERVER_HOSTNAME、SEATABLE_ADMIN_EMAIL、SEATABLE_ADMIN_PASSWORD)
  1. COMPOSE_FILE='docker-compose.yml'
  2. COMPOSE_PATH_SEPARATOR=','
  3. SEATABLE_IMAGE=seatable/seatable-developer:latest
  4. SEATABLE_VOLUMES=/root/seatable/seatable-data
  5. SEATABLE_MYSQL_VOLUMES=/root/seatable/mysql-data
  6. SEATABLE_MYSQL_DB_HOST=mariadb
  7. SEATABLE_MYSQL_ROOT_PASSWORD=abcd1234
  8. TIME_ZONE='Asia/Shanghai'
  9. SEATABLE_SERVER_HOSTNAME=XXX.XXX.XXX.XXX
  10. SEATABLE_SERVER_PROTOCOL=http
  11. SEATABLE_SERVER_LETSENCRYPT=False
  12. SEATABLE_SSL_PORT=443
  13. SEATABLE_ADMIN_EMAIL=149662365@gmail.com
  14. SEATABLE_ADMIN_PASSWORD=abcd1234
  15.                                     
复制代码
  上面参数备注:
SEATABLE_IMAG:镜像资源标志,将拉取最新的seatable社区版镜像
SEATABLE_VOLUMES:seatable数据文件映射到物理服务器的地址,改为你们本身必要的地址即可,也可沿用我本身的地址
SEATABLE_MYSQL_VOLUMES:同上,是seatable利用的MySQL地址
SEATABLE_MYSQL_ROOT_PASSWORD:数据库密码,用户名默以为root
SEATABLE_SERVER_HOSTNAME:seatable所在服务器的IP地址
SEATABLE_SSL_PORT:Https访问地址
SEATABLE_ADMIN_EMAIL:seatable网站的管理员用户账号
SEATABLE_ADMIN_PASSWORD:seatable网站的管理员用户密码
  
  1. vim docker-compose.yml
复制代码
docker-compose.yml填充如下:
  1. services:
  2.   seatable-server:
  3.     image: ${SEATABLE_IMAGE:-seatable/seatable-developer:latest}
  4.     restart: unless-stopped
  5.     container_name: seatable
  6.     ports:
  7.       - 80:80
  8.       - ${SEATABLE_SSL_PORT:-}:443
  9.     volumes:
  10.       - "${SEATABLE_VOLUMES:-/opt/seatable/seatable-data}:/shared"
  11.     environment:
  12.       - DB_HOST=${SEATABLE_MYSQL_DB_HOST:-mariadb}
  13.       - DB_ROOT_PASSWD=${SEATABLE_MYSQL_ROOT_PASSWORD:?Variable is not set or empty}
  14.       - SEATABLE_SERVER_HOSTNAME=${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty}
  15.       - SEATABLE_SERVER_PROTOCOL=${SEATABLE_SERVER_PROTOCOL:-http}
  16.       - SEATABLE_SERVER_LETSENCRYPT=${SEATABLE_SERVER_LETSENCRYPT:-False}
  17.       - SEATABLE_ADMIN_EMAIL=${SEATABLE_ADMIN_EMAIL:-}
  18.       - SEATABLE_ADMIN_PASSWORD=${SEATABLE_ADMIN_PASSWORD:-}
  19.       - TIME_ZONE=${TIME_ZONE}
  20.     depends_on:
  21.       mariadb:
  22.         condition: service_healthy
  23.       memcached:
  24.         condition: service_started
  25.       redis:
  26.         condition: service_started
  27.     networks:
  28.       - frontend-net
  29.       - backend-seatable-net
  30.   mariadb:
  31.     image: ${SEATABLE_DB_IMAGE:-mariadb:10.11}
  32.     restart: unless-stopped
  33.     container_name: seatable-mariadb
  34.     environment:
  35.       - MYSQL_ROOT_PASSWORD=${SEATABLE_MYSQL_ROOT_PASSWORD:?Variable is not set or empty}
  36.       - MYSQL_LOG_CONSOLE=true
  37.       - MARIADB_MYSQL_LOCALHOST_USER=1
  38.       - MARIADB_MYSQL_LOCALHOST_GRANTS=USAGE
  39.       - MARIADB_AUTO_UPGRADE=1
  40.     volumes:
  41.       - "${SEATABLE_MYSQL_VOLUMES:-/opt/seatable/mysql-data}:/var/lib/mysql"
  42.     networks:
  43.       - backend-seatable-net
  44.     healthcheck:
  45.       test: ["CMD", "mysqladmin" ,"ping", "-p${SEATABLE_MYSQL_ROOT_PASSWORD}", "-h", "localhost"]
  46.       interval: 5s
  47.       timeout: 30s
  48.       retries: 60
  49.   memcached:
  50.     image: ${SEATABLE_MEMCACHED_IMAGE:-memcached:1.6.18}
  51.     restart: unless-stopped
  52.     container_name: seatable-memcached
  53.     entrypoint: memcached -m 256
  54.     networks:
  55.       - backend-seatable-net
  56.   redis:
  57.     image: ${SEATABLE_REDIS_IMAGE:-redis:5.0.7}
  58.     restart: unless-stopped
  59.     container_name: seatable-redis
  60.     networks:
  61.       - backend-seatable-net
  62. networks:
  63.   frontend-net:
  64.     name: frontend-net
  65.   backend-seatable-net:
  66.     name: backend-seatable-net
复制代码
  上述内容均无需修改,默认即可,将在本机服务器映射80端口进行访问网站,发起不要修改成其他端口,否则在后续利用过程中大概会出现seatable表格中的附件和图片无法显示的问题
  Step 2:运行docker-compose文件

  1. docker-compose up -d
复制代码
等待创建和启动乐成
Step 3:验证是否安装乐成

  1. docker ps
复制代码

-------王炸篇:服务器、IP更换教程,怎么进行数据迁徙?-------

该方法,将可以直接在新服务器、新IP上利用原来数据,无论文字还是图片、文件等都能正常利用,实现100%迁徙(数据文件映射目录必要和上文的安装保持一致,如果不一致,请自行从容器中取出数据文件,制止删除没了)

第一步,停掉正在跑的所有容器,并删除

docker stop seatable seatable-mariadb seatable-memcached seatable-redis
docker rm seatable seatable-mariadb seatable-memcached seatable-redis
第二步,备份seatable整个文件夹

cp -r /root/seatable /root/seatable_bak_20240428
第三步,删除seatable文件夹下的mysql-data 和 seatable-data

rm -rf /root/seatable/mysql-data /root/seatable/seatable-data
第四步,进入/root/seatable文件夹,编辑docker-compose.yml的情况变量文件.env,将SEATABLE_SERVER_HOSTNAME更改为新的IP,保存退出

vim /root/seatable/.env
第五步,在/root/seatable文件夹运行docker-compose.yml文件,创建seatable容器

docker-compose up -d

第六步,停掉刚创建的容器

docker stop seatable seatable-mariadb seatable-memcached seatable-redis
第七步,将新创建的容器的数据文件夹,用刚刚进行备份的seatable_bak_20240428的对应数据文件夹进行更换

更换文件夹1:mysql-data
-位置:/root/seatable/mysql-data/
-删除:rm -rf /root/seatable/mysql-data/
-更换:cp -r /root/seatable_bak_20240428/mysql-data/ /root/seatable/
更换文件夹2:seafile-data
-位置:/root/seatable/seatable-data/seatable/seafile-data/
-删除:rm -rf /root/seatable/seatable-data/seatable/seafile-data/
-更换:cp -r /root/seatable_bak_20240428/seatable-data/seatable/seafile-data/ /root/seatable/seatable-data/seatable/
更换文件夹3:seahub-data
-位置:/root/seatable/seatable-data/seatable/seahub-data/
-删除:rm -rf /root/seatable/seatable-data/seatable/seahub-data/
-更换:cp -r /root/seatable_bak_20240428/seatable-data/seatable/seahub-data/ /root/seatable/seatable-data/seatable/
更换文件夹4:storage-data
-位置:/root/seatable/seatable-data/seatable/storage-data/
-删除:rm -rf /root/seatable/seatable-data/seatable/storage-data/
-更换:cp -r /root/seatable_bak_20240428/seatable-data/seatable/storage-data/ /root/seatable/seatable-data/seatable/
第八步,启动seatable服务

docker start seatable seatable-mariadb seatable-memcached seatable-redis
第九步,域名转换表格中的文件、图片等链接IP,如果不转换则无法在Base表格中查看、下载图片文件等,此步骤非常重要


第九步,欣赏器登录网站,验证是否迁徙乐成!

100%是乐成的,如果没有乐成请转头看哪一步骤没有正确进行

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4