42 lines
1.9 KiB
YAML
42 lines
1.9 KiB
YAML
# MoShiro Backend(面板)。Docker 和 rootless/rootful Podman 共用。
|
||
#
|
||
# 用法:
|
||
# mkdir moshiro-backend && cd moshiro-backend
|
||
# 下载本文件为 compose.yaml;再写一个 .env,键是容器里直接用的名字:
|
||
# MoShiro__PublicUrl=https://panel.example.com # 面板对外的地址;passkey 绑定在这个域名上,改了会让已注册的 passkey 失效
|
||
# MoShiro__ClaimCode= # 认领码(可选),不写就随机生成并打印在日志里(podman logs moshiro-backend)
|
||
# (没有 .env 也要先建一个空文件:touch .env)
|
||
# podman compose up -d # Docker 用 docker compose
|
||
# 第一次打开面板按页面引导认领:没有默认管理员。面板监听 127.0.0.1:8080,对外请放在反向代理(HTTPS)后面。
|
||
# 更新:先备份数据卷,再 podman compose pull && podman compose up -d。新版会自动迁移数据库,
|
||
# 但旧版不认比自己新的数据库:想回滚要先恢复备份,只改 MOSHIRO_VERSION 不够。
|
||
# 说明见 docs/ops/deployment.md。
|
||
services:
|
||
backend:
|
||
image: ${MOSHIRO_IMAGE:-registry.oeo.one/moshiro/moshiro-backend}:${MOSHIRO_VERSION:-latest}
|
||
container_name: moshiro-backend
|
||
restart: unless-stopped
|
||
init: true
|
||
ports:
|
||
- "127.0.0.1:8080:8080"
|
||
# .env 里的变量原样传进容器(MoShiro__PublicUrl、MoShiro__ClaimCode 等)(不用带默认值的变量替换:有的 compose 提供者,比如 podman-compose,不替换环境变量里的默认值)
|
||
env_file:
|
||
- .env
|
||
environment:
|
||
ASPNETCORE_HTTP_PORTS: "8080"
|
||
MoShiro__DataDirectory: /data
|
||
volumes:
|
||
- moshiro-backend-data:/data
|
||
read_only: true
|
||
tmpfs:
|
||
- /tmp:rw,noexec,nosuid,size=64m,mode=1777
|
||
security_opt:
|
||
- no-new-privileges:true
|
||
cap_drop:
|
||
- ALL
|
||
stop_grace_period: 30s
|
||
|
||
volumes:
|
||
moshiro-backend-data:
|
||
name: moshiro-backend-data
|