新增 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 - ${DOWNLOAD_PATH}:/downloads
restart: 'unless-stopped' restart: 'unless-stopped'
environment: environment:
- PUID=${PUID} - PUID=${PUID:-1000}
- PGID=${PGID} - PGID=${PGID:-1000}
- UMASK_SET=022 - 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 - UPDATE_TRACKERS=true
#- CUSTOM_TRACKER_URL=
- TZ=Asia/Shanghai - TZ=Asia/Shanghai
network_mode: host network_mode: host

View File

@@ -7,7 +7,7 @@ services:
network_mode: "host" network_mode: "host"
volumes: volumes:
- jellyfin-config:/config - jellyfin-config:/config
- jellyfin-cache:/cache - jellyfin-cache:/cache # maybe split transcodes into tmpfs
- ${MEDIA_PATH:-/media}:/media:ro,nosuid,nodev # recursive 'rx' - ${MEDIA_PATH:-/media}:/media:ro,nosuid,nodev # recursive 'rx'
# - /dev/dri/renderD128:/dev/dri/renderD128 # - /dev/dri/renderD128:/dev/dri/renderD128
- type: bind - 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 配置也无何不可,万一不满意别的配置呢? > 当然直接编辑 compose 配置也无何不可,万一不满意别的配置呢?
| 服务 | 是否容器化 | 环境变量=默认值) | 备注 | | 服务 | 是否容器化 | 环境变量 | 默认值 |
|------|------------|----------|------| |------|------------|----------|------|
| cockpit dashboard | ❌ | - | (太长了,附表格后) | | cockpit dashboard | ❌ | - | - |
| mihomo | ✅ | PWD | Compose 会继承终端当前目录 $PWD无需手写 | | nginx | ❌ | - | - |
| jellyfin | ✅ | MEDIA_PATH=/media | (太长了,附表格后) | | mihomo | ✅ | PWD | 当前终端的 $PWD |
| aria2 | ✅ | PUID, PGID, CONF_PATH, DOWNLOAD_PATH, ARIANG_PORT=6880 | (太长了,附表格后) | | jellyfin | ✅ | MEDIA_PATH | /media |
| filebrowser | ✅ | FB_PORT=8080, PUID, PGID, SRV_PATH | 和上面 DOWNLOAD_PATH 一个逻辑,自行指定共享根目录 | | aria2 | ✅ | PUID, PGID | 1000 |
| navidrome | | MUSIC_PATH, PUID, PGID | `ND_`开头的环境变量配置可参见[在线文档](https://www.navidrome.org/docs/usage/configuration/options/#environment-variables);我最终选择把音乐库暴露给公网,因此配置单也加了很多限制措施,仅供参考 | | | | 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 ### cockpit
1. 独显/按摩店核显可能仍需要刷入驱动 - 新版 Ubuntu 的 sudo 命令行不完全,暂时需回退为`sudo.ws`
2. 阴特耳核显现在应该不用再进容器检查渲染节点的用户组了 - 需要用`nmcli`另建一空网口以便正常检查软件包更新
3. 由于 ii. 所限,本容器**不允许非 root 运行** - chrony 需要换用国内 NTP 服务器
- aria2 ### jellyfin
- 容器会自动下载 [P3TERX/aria2.conf](https://github.com/P3TERX/aria2.conf) 配置到 CONF_PATH 1. 部署流程参见[这篇知乎专栏](https://zhuanlan.zhihu.com/p/624670198)
- DOWNLOAD_PATH 是什么样,下载的位置就是什么样,这个就没有什么前后缀 - nyanmisaka 版(即本仓库用的镜像)可以省略“在容器里安装英特耳显卡驱动”的步骤
- 防火墙务必提前放行 aria2 监听端口(至少放`6888/tcp,udp` - 我曾遇到过容器缺失 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)。
- 我最终选择把音乐库暴露给公网,因此配置单也加了很多限制措施,仅供参考。