开机启动

按照本手册中的说明设置 SeaTable 时,SeaTable 的 Docker 容器不会在系统重启后自动启动。将 SeaTable 添加到自动启动可最大限度地减少系统停机时间并防止服务中断。

依赖

这里使用的自动启动程序是 systemd。systemd 是许多 Linux 发行版(包括 CentOS、Debian 和 Ubuntu)中默认的初始化程序,它为其控制的服务提供了方便的自动启动功能。

配置启动脚本

自动启动 SeaTable 基于以下三个组件

准备启动脚本

在主机目录/opt/seatable中创建脚本文件并在文本编辑器中打开它:

cd /opt/seatable
vim seatable-autostart.sh

将以下代码块粘贴到文件中:

#!/bin/bash

case $1 in
    start)
    cd /opt/seatable/
    docker compose up -d
    ;;
    stop)
    cd /opt/seatable/
    docker compose down
    ;;
    restart)
    cd /opt/seatable/
    docker compose down
    sleep 10
    docker compose up -d
    ;;
esac

注意:如果 SeaTable 的 docker-compose.yml 不在默认目录/opt/seatable中,请更改代码中的路径。

为脚本添加可执行权限:

chmod u+x seatable-autostart.sh

配置 systemd 单元文件

在主机目录/etc/systemd/system中创建一个新的单元文件并在文本编辑器中打开它:

cd /etc/systemd/system
vim seatable.service

将以下代码复制到文件中:

[Unit]
Description=SeaTable
After=network.target

[Service]
ExecStart=/opt/seatable/seatable-autostart.sh start
ExecStop=/opt/seatable/seatable-autostart.sh stop
User=root
Type=forking
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

[Install]
WantedBy=multi-user.target

注意:如果seatable-autostart.sh没有保存在默认的/opt/seatable目录中,请更改代码中的路径。

现在,启用和停止 SeaTable 可以使用以下 systemctl 命令:

注意:使用 systemctl 启动 SeaTable 时,必须先停止 SeaTable 的 Docker 容器。

开启自动启动

使用以下命令启用自动启动:

sudo systemctl enable seatable

同样,使用以下命令禁用自动启动:

sudo systemctl disable seatable

您可以使用以下命令检查 SeaTable 的自动启动状态:

sudo systemctl is-enabled seatable

Last modified by seatable, 2024-03-25

依赖
配置启动脚本
准备启动脚本
配置 systemd 单元文件
开启自动启动