跳转到内容
自主托管

一个镜像,运行在你自己的基础设施上

该仪表盘以单个 Docker 镜像的形式发布,运行在你自己掌控的硬件上。支持三种数据库引擎,默认没有产品遥测(除非你设置自己的 PostHog 密钥,否则不会向其发送任何内容),拉取镜像也无需账户。

需要运行的容器数
1
数据库引擎数
3
支持的 CPU 架构数
2
默认产品遥测
0

拉取镜像

项目仪表板:18 个键、76.39% 的覆盖率、4 种语言,以及各语言的覆盖率。项目仪表板:18 个键、76.39% 的覆盖率、4 种语言,以及各语言的覆盖率。
演示数据 · 本地模式

无需账户,也无需登录镜像仓库——该镜像公开托管在 Docker Hub。 固定版本 →linux/amd64linux/arm64

这个决定

自托管能带来什么,又需要付出什么代价

没有可供对比的托管版仪表盘——自托管本身就是这款产品的运行方式。真正该问的不是是否值得,而是你需要自己承担什么。

始终留在你这一边

  • 你的源代码。 扫描器从你自己的网络内部读取代码仓库。不会有任何内容被上传以提取其中的键值。
  • 你的翻译数据。 翻译数据保存在你为容器指定的数据库中——可以是卷中的一个 SQLite 文件,也可以是你已经在运行的 Postgres/MySQL 服务器。
  • 你的服务商密钥。 DeepL、Google、LibreTranslate:调用请求从你的实例发出,并使用你自己的会话密钥加密存储。
  • 你的网络边界。 公开的端口默认绑定到 127.0.0.1。在你决定开放之前,其他任何设备都无法访问。

变成你自己的工作

  • TLS 与反向代理。 镜像本身不终止 TLS。要将其暴露到 localhost 之外,需要在前面部署 Caddy、nginx 或 Traefik。
  • 备份,以及对备份的验证。 一个数据卷或一次数据库转储。内置 CLI 可以将一切导出为 JSON,但恢复工作仍需你自己完成。
  • 升级。 拉取新标签并重启即可。迁移会在启动时自动执行,失败的迁移不会被记录,因此下次启动时会重新尝试。
  • 服务器模式下的登录。 同一实例上的多个账户经由我们运营的中央账户服务登录;今天你无法自己运行一套。
你的实例会联系哪里

进入

  • 你的团队
  • TLS 与反向代理。

你的实例

127.0.0.1:6001

数据库 · SQLite / PostgreSQL / MySQL

发出

  • 我们的中央账户
    • 登录
    • 确认套餐:设置部署密钥后,最多每 15 分钟一次
    • 首次自动翻译:仅账户 ID
  • 你的翻译服务商(使用你的密钥)
  • 我们的网站:界面语言文件,由浏览器下载

你的实例确实会与中央账户通信:用于登录(服务器模式下始终如此;本地模式下仅限没有本地密码的账户);设置了部署密钥后,还会用于确认套餐(使用仪表板期间最多每 15 分钟一次)和通知你的首次自动翻译(仅账户 ID)。浏览器会从我们的网站下载英语以外的界面语言文件。

选择

你想如何运行它

三种模式,一个镜像。模式决定了谁来登录、以及实例依赖什么——不会改变产品本身。

  • 服务器模式
    多团队

    如果需要多人在同一实例上拥有各自的账户,请选择这个。

    • 登录、角色,以及“草稿 → 已审核 → 已批准”的工作流。
    • 联网数据库——PostgreSQL 或 MySQL。
    • 登录经由我们运营的中央账户服务;今天你无法自己运行一套。
  • 桌面版
    无需 Docker

    如果你完全不想运行服务端,请选择这个。

    • 内置服务端的 macOS、Windows、Linux 原生安装包。
    • 翻译存储在本地 SQLite 中,只有当你把它们发送给自己设置的服务(例如翻译服务商或 Git 远程仓库)时,才会离开这台设备。
    • 登录仍然通过你的在线账户完成。
    下载应用 →

选择数据库引擎

你的数据库,你的 compose 文件

三种引擎都拥有相同的 27 张表,因此选择并非关乎正确性,而是关乎你打算如何备份实例,以及还有谁需要访问它。

docker-compose.yml

一个文件,一个容器

这是发布镜像默认提供、桌面应用也在使用的方式。无需第二个服务,也无需管理任何凭据。整个实例只是这一个文件加一个 Docker 卷。

端口绑定的地址是 127.0.0.1 ,这是刻意的设计:只能从本机访问,其他任何地方都无法访问。本地模式面向一个人或一个小团队,因此只应在你已经信任的代理、防火墙或 VPN 之后放宽这一绑定。

公开的端口默认绑定到 127.0.0.1。在你决定开放之前,其他任何设备都无法访问。

桌面版与自托管对比

自托管会带来什么不同

对比项桌面应用自主托管
安装下载后直接打开docker compose up -d
数据库内置 SQLiteSQLite、PostgreSQL 或 MySQL
数据存储的位置你的本机您的基础设施
更新自动docker compose pull && docker compose up -d
团队访问仅限本机上的你整个团队——服务器模式经由我们的中央账户服务登录

今天依赖 Elysera 的部分

仍依赖 Elysera 的部分

这个项目由持有代码权利的 Elysera 运营。下面说明今天还有哪些事情依赖于 Elysera。

  • 本地模式

    你的数据、服务器和登录都运行在你自己的机器上:首次启动时创建的账户用本地密码登录,会话无需联系 Elysera 即可自行续期。仍有一件事经过 Elysera:非英语的界面文件,你的浏览器会从其网站下载(如果下载不了,界面会退回到实例自己的副本,没有翻译的地方显示英语)。通过中央账户登录的账户,可以设置一个本地备用密码,从而不再依赖它。

  • 服务器模式

    登录经由 Elysera 运营的中央账户服务。今天你无法自己运行一套:它的代码尚未公开,而且仪表盘使用的是它的登录协议,因此标准的 OIDC 提供方不能直接替代。如果它无法访问,登录会在几分钟内中断。你的套餐不受影响:实例会保留它最后看到的套餐,除已结束的试用外,不会自行降低。

  • 桌面版

    你的翻译保存在你机器上的 SQLite 文件中。登录经由中央账户。

离开

带着你的数据离开

导出在你自己的实例上运行,使用你自己设置的令牌。不需要 Elysera 账户,也不需要许可。

  • 保持你项目格式的 JSON

    可以导出单一语言,也可以导出全部语言。文件沿用仪表盘扫描时你的文件所具有的格式(扁平或嵌套);若格式混合或从未扫描过,则为嵌套。尚无翻译的键不会被导出。

  • 完整备份

    一个包含整个实例的 JSON 文件,可在另一个实例上恢复。需要单独的管理员令牌。

  • 你的语言文件

    它们存放在你自己的仓库中。仪表盘读取它们,并通过同步写回;停用仪表盘,它们仍留在原处。

  • 通过命令行

    在 Docker 镜像中,先在环境变量里设置好令牌:

    • docker exec -it i18n-dashboard i18nd export
    • docker exec -it i18n-dashboard i18nd backup

不作承诺的事

逐字节一致的往返转换。导出沿用你文件的格式,但键的顺序和排版可能与原文件不同,因此与原文件做 diff 时未必干净。

开始吧

四步完成 应用翻译。

  1. 创建账户

    免费开始:任何套餐均可试用 30 天,无需绑卡。之后 1 个项目仍然免费。

  2. 安装

    你想怎样安装?

    在你自己的服务器上运行,然后打开 localhost:6001。

    docker compose pull && docker compose up -d

    自主托管指南

    支持 macOS、Windows 和 Linux,自带本地服务器。

    下载应用
  3. 连接你的项目

    指向一个文件夹或 Git 仓库,它会自动识别你的框架和语言文件。

  4. 开始翻译

    从 8 个翻译引擎中任选一个,一次翻译整门语言。Google 翻译无需密钥。