使用 Docker 搭建 Steam 挂机平台 ArchiSteamFarm (ASF)

使用 Docker 搭建 Steam 挂机平台 ArchiSteamFarm (ASF)

GT610 Lv3

官方不建议新手使用 Docker 部署 ASF。在 官方 Wiki 中是这样解释的:

在 Docker 容器内运行 ASF 被认为是进阶安装方式,绝大多数用户是不需要的。

在 Docker 容器中运行 ASF 通常会带来一些新问题,您必须自己面对并解决。 因此我们强烈建议您避免这种部署方式,除非您已经有 Docker 相关知识并且不需要其他人帮助您了解内部细节,因为我们不会在 ASF Wiki 上详述这些内容。如果您决定在 Docker 中部署 ASF,我们会假定您已经拥有足够的 Docker 知识。

如果你不熟悉 Docker,我建议按照官方推荐的方式部署。

我们默认你已经具备了基本的 Docker 知识,并且熟悉 Docker 的基本操作。

🤓 ArchiSteamFarm 介绍

ArchiSteamFarm (ASF) 是一个 C# 编写的 Steam 挂机工具,支持多账户管理、挂卡、自动交易等。使用 Docker 部署 ASF 可以方便地在不同平台运行,且易于管理。

🛠️ 准备工作

  1. 确保已安装 Docker 环境。

  2. 创建 ASF 工作文件目录。path/to/asf/ 根据自己的实际路径进行修改:

    1
    mkdir -p /path/to/asf/

📦 开始部署

1. 拉取镜像

1
docker pull justarchi/archisteamfarm:latest

官方的 main 标签指向的是最新构建,相当于开发版,稳定性和功能性不能保证。除非你是开发者或者做测试的,否则不要使用 main 标签

latest 标签指向的是稳定版,相当于正式版

released 标签指向的是预览版,如果你想体验新功能,可以使用此标签。

2. 先行测试

这一步是官方推荐的。运行以下命令:

1
docker run -it -rm justarchi/archisteamfarm:latest

如果 ASF 已正确启动并输出:No bots are defined. Did you forget to configure your ASF? Follow 'setting up' guide on the wiki if you're confused. 或者 未找到机器人 之类的,则环境工作正常。按下 Ctrl+C 退出,然后进行下一步。

3. 运行容器

1
2
3
4
5
6
7
docker run -d \
--name asf \
-p 1242:1242 \
-v /path/to/asf/config:/app/config \
-v /path/to/asf/logs:/app/logs \
--restart unless-stopped \
justarchi/archisteamfarm:latest

参数说明:

  • -p 1242:1242:暴露 Web UI 端口
  • -v /path/to/asf/config:/app/config:配置文件挂载
  • -v /path/to/asf/logs:/app/logs:日志目录挂载

Docker Compose

1
2
3
4
5
6
7
8
9
10
services:
asf:
image: justarchi/archisteamfarm:released
container_name: asf
ports:
- "1242:1242"
volumes:
- /path/to/asf/config:/app/config
- /path/to/asf/plugins:/app/plugins
restart: unless-stopped

💾 配置 ASF

此时 ASF 虽然已经运行,但1242 端口可能无法访问。这是因为 ASF 默认将 IPC 端口只绑定到容器的回环地址,而 Docker 默认不将容器的回环地址上的端口映射到主机

因此,我们先需要将 ASF 的 IPC 端口改为监听容器所有地址

配置 IPC 接口

/path/to/asf/config/ 中创建 IPC.json 文件,并添加以下内容:

1
2
3
4
5
6
7
8
9
{
"Kestrel": {
"Endpoints": {
"HTTP": {
"Url": "http://*:1242"
}
}
}
}

然后重启容器。此时你应该能通过宿主机的映射端口访问 ASF Web 控制台。

配置 ASF 本体

ASF 的配置文件在 /path/to/asf/config/ASF.json 中。

官方推荐使用在线配置生成器生成配置文件。进入网页之后,点击“ASF”-“切换高级设置”,找到 Headless 选项并改为 “√”。

这里解释一下为什么要开启 Headless:

Headless 模式下,ASF 会假定自己运行于服务器或者其他非交互式环境,因此它将不会尝试在控制台输入中读取任何信息。这包括:

  • 两步验证码(例如邮箱验证码)
  • Steam 令牌验证码
  • 密码
  • 其他 ASF 操作所需的任何变量
  • 所有其他控制台的输入

因为我们是部署为服务器,没有交互环境,如果 Headless 不开启,在后面添加账号的时候,你将无法输入邮箱验证码或者令牌验证码。开启 Headless 后,你可以通过 Web 界面输入验证码。

然后找到 IPCPassword,添加 IPC 密码。

然后找到 IPCPasswordFormat,确认是否为 PlainText,如果不是,改成 PlainText

确保“远程访问”一栏配置如上图
确保“远程访问”一栏配置如上图

其余部分可以自行调整,有关配置名的含义,参考 Wiki 全局配置部分。

然后点击“下载”,将 JSON 文件保存到 /path/to/asf/config/ 中。

然后重启容器,用你刚才设置的 IPC 密码,登录 Web 控制台。

添加账号

按照 Web 界面操作,添加账号,添加游戏,保存,然后启动!

有关配置名的含义,参考 Wiki 机器人配置部分。

📝 写在最后

配置好的 ASF 界面
配置好的 ASF 界面

官方的 Wiki 写得非常啰嗦,于是自己整理了一下,写了一个简短的配置过程。ASF 的功能很丰富,这里只能做一个简单的介绍,以后有什么新东西再慢慢补充吧,也欢迎留言讨论。

  • 标题: 使用 Docker 搭建 Steam 挂机平台 ArchiSteamFarm (ASF)
  • 作者: GT610
  • 创建于 : 2025-07-21 17:40:27
  • 更新于 : 2025-09-23 15:09:18
  • 链接: https://gt-610.dpdns.org/2025/07/21/docker-asf/
  • 版权声明: 本文章采用 CC BY 4.0 进行许可。
评论