新增 pigallery2

This commit is contained in:
2026-04-19 14:09:47 +08:00
parent 833cb9bffb
commit 32b4808535
4 changed files with 79 additions and 22 deletions

View File

@@ -14,10 +14,16 @@ services:
- ${DOWNLOAD_PATH}:/downloads
restart: 'unless-stopped'
environment:
- PUID=${PUID}
- PGID=${PGID}
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- UMASK_SET=022
- RPC_SECRET=${ARIA2_RPC_SECRET:-P3TERX}
- RPC_PORT=${ARIA2_RPC_PORT:-6800}
- LISTEN_PORT=${ARIA2_BT_PORT:-6888}
- DISK_CACHE=64M
- IPV6_MODE=false
- UPDATE_TRACKERS=true
#- CUSTOM_TRACKER_URL=
- TZ=Asia/Shanghai
network_mode: host

View File

@@ -7,7 +7,7 @@ services:
network_mode: "host"
volumes:
- jellyfin-config:/config
- jellyfin-cache:/cache
- jellyfin-cache:/cache # maybe split transcodes into tmpfs
- ${MEDIA_PATH:-/media}:/media:ro,nosuid,nodev # recursive 'rx'
# - /dev/dri/renderD128:/dev/dri/renderD128
- type: bind

View File

@@ -0,0 +1,27 @@
services:
pigallery2:
image: bpatrik/pigallery2:latest
container_name: pigallery2
deploy:
resources:
limits:
memory: 2G # <1GB RAM might also work. It will trigger GC more often. GC is slow. See https://github.com/bpatrik/pigallery2/issues/1080
environment:
- NODE_ENV=production # set to 'debug' for full debug logging
# - NODE_OPTIONS=--enable-source-maps # enable source map support on the backend for development
volumes:
- "pig-cfg:/app/data/config" # CHANGE ME
- "db-data:/app/data/db"
- "${IMG_DIR:-}:/app/data/images:ro" # CHANGE ME, ':ro' means read-only
# - "/var/tmp/pigallery2:/app/data/tmp" # CHANGE ME
- type: tmpfs
target: /app/data/tmp
tmpfs:
size: 512M
mode: 1777
ports:
- ${PIG_PORT:-80}:80
restart: always
volumes:
db-data:

View File

@@ -8,26 +8,50 @@
>
> 当然直接编辑 compose 配置也无何不可,万一不满意别的配置呢?
| 服务 | 是否容器化 | 环境变量=默认值) | 备注 |
| 服务 | 是否容器化 | 环境变量 | 默认值 |
|------|------------|----------|------|
| cockpit dashboard | ❌ | - | (太长了,附表格后) |
| mihomo | ✅ | PWD | Compose 会继承终端当前目录 $PWD无需手写 |
| jellyfin | ✅ | MEDIA_PATH=/media | (太长了,附表格后) |
| aria2 | ✅ | PUID, PGID, CONF_PATH, DOWNLOAD_PATH, ARIANG_PORT=6880 | (太长了,附表格后) |
| filebrowser | ✅ | FB_PORT=8080, PUID, PGID, SRV_PATH | 和上面 DOWNLOAD_PATH 一个逻辑,自行指定共享根目录 |
| navidrome | | MUSIC_PATH, PUID, PGID | `ND_`开头的环境变量配置可参见[在线文档](https://www.navidrome.org/docs/usage/configuration/options/#environment-variables);我最终选择把音乐库暴露给公网,因此配置单也加了很多限制措施,仅供参考 |
| cockpit dashboard | ❌ | - | - |
| nginx | ❌ | - | - |
| mihomo | ✅ | PWD | 当前终端的 $PWD |
| jellyfin | ✅ | MEDIA_PATH | /media |
| aria2 | ✅ | PUID, PGID | 1000 |
| | | ARIA2_RPC_SECRET | P3TERX |
| | | ARIA2_RPC_PORT | 6800 |
| | | ARIA2_BT_PORT | 6888 |
| | | ARIANG_PORT | 6880 |
| | | CONF_PATH, DOWNLOAD_PATH |
| filebrowser | ✅ | FB_PORT | 8080 |
| | | PUID, PGID, SRV_PATH |
| navidrome | ✅ | MUSIC_PATH, PUID, PGID |
| pigallery2 | ✅ | PIG_PORT | 80 |
| | | IMG_DIR |
- cockpit
- 新版 Ubuntu 的 sudo 命令行不完全,暂时需回退为`sudo.ws`
- 需要用`nmcli`另建一空网口以便正常检查软件包更新
- chrony 需要换用国内 NTP 服务器
## 备注
- jellyfin
1. 独显/按摩店核显可能仍需要刷入驱动
2. 阴特耳核显现在应该不用再进容器检查渲染节点的用户组了
3. 由于 ii. 所限,本容器**不允许非 root 运行**
### cockpit
- 新版 Ubuntu 的 sudo 命令行不完全,暂时需回退为`sudo.ws`
- 需要用`nmcli`另建一空网口以便正常检查软件包更新
- chrony 需要换用国内 NTP 服务器
- aria2
- 容器会自动下载 [P3TERX/aria2.conf](https://github.com/P3TERX/aria2.conf) 配置到 CONF_PATH
- DOWNLOAD_PATH 是什么样,下载的位置就是什么样,这个就没有什么前后缀
- 防火墙务必提前放行 aria2 监听端口(至少放`6888/tcp,udp`
### jellyfin
1. 部署流程参见[这篇知乎专栏](https://zhuanlan.zhihu.com/p/624670198)
- nyanmisaka 版(即本仓库用的镜像)可以省略“在容器里安装英特耳显卡驱动”的步骤
- 我曾遇到过容器缺失 render 组导致 QSV 硬解调用 renderD128 时出现问题。
在 GitHub 相关问题帖中,有人只挂载`/dev/dri/renderD128`并反馈可用。于是我也干了。
- 你在管理面板里能选的硬解格式很大程度上取决于 vainfo 命令的输出,并非像很多教程里说的“尽量都选上”。
无论如何,进容器里检查一下总归不碍事。
2. 如需使用硬件加速功能,切记**不许非 root 运行**
### aria2
- 容器会自动下载 [P3TERX/aria2.conf](https://github.com/P3TERX/aria2.conf) 配置到 CONF_PATH。
- DOWNLOAD_PATH 是什么样,下载的位置就是什么样。
- 防火墙务必提前放行 aria2 监听端口(至少放`$ARIA2_BT_PORT/tcp,udp`
- P3TERX 默认禁用 IPv6。经多方测试咱家也的确没有 IPv6。在现有条件无 IPv6 无公网)下最优解就是保留现状。
### filebrowser
事实上我更推荐 FileStash。只是 Office 组件调教起来比较麻烦。我没得出比较便捷的方案,就先用这个备选了。
### navidrome
- `ND_`开头的环境变量配置可参见[在线文档](https://www.navidrome.org/docs/usage/configuration/options/#environment-variables)。
- 我最终选择把音乐库暴露给公网,因此配置单也加了很多限制措施,仅供参考。