Skip to content

Docker Compose 部署

配置与部署

您可以使用 docker-compose 部署 Embykeeper.

注意

您需要先进行过 通过 Docker 部署 才能通过 Docker Compose 部署.

这是由于首次登录会命令行请求两步验证码, 登录成功后会生成 .login 后缀的文件, 随后才能部署为 docker-compose 服务.

您应该已经运行了:

bash
docker run -v $(pwd)/embykeeper:/app --rm -it --net=host embykeeper/embykeeper

您需要新建一个文件 docker-compose.yml, 此时您的目录结构如下:

bash
.
├── embykeeper
│   ├── config.toml
│   └── +xxxxx.login
└── docker-compose.yml

然后向 docker-compose.yml 写入:

yaml
version: '3'
services:
  embykeeper:
    container_name: embykeeper
    image: embykeeper/embykeeper
    command: '-I'
    restart: unless-stopped
    volumes:
      - ./embykeeper:/app
    network_mode: host

提示

network_mode: host` 用于连接主机上的代理, 若您不需要可以忽略

然后运行以下命令以启动:

bash
docker-compose up -d

提示

docker-compose 命令会读取当前路径下的docker-compose.yml, 因此您需要先定位到 docker-compose.yml 所在的目录!

恭喜您!您已经通过 Docker Compose 成功部署了 Embykeeper.

支持

您可以通过 Telegram 讨论群 反馈你遇到的问题.

如果您觉得 Embykeeper 好用的话, 您可以通过 爱发电 赞助 ^_^

Kitty

日志文件

您需要在 docker-compose.yml 所在目录执行:

bash
docker-compose logs -f embykeeper

以监控最新日志.

版本更新

您需要在 docker-compose.yml 所在目录执行:

bash
docker-compose pull
docker-compose up -d

以拉取最新版本镜像, 并完成更新.

使用其他版本

当您需要使用旧版本 (例如v1.1.1) 时, 您需要使用:

yaml
version: '3'
services:
  embykeeper:
    container_name: embykeeper
    image: embykeeper/embykeeper:v1.1.1
    ....

命令行参数

Embykeeper 支持多样化的 ⌨️ 命令行参数.

当通过 Docker Compose 部署时, 您需要通过修改 docker-compose.yml 中的 command 项, 从而调整命令行参数, 例如:

yaml
version: '3'
services:
  embykeeper:
    container_name: embykeeper
    image: embykeeper/embykeeper
    command: '-I'
    restart: unless-stopped
    volumes:
      - ./embykeeper:/app
    network_mode: host

以上配置将执行 embykeeper -I, 即启动时不立即执行一次签到和保活, 只启用每日计划任务.

修改程序源码, 并用 Docker Compose 运行

Embykeeper 提供 dev 系列镜像, 您需要新建一个文件 docker-compose.yml:

yaml
version: '3'
services:
  embykeeper:
    container_name: embykeeper
    image: embykeeper/embykeeper:main-dev
    command: '-I'
    restart: unless-stopped
    volumes:
      - ./embykeeper:/app
      - ./embykeeper-src:/src
    network_mode: host

然后运行:

bash
docker-compose up -d

这将在 ./embykeeper-src 目录挂载源码, ./embykeeper 目录挂载数据.

您可以直接修改 ./embykeeper-src 中的源码, 重启容器后程序将据此运行.

例如, 只要您有基本的编程能力, 您就可以在 ./embykeeper-src/embykeeper/telechecker/bots 中按照 教程 提供的方式非常容易地新建一个站点的签到.

如何更新

如果您需要更新 dev 系列构象, 您需要直接在 ./embykeeper-src/ 目录中使用 git pull.

欢迎您在实现签到器后, 通过 Pull requests 向 Embykeeper 分享你的成果.

部署在线控制台

EK_WEBPASS 环境变量被设定时, 将启动在线控制台, 默认的命令行将不会启动.

注意

自部署不推荐使用在线控制台, 在自部署模式下, 配置文件不生效, 需要通过环境变量输入配置.

请使用 docker-compose.yml:

yaml
version: '3'
services:
  embykeeper:
    container_name: embykeeper
    image: embykeeper/embykeeper
    restart: unless-stopped
    environment:
      - EK_WEBPASS=123456
    ports:
      - 80:1818

并运行:

bash
docker-compose up -d

将在 80 端口启动在线控制台 HTTP 服务.

Released under the GPLv3 License.