Compare commits

...
21 Commits
Author SHA1 Message Date
lingkai5wu c2b6f09da9 feat: update homepage allowed hosts to home subdomain 2026-10-24 23:55:12 +08:00
lingkai5wu 0ef4c4bb20 fix: update miyouqian upstream 2026-10-24 21:29:08 +08:00
lingkai5wu 52064864f5 feat: add homepage 2026-10-24 21:22:05 +08:00
lingkai5wu 1da5a28e23 chore: bump Immich to v3.3.5 2026-10-22 08:55:05 +08:00
lingkai5wu 45ce3b3b6a fix: track miyouqian upstream submodule 2026-10-18 13:14:39 +08:00
lingkai5wu b9453edde9 feat: add miyouqian submodule and compose 2026-10-18 13:04:39 +08:00
lingkai5wu 1c12f71a87 fix: limit dclint scanning to immediate stack directories 2026-10-18 12:14:40 +08:00
lingkai5wu abf61c979f chore: bump OpenList to v4.2.7 2026-10-16 23:10:44 +08:00
lingkai5wu dc64f06273 style: reorder service keys per dclint 2026-10-16 15:45:21 +08:00
lingkai5wu 20864fd260 style: standardize NGINX_ENVSUBST_FILTER quotes 2026-10-16 15:16:47 +08:00
lingkai5wu f2beb701e6 chore: pin Nginx images 2026-10-16 15:11:20 +08:00
lingkai5wu 6e02bd39ae fix: harden container privileges 2026-10-16 15:11:17 +08:00
lingkai5wu abbcdb1a02 chore: update environment variable syntax 2026-10-16 14:05:17 +08:00
lingkai5wu a43ed29165 chore: update OpenList container user to 1000:1000 2026-10-15 23:45:48 +08:00
lingkai5wu ebe6600352 chore: bump Gitea to v28.1.0 2026-10-15 22:21:41 +08:00
lingkai5wu d73fb11283 chore: bump OpenList to v4.2.6 2026-10-15 22:08:43 +08:00
lingkai5wu 69f7c07bdd chore: comment out unused port mapping for AdGuard Home 2026-10-15 22:00:53 +08:00
lingkai5wu f7df5d6758 chore: bump AdGuard Home to v0.107.79 2026-10-15 21:59:53 +08:00
lingkai5wu dfd079c927 chore: bump Backrest to v1.14.1 2026-10-15 21:53:15 +08:00
lingkai5wu c4316b5726 chore: bump DDNS-GO to v6.17.7 2026-10-15 21:51:42 +08:00
lingkai5wu e13a0844f6 chore: bump Immich to v3.3.3 2026-10-15 21:51:08 +08:00
17 changed files with 153 additions and 17 deletions

No files matched your search

+4
View File
@@ -0,0 +1,4 @@
[submodule "miyouqian/upstream"]
path = miyouqian/upstream
url = https://github.com/Marchen-orz/MiyoQian.git
branch = master
+4 -2
View File
@@ -1,7 +1,7 @@
name: adguardhome
services:
adguardhome:
image: adguard/adguardhome:v0.107.78
image: adguard/adguardhome:v0.107.79
container_name: adguardhome
volumes:
- /srv/fast/adguardhome:/opt/adguardhome/work
@@ -9,7 +9,7 @@ services:
ports:
- "192.168.10.101:53:53"
- "192.168.10.101:53:53/udp"
- "192.168.10.101:3000:3000"
# - "192.168.10.101:3000:3000"
networks:
- proxy
restart: unless-stopped
@@ -21,6 +21,8 @@ services:
reservations:
cpus: "0.2"
memory: 128M
security_opt:
- no-new-privileges:true
networks:
proxy:
external: true
+13 -1
View File
@@ -1,7 +1,7 @@
name: backrest
services:
backrest:
image: ghcr.io/garethgeorge/backrest:v1
image: ghcr.io/garethgeorge/backrest:v1.14.1
container_name: backrest
volumes:
- /srv/data/backrest/data:/data
@@ -20,6 +20,16 @@ services:
networks:
- proxy
restart: unless-stopped
cap_add:
- CHOWN
- DAC_OVERRIDE
- DAC_READ_SEARCH
- FOWNER
- FSETID
# Root keeps only the capabilities restic needs to read and restore
# files owned by other users.
cap_drop:
- ALL
deploy:
resources:
limits:
@@ -28,6 +38,8 @@ services:
reservations:
cpus: "1.0"
memory: 512M
security_opt:
- no-new-privileges:true
networks:
proxy:
external: true
+2
View File
@@ -68,6 +68,8 @@ docker_args=(
run
--rm
--network "container:$CONTAINER"
--cap-drop ALL
--security-opt no-new-privileges:true
--cap-add NET_RAW
--cap-add NET_ADMIN
)
+13 -1
View File
@@ -4,12 +4,24 @@ set -euo pipefail
SCRIPT_DIR="$(dirname -- "$(readlink -f -- "${BASH_SOURCE[0]}")")"
STACKS_DIR="${STACKS_DIR:-$SCRIPT_DIR}"
docker_args=(--rm -v "$STACKS_DIR:/app")
dclint_args=(. -r)
dclint_args=()
if [[ -t 1 ]]; then
docker_args+=(-t)
fi
# Scan immediate stack directories without recursing into their subdirectories.
shopt -s nullglob
for stack_dir in "$STACKS_DIR"/*/; do
stack_dir="${stack_dir%/}"
dclint_args+=("/app/${stack_dir##*/}")
done
if ((${#dclint_args[@]} == 0)); then
printf 'No stack directories found in %s\n' "$STACKS_DIR" >&2
exit 1
fi
case "${1:-}" in
"")
;;
+3 -1
View File
@@ -1,7 +1,7 @@
name: ddns-go
services:
ddns-go:
image: ghcr.io/jeessy2/ddns-go:v6.17.5
image: ghcr.io/jeessy2/ddns-go:v6.17.7
container_name: ddns-go
volumes:
- /srv/data/ddns-go:/root
@@ -15,3 +15,5 @@ services:
reservations:
cpus: "0.1"
memory: 16M
security_opt:
- no-new-privileges:true
+3 -1
View File
@@ -1,7 +1,7 @@
name: gitea
services:
server:
image: docker.gitea.com/gitea:1.27
image: docker.gitea.com/gitea:28.1.0
container_name: gitea
volumes:
- /srv/data/gitea:/data
@@ -18,6 +18,8 @@ services:
limits:
cpus: "1.0"
memory: 512M
security_opt:
- no-new-privileges:true
networks:
proxy:
external: true
+3 -1
View File
@@ -8,7 +8,7 @@ services:
- /etc/localtime:/etc/localtime:ro
- /run/dbus:/run/dbus:ro
environment:
- TZ=Asia/Shanghai
TZ: Asia/Shanghai
network_mode: host
restart: unless-stopped
deploy:
@@ -19,4 +19,6 @@ services:
reservations:
cpus: "0.2"
memory: 512M
security_opt:
- no-new-privileges:true
stop_grace_period: 60s
+34
View File
@@ -0,0 +1,34 @@
name: homepage
services:
homepage:
image: ghcr.io/gethomepage/homepage:v2.7.0
container_name: homepage
volumes:
- /srv/data/homepage:/app/config
# - /var/run/docker.sock:/var/run/docker.sock:ro
environment:
HOMEPAGE_ALLOWED_HOSTS: home.linkwu.de
PUID: "1000"
PGID: "1000"
networks:
- proxy
restart: unless-stopped
cap_add:
- CHOWN
- SETGID
- SETUID
cap_drop:
- ALL
deploy:
resources:
limits:
cpus: "0.5"
memory: 1G
reservations:
cpus: "0.1"
memory: 64M
security_opt:
- no-new-privileges:true
networks:
proxy:
external: true
+17
View File
@@ -33,6 +33,8 @@ services:
memory: 512M
devices:
- /dev/dri:/dev/dri
security_opt:
- no-new-privileges:true
immich-machine-learning:
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
container_name: immich-machine-learning
@@ -43,11 +45,15 @@ services:
restart: unless-stopped
healthcheck:
disable: false
cap_drop:
- ALL
deploy:
resources:
limits:
cpus: "2.0"
memory: 4G
security_opt:
- no-new-privileges:true
database:
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
container_name: immich-postgres
@@ -71,6 +77,8 @@ services:
reservations:
cpus: "0.2"
memory: 128M
security_opt:
- no-new-privileges:true
shm_size: 128mb
redis:
image: docker.io/valkey/valkey:9@sha256:c123e3715db63d06d4ad6964884037aa0d5d4d703939b9929954112889708e1d
@@ -78,6 +86,13 @@ services:
restart: unless-stopped
healthcheck:
test: redis-cli ping || exit 1
cap_add:
- CHOWN
- SETGID
- SETUID
# The official image starts as root and drops to the valkey user.
cap_drop:
- ALL
deploy:
resources:
limits:
@@ -86,6 +101,8 @@ services:
reservations:
cpus: "0.1"
memory: 64M
security_opt:
- no-new-privileges:true
networks:
proxy:
external: true
+1 -1
View File
@@ -10,7 +10,7 @@ DB_DATA_LOCATION=/srv/fast/immich/postgres
TZ=Asia/Shanghai
# The Immich version to use. You can pin this to a specific version like "v2.1.0"
IMMICH_VERSION=v3.3.0
IMMICH_VERSION=v3.3.5
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
+34
View File
@@ -0,0 +1,34 @@
name: miyouqian
services:
miyouqian:
build:
context: ./upstream
dockerfile: docker/Dockerfile
container_name: miyouqian
volumes:
- /srv/data/miyouqian:/app/state
environment:
TZ: Asia/Shanghai
networks:
- proxy
restart: unless-stopped
cap_drop:
- ALL
deploy:
resources:
limits:
cpus: "0.5"
memory: 256M
reservations:
cpus: "0.1"
memory: 64M
init: true
read_only: true
security_opt:
- no-new-privileges:true
tmpfs:
- /tmp
networks:
proxy:
external: true
Submodule miyouqian/upstream added at e06cf1017a.
+6 -2
View File
@@ -1,7 +1,7 @@
name: nginx
services:
nginx:
image: nginx:1-alpine
image: nginx:1.31.7-alpine
container_name: nginx
volumes:
- /srv/data/nginx/templates:/etc/nginx/templates:ro
@@ -9,7 +9,7 @@ services:
environment:
BASE_DOMAIN: ${BASE_DOMAIN}
EO_ORIGIN_TOKEN: ${EO_ORIGIN_TOKEN}
NGINX_ENVSUBST_FILTER: '^(BASE_DOMAIN|EO_ORIGIN_TOKEN)$'
NGINX_ENVSUBST_FILTER: "^(BASE_DOMAIN|EO_ORIGIN_TOKEN)$"
NGINX_ENVSUBST_OUTPUT_DIR: /etc/nginx
ports:
- "192.168.10.101:80:80"
@@ -32,6 +32,8 @@ services:
reservations:
cpus: "0.05"
memory: 16M
security_opt:
- no-new-privileges:true
acme-sh:
image: neilpang/acme.sh:3.1.4
container_name: acme.sh
@@ -52,6 +54,8 @@ services:
reservations:
cpus: "0.05"
memory: 16M
security_opt:
- no-new-privileges:true
networks:
proxy:
name: proxy
+6 -2
View File
@@ -1,7 +1,7 @@
name: openlist
services:
openlist:
image: openlistteam/openlist:v4.2.5
image: openlistteam/openlist:v4.2.7
container_name: openlist
volumes:
- /srv/data/openlist:/opt/openlist/data
@@ -13,7 +13,9 @@ services:
networks:
- proxy
restart: unless-stopped
user: 0:0
user: 1000:1000
cap_drop:
- ALL
deploy:
resources:
limits:
@@ -22,6 +24,8 @@ services:
reservations:
cpus: "0.2"
memory: 64M
security_opt:
- no-new-privileges:true
networks:
proxy:
external: true
+7 -5
View File
@@ -8,11 +8,11 @@ services:
- /srv/data/qbittorrent/downloads:/downloads
- /srv/fast/qbittorrent:/opt/openlist/data/temp/qBittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- WEBUI_PORT=8080
- TORRENTING_PORT=6881
PUID: "1000"
PGID: "1000"
TZ: Asia/Shanghai
WEBUI_PORT: "8080"
TORRENTING_PORT: "6881"
ports:
- "6881:6881/tcp"
- "6881:6881/udp"
@@ -24,6 +24,8 @@ services:
limits:
cpus: "1.0"
memory: 2G
security_opt:
- no-new-privileges:true
networks:
proxy:
external: true
+2
View File
@@ -21,3 +21,5 @@ services:
reservations:
cpus: "0.2"
memory: 128M
security_opt:
- no-new-privileges:true