新增 pigallery2
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
27
pigallery2/docker-compose.yml
Normal file
27
pigallery2/docker-compose.yml
Normal 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:
|
||||||
62
readme.md
62
readme.md
@@ -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)。
|
||||||
|
- 我最终选择把音乐库暴露给公网,因此配置单也加了很多限制措施,仅供参考。
|
||||||
|
|||||||
Reference in New Issue
Block a user