InkOS 的开箱即用 Docker 镜像 —— 运行 InkOS Studio(网页工作台),并在每次重启时自动更新到最新版本。
本仓库:https://github.com/LastNever/inkos-docker · 上游项目:https://github.com/Narcooo/inkos · 镜像:https://hub.docker.com/r/lastnever/inkos
InkOS 是一个本地 AI 故事创作智能体(长篇小说、短篇、剧本、互动开放世界)。本仓库提供其 Docker 镜像,让你无需安装 Node.js / 配置环境,一条命令即可跑起来。
lastnever/inkos(支持 linux/amd64 与 linux/arm64)docker run -d --name inkos \
-p 4567:4567 \
-v "$(pwd)/data:/data" \
-e INKOS_LLM_PROVIDER=openai \
-e INKOS_LLM_BASE_URL=https://api.openai.com/v1 \
-e INKOS_LLM_API_KEY=sk-你的key \
-e INKOS_LLM_MODEL=gpt-4o \
--restart unless-stopped \
lastnever/inkos:latest
启动后浏览器打开 http://localhost:4567 即可使用。(LLM 服务商和模型也可以进入 Studio 界面后再配置。)
# 下载本仓库的 docker-compose.yml 和 .env.example
cp .env.example .env # 编辑 .env 填入你的 API Key 等
docker compose up -d
同样访问 **http://localhost:4567**。
容器内所有作品、创作数据和 Studio 配置都写在 /data。上面的命令把它映射到宿主机当前目录下的 ./data 文件夹(使用目录映射而非命名卷,兼容大部分 NAS)。你可以把 ./data 改成任意宿主机路径,例如 -v /volume1/inkos:/data。
Studio 的 LLM 配置在网页界面里设置,并保存在挂载目录 /data(./data)中,这是运行时唯一生效的来源。 启动后打开 Studio → 服务配置,填入服务商 / API Key / 模型即可,设置会持久化,重启容器、甚至自动更新后都保留。
环境变量(-e / compose / .env)不会被 Studio 在运行时直接使用,它们只是「种子」:容器首次启动会把 INKOS_LLM_* 写入 /data/.env,你可以在 Studio 服务配置页点 「从环境变量导入」 一键导入。导入后或你在界面里改动后,始终以界面 / /data 里的配置为准,所以两者不会冲突。
一句话:想省事就直接在网页里配;用环境变量预填的话,记得在服务配置页点一次「从环境变量导入」。
| 变量 | 默认值 | 说明 |
|---|---|---|
INKOS_STUDIO_PORT | 4567 | Studio 监听端口(容器内,运行时生效) |
INKOS_VERSION | latest | 锁定某个版本(如 1.5.0)即可关闭自动更新(运行时生效) |
INKOS_LLM_PROVIDER | openai | openai / anthropic / custom(种子,需在 UI 导入) |
INKOS_LLM_BASE_URL | https://api.openai.com/v1 | OpenAI 兼容接口地址(种子) |
INKOS_LLM_API_KEY | — | API Key(种子) |
INKOS_LLM_MODEL | gpt-4o | 模型名称(种子) |
容器每次(重)启动时会自动检查并升级到 InkOS 最新发布版本,再启动 Studio。想升级时只需重启容器:
docker restart inkos
如需固定版本、关闭自动更新,把 INKOS_VERSION 设为具体版本号(如 1.5.0)即可。
InkOS is a local AI story-creation agent (long-form novels, short fiction, scripts, interactive open worlds). This repo ships a ready-to-run Docker image — no Node.js setup required.
lastnever/inkos (linux/amd64, linux/arm64)docker run -d --name inkos \
-p 4567:4567 \
-v "$(pwd)/data:/data" \
-e INKOS_LLM_PROVIDER=openai \
-e INKOS_LLM_BASE_URL=https://api.openai.com/v1 \
-e INKOS_LLM_API_KEY=sk-your-key \
-e INKOS_LLM_MODEL=gpt-4o \
--restart unless-stopped \
lastnever/inkos:latest
Open http://localhost:4567.
cp .env.example .env # fill in your API key etc.
docker compose up -d
Everything is written to /data. The commands above bind-mount it to a host ./data folder (a plain directory mount, not a named volume, for NAS compatibility). Point it anywhere, e.g. -v /volume1/inkos:/data.
Studio's LLM settings are configured in the web UI and stored in the mounted /data (./data) — that is the only source used at runtime. After launch, open Studio → Services, enter your provider / API key / model. Settings persist across restarts and even package auto-updates.
Environment variables (-e / compose / .env) are not used by Studio at runtime; they are only a seed: on first start INKOS_LLM_* are written to /data/.env, which you can one-click import via Studio → Services → "Import from environment". Whatever you save in the UI always wins, so there is no conflict.
| Variable | Default | Notes |
|---|---|---|
INKOS_STUDIO_PORT | 4567 | Studio port (applies at runtime) |
INKOS_VERSION | latest | Pin a version (e.g. 1.5.0) to disable auto-update (applies at runtime) |
INKOS_LLM_PROVIDER / _BASE_URL / _API_KEY / _MODEL | — | Seed only; import once in the UI |
The container checks for and upgrades to the newest InkOS release on every (re)start. To update, just docker restart inkos. Pin INKOS_VERSION (e.g. 1.5.0) to disable auto-update.
InkOS 采用 AGPL-3.0 许可证,本镜像仓库遵循相同许可证。
Content type
Image
Digest
sha256:3069e409a…
Size
160 MB
Last updated
3 months ago
docker pull lastnever/inkos