在 Fly.io 上运行

Fly.io 将容器转换为可在一个或多个地区部署的虚拟机。fly launch 过程可以自动设置与您的 Umami 应用连接的 Postgres 虚拟机。

使用 Umami 预构建容器进行设置

对于希望现在就在 Fly 上部署 Umami 的用户,这里有一种简单的方法,使用 Umami 为 Postgres 预构建的容器,而不是拉取源代码并修改 Dockerfile。

如果您还没有安装 flyctl,请安装它

  1. 在您的应用新目录中,创建 fly.toml
kill_signal = "SIGINT"
kill_timeout = "5s"

[experimental]
auto_rollback = true

[build]
image = "docker.umami.is/umami-software/umami:postgresql-latest"

[[services]]
protocol = "tcp"
internal_port = 3000
processes = ["app"]

[[services.ports]]
port = 80
handlers = ["http"]
force_https = true

[[services.ports]]
port = 443
handlers = ["tls", "http"]

[services.concurrency]
type = "connections"
hard_limit = 25
soft_limit = 20

[[services.tcp_checks]]
interval = "15s"
timeout = "2s"
grace_period = "1s"
  1. 执行 fly launch,选择使用发现的 fly.toml 配置创建应用。
  2. 按步骤操作,并在创建连接的 Postgres 应用步骤选择 y
  3. 选择暂不部署应用。
  4. 执行 fly secrets set APP_SECRET="<任意字符串,不含尖括号>",使用任何您想要的字符串作为哈希盐。
  5. 执行 fly deploy,可能会出现错误,但请让部署完成。
  6. 执行 fly scale memory 512(或更高,如果需要。Umami 在 512 MB RAM 以下似乎会失败)
  7. 再次执行 fly deploy
  8. 根据Umami 文档,使用用户名:admin 和密码:umami 登录

根据 Fly 文档,调整实例位置、机器数量、自动扩展、自定义域名以及其他 Fly.io 选项以适应您的 Umami 应用。