【Seatable部署安装】Docker安装Seatable 5.3.0教程
目的
项目上需要调研在线表格工具,最近就发现了这个Seatable 开源的在线表格,研究了几天在本地电脑上部署的方案,为啥会想起写这篇文章?最近在网上查找了很多资料,按照文章的部署步骤进行操作,结果发现部署下来一直报错无法使用,网上都是基于Linux系统进行部署,完全没有本地电脑部署的真正成功的文章,所以我发表了这篇文章。
操作系统
- macos系统
- docker桌面版(自行官网下载安装)
Seatable安装
本次安装使用的外部mysql和redis,目前使用的版本为mariadb:10.11和redis:5.0.7(自行下载镜像启动)
接下来将通过Docker-compose文件进行安装。
Step 1:创建目录
可以在电脑的目录下新建一个文件夹或者打开cmd执行下述命令创建文件夹
mkdir seatable
cd seatable
Step 2:在seatable目录下新建2个文件
- 新建文件.env
vim .env
.env文件内容填充如下
COMPOSE_FILE='docker-compose.yml'
COMPOSE_PATH_SEPARATOR=','
SEATABLE_IMAGE=seatable/seatable-developer:5.3.0
SEATABLE_VOLUMES=seatable-data
#Mysql地址
INIT_SEATABLE_MYSQL_ROOT_PASSWORD=123456
SEATABLE_MYSQL_DB_HOST=10.11.26.19
SEATABLE_MYSQL_DB_PORT=3306
SEATABLE_MYSQL_DB_USER=seatable
SEATABLE_MYSQL_DB_PASSWORD=123456
TIME_ZONE='Asia/Shanghai'
#JWT 私钥(JWT_PRIVATE_KEY),用于 SeaTable 组件间通信,可以通过 pwgen 命令生成(如 pwgen -s 40 1)
JWT_PRIVATE_KEY='s$d7)1&cxxe2-xuijat)x0km7&nmlguz^lfl!ldue!#ho1o1$@'
#实际ip地址
SEATABLE_SERVER_HOSTNAME=10.11.26.19
SEATABLE_SERVER_PROTOCOL=http
SEATABLE_SERVER_LETSENCRYPT=False
SEATABLE_SSL_PORT=
INIT_SEATABLE_ADMIN_EMAIL=123456@qq.com
INIT_SEATABLE_ADMIN_PASSWORD=123456
#Redis地址
REDIS_HOST=10.11.26.19
REDIS_PORT=6379
REDIS_PASSWORD=123456
上面参数备注:
SEATABLE_IMAG:镜像资源标志,目前使用5.3.0版本,改成latest将拉取最新的seatable社区版镜像
SEATABLE_VOLUMES:seatable数据文件映射地址,此参数使用的是docker桌面版本的VOLUMES,与docker-compose.yml文件中VOLUMES对应,这样才能解决unix系统不一致无法部署成功的问题
INIT_SEATABLE_MYSQL_ROOT_PASSWORD:数据库密码,用户名默认为root
SEATABLE_SERVER_HOSTNAME:seatable所在服务器的IP地址
SEATABLE_SSL_PORT:Https访问地址
INIT_SEATABLE_ADMIN_EMAIL:seatable网站的管理员用户账号
INIT_SEATABLE_ADMIN_PASSWORD:seatable网站的管理员用户密码
- 同级目录下新建文件docker-compose.yml
vim docker-compose.yml
docker-compose.yml填充如下:
services:
seatable-server:
image: ${SEATABLE_IMAGE:-seatable/seatable-developer:latest}
restart: unless-stopped
container_name: seatable
ports:
- 80:80
- ${SEATABLE_SSL_PORT:-}:443
volumes:
- "${SEATABLE_VOLUMES:-/opt/seatable/seatable-data}:/shared"
environment:
- SEATABLE_MYSQL_DB_HOST=${SEATABLE_MYSQL_DB_HOST:-db}
- SEATABLE_MYSQL_DB_PORT=${SEATABLE_MYSQL_DB_PORT:-3306}
- INIT_SEATABLE_MYSQL_ROOT_PASSWORD=${INIT_SEATABLE_MYSQL_ROOT_PASSWORD:-}
- SEATABLE_MYSQL_DB_USER=${SEATABLE_MYSQL_DB_USER:-seatable}
- SEATABLE_MYSQL_DB_PASSWORD=${SEATABLE_MYSQL_DB_PASSWORD:?Variable is not set or empty}
- SEATABLE_MYSQL_DB_DTABLE_DB_NAME=${SEATABLE_MYSQL_DB_DTABLE_DB_NAME:-dtable_db}
- SEATABLE_MYSQL_DB_CCNET_DB_NAME=${SEATABLE_MYSQL_DB_CCNET_DB_NAME:-ccnet_db}
- SEATABLE_MYSQL_DB_SEAFILE_DB_NAME=${SEATABLE_MYSQL_DB_SEAFILE_DB_NAME:-seafile_db}
- SEATABLE_SERVER_HOSTNAME=${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty}
- SEATABLE_SERVER_PROTOCOL=${SEATABLE_SERVER_PROTOCOL:-http}
- SEATABLE_SERVER_LETSENCRYPT=${SEATABLE_SERVER_LETSENCRYPT:-False}
- SEATABLE_ADMIN_EMAIL=${INIT_SEATABLE_ADMIN_EMAIL:-}
- SEATABLE_ADMIN_PASSWORD=${INIT_SEATABLE_ADMIN_PASSWORD:-}
- TIME_ZONE=${TIME_ZONE}
- REDIS_HOST=${REDIS_HOST:-redis}
- REDIS_PORT=${REDIS_PORT:-6379}
- REDIS_PASSWORD=${REDIS_PASSWORD:-}
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty}
- ENABLE_PYTHON_SCRIPT=${ENABLE_PYTHON_SCRIPT:-false}
- PYTHON_SCHEDULER_URL=${PYTHON_SCHEDULER_URL:-http://python-scheduler}
- PYTHON_SCHEDULER_AUTH_TOKEN=${PYTHON_SCHEDULER_AUTH_TOKEN:-}
- REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
- ENABLE_SEADOC=${ENABLE_SEADOC:-false}
- SEADOC_SERVER_URL=${SEATABLE_SERVER_PROTOCOL:-}://${SEATABLE_SERVER_HOSTNAME:-}/sdoc-server
networks:
- frontend-net
- backend-seatable-net
volumes:
seatable-data:
networks:
frontend-net:
name: frontend-net
backend-seatable-net:
name: backend-seatable-net
Step 3:运行docker-compose文件
-
确保IP获取正确,并与.env文件的SEATABLE_SERVER_HOSTNAME值保持一致
-
确保本地的80端口无人占用
-
在docker-compose.yml同级目录下面,执行如下命令,创建并启动程序
docker-compose up -d
等待创建和启动成功
Step 4:验证是否安装成功
- 查看docker运行情况看服务状态
docker ps
- 浏览器输入服务器IP,端口80即可访问

更多推荐


所有评论(0)