Fly.io Deployment
Was this page helpful?
Loading OmniRoute...
。
已确认包含以下关键项:
app = 'omniroute' primary_region = 'sin' [[mounts]] source = 'data' destination = '/data' [processes] app = 'node run-standalone.mjs' [http_service] internal_port = 20128 [env] TZ = "Asia/Shanghai" HOST = "0.0.0.0" HOSTNAME = "0.0.0.0" BIND = "0.0.0.0"
pwsh -Command "iwr https://fly.io/install.ps1 -useb | iex"
二进制并放到 中。
flyctl auth login
flyctl auth whoami flyctl version
git clone https://github.com/xiaoge1688/OmniRoute.git cd OmniRoute
,重点看这一行:
app = 'omniroute'
app = 'omniroute-yourname'
一致的应用
- ,不要和
混淆
flyctl apps create omniroute
替换成你的名字。
flyctl deploy
应用上实际部署:
,因为本次部署按需求不使用它。
$apiKeySecret = [Convert]::ToHexString((1..32 | ForEach-Object { Get-Random -Minimum 0 -Maximum 256 })).ToLower()
$jwtSecret = [Convert]::ToHexString((1..64 | ForEach-Object { Get-Random -Minimum 0 -Maximum 256 })).ToLower()
$machineIdSalt = [Convert]::ToHexString((1..32 | ForEach-Object { Get-Random -Minimum 0 -Maximum 256 })).ToLower()
$storageKey = [Convert]::ToHexString((1..32 | ForEach-Object { Get-Random -Minimum 0 -Maximum 256 })).ToLower()
flyctl secrets set `
API_KEY_SECRET=$apiKeySecret `
JWT_SECRET=$jwtSecret `
MACHINE_ID_SALT=$machineIdSalt `
STORAGE_ENCRYPTION_KEY=$storageKey `
DATA_DIR=/data `
NEXT_PUBLIC_BASE_URL=https://omniroute.fly.dev `
-a omniroute
flyctl secrets set INITIAL_PASSWORD=你的强密码 -a omniroute
flyctl secrets list -a omniroute
页面没有显示你期待的变量,先检查:
是否和控制台应用一致
git pull flyctl deploy
flyctl secrets set KEY=value -a omniroute
的更新,推荐按下面流程执行。
git remote -v
,先添加:
git remote add upstream https://github.com/diegosouzapw/OmniRoute.git
git fetch upstream --tags
git describe --tags --always git show --no-patch --oneline v3.4.7
,并强制保留 fork 当前的 ,可按下面流程执行:
git merge upstream/main git checkout HEAD~1 -- fly.toml git add -- fly.toml git commit -m "chore(deploy): keep fork fly.toml" git push origin main
,也可以先确认标签是否已经包含在 :
git merge-base --is-ancestor v3.4.7 upstream/main
已经包含该版本,直接合并 即可。
时使用的实际流程。
flyctl status -a omniroute
flyctl logs --no-tail -a omniroute
try {
(Invoke-WebRequest -Uri "https://omniroute.fly.dev" -MaximumRedirection 5 -UseBasicParsing).StatusCode
} catch {
if ($_.Exception.Response) {
$_.Exception.Response.StatusCode.value__
} else {
throw
}
}
说明站点已正常响应。
[bootstrap] Secrets persisted to: /data/server.env [DB] SQLite database ready: /data/storage.sqlite
,说明 没配对,需要立即修正。
flyctl apps create omniroute
- 是否设置为
。生产环境建议尽快修改后台密码。
- 、
、、
flyctl auth whoami flyctl status -a omniroute flyctl secrets list -a omniroute flyctl deploy flyctl logs --no-tail -a omniroute
flyctl deploy