여기에는 자용 Docker 프로젝트 목록을 정리했으며, 일부 설정은 배포 총정리를 참고했습니다. 프로젝트마다 유지보수 상태와 버전 차이가 매우 커서, 모든 예시가 2026년에 바로 실행된다고 보장할 수 없습니다.
목록은 두 가지 유형의 설정을 구분합니다. '문서 대조'로 표시된 항목은 현재 프로젝트 설명을 참고했으며, 다른 항목은 과거 설정으로 재검증 대기 중임을 명확히 표시했습니다. 이미지, 자격 증명, 포트 및 초기화 방식은 배포 전에 확인해야 합니다. 이 컨테이너들을 실행하지 않았고, 어떤 데이터베이스도 마이그레이션하지 않았습니다.
서로 다른 프로젝트의 같은 이름 호스트 포트는 충돌합니다. 아래 각 단락은 독립적인 프로젝트이므로 전체를 하나의 Compose 파일로 합치지 마십시오. latest는 예시 선택일 뿐입니다. 실제 적용 시에는 릴리스와 아키텍처를 확인하고 검증된 버전을 고정하며 백업과 롤백 조건을 유지해야 합니다.
공통 파라미터
Compose V2는 docker compose를 사용합니다. 최상위 version은 이미 구식이므로 이 문서의 구성에서는 더 이상 추가하지 않습니다. restart: "no"는 자동 재시작하지 않습니다. on-failure는 실패 시에만 재시작합니다. always와 unless-stopped는 수동 중지 후 데몬을 재시작할 때 동작이 다릅니다. 재시작 정책은 상태 확인과 같지 않으며 애플리케이션이 이미 외부 서비스를 제공할 수 있다는 것을 보장하지도 않습니다.
포트의 왼쪽은 호스트 진입점이고 오른쪽은 컨테이너 수신 포트입니다. 기본적으로 주소를 지정하지 않은 게시는 보통 모든 인터페이스에 바인딩됩니다. 이 문서의 일반 웹 서비스 예시는 127.0.0.1로 변경했으며, 다른 머신에서 접근하려면 신뢰할 수 있는 LAN, SSH 포워딩 또는 인증이 있는 리버스 프록시를 별도로 구성해야 합니다. DNS, 하드웨어 및 host 네트워크 계열 서비스는 이 규칙을 그대로 적용할 수 없습니다.

설명 이미지: Docker 포트와 볼륨: 왼쪽과 오른쪽을 바꿔 보지 마십시오
데이터베이스, 구성 및 업로드 파일은 영속화해야 합니다. 마운트 디렉터리, 사용자 권한 및 데이터 백업은 배포의 일부입니다. .env는 값을 문서에 하드코딩하지 않기 위한 것일 뿐 암호화 금고가 아니며 공개 저장소에 커밋해서는 안 됩니다.
docker compose config --quiet
docker compose up -d
docker compose logs --tail=100
구문 검사를 통과했다고 해서 이미지가 존재하거나 애플리케이션 구성이 올바르거나 데이터를 마이그레이션할 수 있다는 뜻은 아닙니다. 여기서는 이러한 배포 명령을 실제로 실행하지 않았습니다.
cloudflare 관통 도구 flaresolverr
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
environment:
- LOG_LEVEL=info
- TZ=Asia/Shanghai
ports:
- 127.0.0.1:8191:8191
restart: unless-stopped
마인드맵 mind-map
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
mindmap:
container_name: mindmap
image: shuiche/mind-map
ports:
- 127.0.0.1:6679:8080
environment:
TZ: Asia/Shanghai
restart: always
샤오야 알리 리소스
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
xiaoya:
container_name: xiaoya
image: xiaoyaliu/alist
ports:
- 127.0.0.1:3579:80
volumes:
- /home/zsg/docker/xiaoya:/data
- /home/zsg/docker/xiaoya/alist:/opt/alist/data
environment:
TZ: Asia/Shanghai
restart: always
Snapdrop 웹 파일 전송
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
snapdrop:
image: lscr.io/linuxserver/snapdrop:latest
container_name: snapdrop
environment:
- TZ=Asia/Shanghai
volumes:
- /home/zsg/docker/snapdrop:/config
ports:
- 127.0.0.1:7635:80
restart: unless-stopped
web-check 웹사이트 테스트
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
webcheck:
container_name: webcheck
restart: unless-stopped
image: lissy93/web-check
ports:
- 127.0.0.1:3084:3000
environment:
- TZ=Asia/Shanghai
썬더
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
이 항목은 호스트 네트워크, 장치 또는 고권한 마운트와 관련됩니다. 반드시 필요하고 신뢰할 수 있는 환경에서만 평가하고, 컨테이너를 절대적 격리로 간주하지 마십시오. 특히 Docker socket 권한은 민감합니다.
services:
xunlei:
image: cnk3x/xunlei:latest
privileged: true
container_name: xunlei
hostname: nas
network_mode: host
environment:
- XL_WEB_PORT=4321
- XL_BA_USER=user
- XL_BA_PASSWORD=${XL_BA_PASSWORD:?set XL_BA_PASSWORD in a private .env file}
volumes:
- /home/zsg/docker/xunlei/data:/xunlei/data
- /home/zsg/docker/xunlei/downloads:/xunlei/downloads
restart: unless-stopped
Fail2ban
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
이 항목은 호스트 네트워크, 장치 또는 고권한 마운트와 관련됩니다. 반드시 필요하고 신뢰할 수 있는 환경에서만 평가하고, 컨테이너를 절대적 격리로 간주하지 마십시오. 특히 Docker socket 권한은 민감합니다.
services:
fail2ban:
container_name: fail2ban
restart: 'no'
network_mode: host
volumes:
- /home/zsg/docker/fail2ban/data:/data
- /var/log:/var/log:ro
image: crazymax/fail2ban:latest
environment:
- TZ=Asia/Shanghai
- F2B_LOG_TARGET=STDOUT
- F2B_LOG_LEVEL=INFO
- F2B_DB_PURGE_AGE=1d
cap_add:
- NET_ADMIN
- NET_RAW
시놀로지 DSM
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
이 항목은 호스트 네트워크, 장치 또는 고권한 마운트와 관련됩니다. 반드시 필요하고 신뢰할 수 있는 환경에서만 평가하고, 컨테이너를 절대적 격리로 간주하지 마십시오. 특히 Docker socket 권한은 민감합니다.
docker network create -d macvlan \
--subnet=10.0.0.0/24 \
--gateway=10.0.0.1 \
--ip-range=10.0.0.160/28 \
-o parent=eth0 vdsm
# 先建立macvlan网络,eth0要改成你的网卡地址
# 以上按照你的局域网ip改
services:
synology-dsm:
container_name: dsm
restart: always
environment:
TZ: Asia/Shanghai
CPU_CORES: '2'
RAM_SIZE: 1024M
DISK_SIZE: 16G
ALLOCATE: N
DHCP: Y
devices:
- /dev/kvm
- /dev/vhost-net
device_cgroup_rules:
- c *:* rwm
cap_add:
- NET_ADMIN
ports:
- 127.0.0.1:5000:5000
volumes:
- /home/zsg/docker/dsm:/storage
stop_grace_period: 1m
image: kroese/virtual-dsm:latest
networks:
vdsm:
ipv4_address: 10.0.0.160
networks:
vdsm:
external: true
싱글 사인온 Authelia
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
Compose는 컨테이너 구조일 뿐이며 완전한 인증, TLS, 라우팅 또는 비즈니스 구성을 포함하지 않습니다. 초기화와 접근 제어가 완료되기 전에 신뢰할 수 없는 네트워크에 진입점을 개방하지 마십시오.
services:
authelia:
container_name: authelia
image: authelia/authelia:latest
restart: unless-stopped
ports:
- 127.0.0.1:19091:9091
environment:
- TZ=Asia/Shanghai
volumes:
- /home/zsg/docker/authelia/config:/config
내부망 터널링 FRP
frps는 공용 네트워크에, frpc는 내부 네트워크에 있습니다. 서드파티 이미지, 구 INI와 서로 다른 버전의 경로를 혼용하지 마세요. 버전, 포트, 인증 및 TLS가 일치하는 전체 설정은 본 사이트의 《Frp 구축 및 설정》을 참고하세요. 참고: 공식 프로젝트. 라우터 관리 진입점을 직접 개방하지 마세요.
RustDesk 원격 데스크톱
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
원격 데스크톱 클라이언트는 해당 TCP/UDP 포트에 도달할 수 있어야 하며, 일반 HTTP 리버스 프록시로 대체할 수 없습니다. 이 항목은 과거 포트 구조를 유지하며, 배포 전에 업스트림에 따라 서버 키, 데이터 공유 및 네트워크 제한을 확인해야 합니다. 구성되지 않은 원격 제어 진입점을 신뢰할 수 없는 네트워크에 노출하지 마십시오.
services:
hbbs:
container_name: rustdesk-hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server
command: hbbs
volumes:
- /home/zsg/docker/rustdesk/hbbs:/root
restart: always
hbbr:
container_name: rustdesk-hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server
command: hbbr
volumes:
- /home/zsg/docker/rustdesk/hbbr:/root
restart: always
Stirling PDF 도구 상자
현재 공식 문서는 아래 이미지와 데이터 경로를 사용합니다. 구 frooodle/s-pdf 구성은 더 이상 새 배포 예시로 사용되지 않습니다:
services:
stirling-pdf:
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
restart: unless-stopped
ports:
- "127.0.0.1:8080:8080"
volumes:
- ./stirling-data:/configs
먼저 통제된 진입점에서 초기화와 계정 설정을 완료하고, 로그인을 비활성화한 채로 곧바로 공용망에 개방하지 마십시오. OCR, 스토리지 및 부가 기능은 현재 버전에 맞게 계속 구성하십시오. 구 환경 변수를 그대로 사용하여 모든 기능을 보장하지 마십시오. 참고: 공식 Docker 설치. 실기 배포 미완료.
Alist
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
alist:
restart: always
volumes:
- ./docker/alist:/opt/alist/data
- /home:/home/alist
ports:
- 127.0.0.1:5244:5244
environment:
- TZ=Asia/Shanghai
container_name: alist
image: xhofe/alist:latest
마인드맵 wiseapp
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
mkdir ./wiseapp
docker run --name wiseapp -d --mount type=bind,source=./wiseapp,target=/var/lib/wise-db wisemapping/wisemapping:latest
docker run --name wiseapp -d -v ./wiseapp:/var/lib/wise-db wisemapping/wisemapping:latest
docker cp wiseapp:/var/lib/wisemapping/db ./wiseapp
docker stop wiseapp;docker rm wiseapp
docker run --mount type=bind,source=./wiseapp/db,target=/var/lib/wisemapping/db -it --rm -p 6080:8080 wisemapping/wisemapping:latest
docker run --name wiseapp -v ./wiseapp/db:/var/lib/wisemapping/db -d -p 6080:8080 wisemapping/wisemapping:latest
默认账号:test@wisemapping.org密码test
默认账号:admin@wisemapping.org密码test
services:
wisemapping:
container_name: wiseapp
restart: always
environment:
- TZ=Asia/Shanghai
volumes:
- ./wiseapp/db:/var/lib/wisemapping/db
ports:
- 127.0.0.1:6080:8080
image: wisemapping/wisemapping:latest
정적 사이트 nginx-php
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
nginx:
container_name: nginx
ports:
- 127.0.0.1:3387:80
environment:
- TZ=Asia/Shanghai
restart: always
volumes:
- ./zdj:/usr/share/nginx/html
image: gindex/nginx-php
웹사이트 방문 통계 Umami
현재 공식 Compose를 기준으로, 애플리케이션은 내부 네트워크를 통해 PostgreSQL에 접근하며 데이터베이스 포트를 호스트에 게시하지 않습니다. 아래는 새 빈 인스턴스의 구조 예시이며, 기존 데이터베이스의 업그레이드 명령이 아닙니다:

설명 이미지: 애플리케이션과 데이터베이스: 데이터베이스는 공개 포트가 필요하지 않음
services:
umami:
image: ghcr.io/umami-software/umami:latest
restart: unless-stopped
ports:
- "127.0.0.1:3000:3000"
environment:
DATABASE_URL: "postgresql://umami:${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD}@db:5432/umami"
APP_SECRET: "${UMAMI_APP_SECRET:?set UMAMI_APP_SECRET}"
TWO_FACTOR_ENCRYPTION_KEY: "${UMAMI_2FA_KEY:?set UMAMI_2FA_KEY}"
depends_on:
db:
condition: service_healthy
init: true
db:
image: postgres:15-alpine
restart: unless-stopped
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD}"
volumes:
- umami-db-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 5
volumes:
umami-db-data:
비밀번호를 연결 URI에 사용하는 경우 URI 안전한 고강도 무작위 문자를 선택하거나 특수 문자를 올바르게 인코딩하세요. 2FA 암호화 키는 프로젝트 요구사항에 따라 64자리 16진수 값을 생성하고, 저장한 후에는 함부로 교체하지 마세요. 초기화 방식은 현재 프로젝트를 기준으로 하며, 출처나 버전이 맞지 않는 고정 SQL 파일을 수동으로 가져오지 마세요. PostgreSQL 주 버전 변경 시에는 반드시 독립적인 마이그레이션을 수행해야 하며, 새 버전이 이전 데이터 디렉터리를 직접 열도록 해서는 안 됩니다.
참고: 공식 Compose. 실기 배포는 하지 않았습니다.
WebSSH
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
webssh:
container_name: webssh
restart: 'no'
ports:
- 127.0.0.1:5032:5032
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
image: jrohy/webssh
메모 memos
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
memos:
container_name: memos
restart: always
environment:
- TZ=Asia/Shanghai
ports:
- 127.0.0.1:5230:5230
volumes:
- ./memos/:/var/opt/memos
image: neosmemo/memos:latest
Chatgpt-web
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
chatgpt-web:
container_name: chatgpt
restart: always
image: yidadaa/chatgpt-next-web
ports:
- 127.0.0.1:3355:3000
environment:
- TZ=Asia/Shanghai
- OPENAI_API_KEY=${OPENAI_API_KEY:?set OPENAI_API_KEY in a private .env file}
- CODE=${CODE:?set CODE in a private .env file}
- BASE_URL=https://api.openai.com
Traccar 위치 추적
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
traccar.xml 기본 파일 내보내기
docker run \
--rm \
--entrypoint cat \
traccar/traccar:latest \
/opt/traccar/conf/traccar.xml > ./traccar/traccar.xml
services:
traccar:
container_name: traccar
restart: always
environment:
- TZ=Asia/Shanghai
ports:
- 127.0.0.1:3697:8082
- 5000-5150:5000-5150
- 5000-5150:5000-5150/udp
volumes:
- ./traccar/data:/opt/traccar/data:rw
- ./traccar/logs:/opt/traccar/logs:rw
- ./traccar/traccar.xml:/opt/traccar/conf/traccar.xml:ro
image: traccar/traccar:latest
리버스 프록시 서버 Traefik
원래 단락은 YAML 따옴표 누락 외에도 컨테이너 설정만 있고 진입점, 라우팅, 인증서 및 접근 제어 설정이 없어 완전한 HTTPS 리버스 프록시 튜토리얼로 사용할 수 없습니다. 또한 Docker socket을 직접 마운트하고 있어 권한을 별도로 평가해야 합니다.
현재 배포는 Traefik 공식 가이드에서 버전과 설정 방식에 맞는 것을 선택하고, 먼저 테스트 환경에서 entryPoints, providers, TLS 및 라우팅을 확인한 후 실제 도메인에 연결하세요. DNS 서비스 제공업체 API 키는 자신의 비공개 설정에만 두고 공개 글에 붙여넣지 마세요. 이 문서는 불완전하고 오해의 소지가 있는 예전 스택을 더 이상 유지하지 않습니다.
Reader 리더
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
reader:
restart: always
container_name: reader
environment:
- SPRING_PROFILES_ACTIVE=prod
- READER_APP_SECURE=true
- READER_APP_SECUREKEY=282828
- READER_APP_INVITECODE=33655
- TZ=Asia/Shanghai
volumes:
- ./reader/log:/log
- ./reader/storage:/storage
ports:
- 127.0.0.1:8769:8080
image: hectorqin/reader
그리기 Draw
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
drawio:
container_name: draw
ports:
- 127.0.0.1:8322:8080
environment:
- TZ=Asia/Shanghai
restart: always
image: jgraph/drawio
RSS 구독 FreshRSS
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
freshrss:
container_name: freshrss
environment:
- CRON_MIN=*/45
- TZ=Asia/Shanghai
ports:
- 127.0.0.1:5655:80
volumes:
- ./freshrss:/var/www/html/data
image: freshrss/freshrss
ESP32HOME
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
esphome:
container_name: esphome
ports:
- 127.0.0.1:6052:6052
environment:
- http_proxy=http://10.0.0.5:7890
- https_proxy=http://10.0.0.5:7890
- no_proxy=localhost,10.0.0.5,10.0.0.1,192.168.1.1,127.0.0.1,.local,localhost
image: esphome/esphome
손그림 화이트보드
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
excalidraw:
container_name: excalidraw
ports:
- 127.0.0.1:8099:80
environment:
- TZ=Asia/Shanghai
volumes:
- ./excalidraw:/app/web
restart: always
image: excalidraw/excalidraw
Nginx+PHP
PHP 5.6, 7.3, 8.0은 서로 다른 사이트를 나란히 실행하는 데 사용된 적이 있지만, 이러한 브랜치는 현재 지원 범위에 없습니다. '사이트마다 다른 PHP-FPM을 사용할 수 있다'는 개념은 유지하되, 이러한 구 버전의 새 배포 목록은 더 이상 제공하지 않습니다.
새 애플리케이션은 먼저 여전히 지원되고 의존성이 호환되는 PHP 버전을 선택한 뒤, Nginx의 FastCGI 업스트림, 사이트 디렉터리와 권한을 구성한다. 오래된 사이트를 마이그레이션할 때는 테스트 환경에서 확장, 문법 및 데이터베이스 호환성을 점검해야 하며, 이미지 태그만 바꾼다고 업그레이드가 완료되는 것은 아니다. 참고: PHP 지원 주기.
phpmyadmin
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
# 任意服务器
docker run --name phpmyadmin -d -e PMA_ARBITRARY=1 -p 18080:80 phpmyadmin
# 指定服务器及端口
docker run --name phpmyadmin -d -e PMA_HOST=127.0.0.1 -e PMA_PORT=3306 -p 18080:80 phpmyadmin
MySQL
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
mysql:
container_name: mysql
restart: always
ports:
- 127.0.0.1:3306:3306
volumes:
- ./mysql/data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:?set MYSQL_ROOT_PASSWORD in a private .env file}
- TZ=Asia/Shanghai
image: mysql
Linux 명령 조회
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
web:
image: stilleshan/linux-command
container_name: linux-command
ports:
- 127.0.0.1:7326:80
restart: always
docker-proxy
오래된 구성은 인증 없는 2375를 게시하고 대량의 쓰기 작업을 허용하여 위험이 너무 높으므로, 그대로 따라 할 수 있는 배포 방법으로 더 이상 남겨두지 않는다. Docker API와 socket은 호스트 수준 권한을 가져올 수 있으며, socket 마운트에 :ro를 추가한다고 해서 API가 읽기 전용이 되는 것은 아니다.

설명 이미지: Docker socket: 일반적인 읽기 전용 파일이 아니다
컨테이너 상태를 꼭 읽어야 할 때는 제한된 socket proxy를 평가할 수 있다: 전용 내부 네트워크에만 연결하고, 2375를 게시하지 않으며, 기본적으로 POST를 닫고, 실제로 필요한 읽기 인터페이스만 항목별로 개방한다. 이 역시 민감한 인터페이스이며 안전 격리의 만능 경계가 아니다. 참고: docker-socket-proxy 프로젝트. 구체적인 통합은 호출자에 따라 재검토해야 하며, 이 글은 전체 권한 구성을 제공하지 않는다.
파일 전송함
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
filecodebox:
container_name: filecodebox
restart: always
ports:
- 127.0.0.1:12345:12345
volumes:
- ./FileCodeBox/:/app/data
image: lanol/filecodebox:latest
MQTT
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
Compose는 컨테이너 구조일 뿐이며 완전한 인증, TLS, 라우팅 또는 비즈니스 구성을 포함하지 않습니다. 초기화와 접근 제어가 완료되기 전에 신뢰할 수 없는 네트워크에 진입점을 개방하지 마십시오.
services:
eclipse-mosquitto:
container_name: MQTT
restart: always
ports:
- 127.0.0.1:1883:1883
- 127.0.0.1:9001:9001
volumes:
- ./mqtt/conf:/mosquitto/config
- ./mqtt/data:/mosquitto/data
- ./mqtt/log:/mosquitto/log
image: eclipse-mosquitto
속도 측정 speedtest
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
speedtest:
container_name: speedtest
restart: always
ports:
- 127.0.0.1:12345:80
image: adolfintel/speedtest
구독 변환
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
subweb:
container_name: subweb
restart: always
ports:
- 127.0.0.1:58080:80
image: careywong/subweb:latest
subconverter:
container_name: sub
restart: always
ports:
- 127.0.0.1:25500:25500
image: tindy2013/subconverter:latest
Docker 명령을 스택으로 변환
특수 문자가 포함된 마운트 경로는 따옴표로 감싸야 합니다. 아래 이미지와 페이지 기능은 여전히 실기 재검증되지 않은 과거 설정입니다. 변환 도구가 생성한 Compose도 권한, 볼륨, 포트 및 자격 증명을 직접 재검토해야 하며, 변환 후 바로 안전한 배포 방안으로 간주해서는 안 됩니다.
services:
composerize:
image: alcapone1933/composerize
restart: unless-stopped
ports:
- "127.0.0.1:9080:80"
environment:
TZ: Asia/Shanghai
volumes:
- ./composerize:/var/www
Docker 업데이트 알림
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
이 항목은 호스트 네트워크, 장치 또는 고권한 마운트와 관련됩니다. 반드시 필요하고 신뢰할 수 있는 환경에서만 평가하고, 컨테이너를 절대적 격리로 간주하지 마십시오. 특히 Docker socket 권한은 민감합니다.
services:
diun:
container_name: diun
restart: always
environment:
- TZ=Asia/Shanghai
- LOG_LEVEL=info
- LOG_JSON=false
- DIUN_PROVIDERS_DOCKER=true
- DIUN_PROVIDERS_FILE_FILENAME=/custom-images.yml
volumes:
- ./diun:/data
- ./diun/custom-images.yml:/custom-images.yml:ro
- ./diun/diun.yml:/diun.yml:ro
- /var/run/docker.sock:/var/run/docker.sock
image: crazymax/diun:latest
대시보드 homepage
Homepage와 Diun은 서로 다른 프로젝트이므로, 배포 시 Homepage 자체 이미지를 사용하고 허용된 접근 Host를 설정해야 합니다:
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
restart: unless-stopped
ports:
- "127.0.0.1:3000:3000"
environment:
HOMEPAGE_ALLOWED_HOSTS: "localhost:3000,127.0.0.1:3000"
volumes:
- ./config:/app/config
도메인으로 접근할 때는 허용 목록을 실제 도메인으로 변경한다. 이 최소 예시는 Docker socket에 연결하지 않는다; 컨테이너 상태 통합이 필요할 때는 접근 권한을 별도로 평가한다. 참고: 공식 Docker 설명. 구성은 문서에 따라 수정되었으며 실기 실행되지 않았다.
trilium 노트
nriver/trilium-cn은 서드파티 중국어 이미지입니다. 현재 프로젝트는 TriliumNext/Trilium에서 유지보수하며, 구 이미지와 현재 공식 배포판을 동일시해서는 안 됩니다.
새 배포는 공식 Docker 가이드에 따라 triliumnext/trilium의 검증된 버전을 선택하고 /home/node/trilium-data를 영속화합니다. 서버와 클라이언트의 동기화 버전을 먼저 확인한 후 업그레이드하고, 기존 노트 라이브러리를 열기 위해 곧바로 latest로 교체해서는 안 됩니다. 구 라이브러리 마이그레이션은 별도의 백업과 검증이 필요하며, 이 글에서는 이미 완료된 작업으로 재작성하지 않습니다.
FileBrowser 파일 관리
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
filebrowser:
container_name: filebrowser
ports:
- 127.0.0.1:9696:80
environment:
- TZ=Asia/Shanghai
- PUID=0
- PGID=0
volumes:
- .:/Disk
- ./filebrowser/database.db:/database.db
- ./filebrowser/filebrowser.json:/.filebrowser.json
- ./filebrowser/cache:/cache
image: filebrowser/filebrowser
VSCode
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
code-server:
container_name: vscode
environment:
- TZ=Asia/Shanghai
- PUID=0
- PGID=0
- PASSWORD=${PASSWORD:?set PASSWORD in a private .env file}
- DEFAULT_WORKSPACE=/000
ports:
- 127.0.0.1:5797:8443
volumes:
- ./vscode:/config
- .:/000
restart: always
image: linuxserver/code-server
바이두 뇌도
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
kityminder:
container_name: mind
restart: always
ports:
- 127.0.0.1:2333:80
environment:
- TZ=Asia/Shanghai
volumes:
- ./mind:/data
image: xinyewdz/kityminder
RSSPush
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
rsspush:
container_name: rsspush
ports:
- 127.0.0.1:6863:8000
volumes:
- ./rsspush:/rsspush/api/data
environment:
- TZ=Asia/Shanghai
- RSS_BASE=http://10.0.0.9:8556
- ADMIN_KEY=123456
image: easychen/rsspush
OCR 문자 인식
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
trwebocr:
ports:
- 127.0.0.1:18089:8089
restart: always
container_name: trwebocr
image: mmmz/trwebocr
앨범(MT Photo)
구 이미지 이름 mtphotos/mt-photos/photosync는 잘못 표기되었습니다. 현재 프로젝트가 배포하는 것은 mtphotos/mt-photos입니다. 아래에서는 컨테이너 구조만 설명하며, 라이선스와 앨범 가져오기는 프로젝트 요구 사항에 따라 처리합니다:
services:
mt-photos:
image: mtphotos/mt-photos:latest
restart: unless-stopped
ports:
- "127.0.0.1:8063:8063"
environment:
TZ: Asia/Shanghai
volumes:
- ./mt_photos/config:/config
- ./mt_photos/upload:/upload
서비스에서 사용하지 않는 CIFS 볼륨을 추가하지 말고, 공유 계정 비밀번호를 공개 설정에 기록하지 마세요. 기존 사진 디렉터리와 업로드 디렉터리를 구분해야 하며, 외부 앨범을 마운트하기 전에 현재 문서를 확인하세요. 참고: 프로젝트 배포 이미지. 실기 배포되지 않음.
ADGuard Home
구 설정의 image: run은 유효한 프로젝트 이미지가 아니며, adguard/adguardhome이어야 합니다. DNS 서비스는 지정된 LAN 장치에서 접근 가능해야 하므로, 53 포트를 루프백 주소에만 바인딩한 후 전체 LAN에서 사용 가능하다고 주장해서는 안 됩니다.
새 배포는 공식 Docker 가이드에 따라 work, conf 두 영속화 디렉토리와 필요한 포트를 설정하고, 먼저 호스트의 53이 기존 DNS 서비스에 의해 점유되고 있는지 확인하세요. 3000은 일반적으로 최초 설정에 사용되며, 설정 후 관리 포트는 실제 선택에 따릅니다. 기존 네트워크를 확인하지 않고 시스템 DNS를 중지하거나, DNS와 관리 패널을 보호 없이 공용 인터넷에 개방해서는 안 됩니다. 이 글에서는 모든 네트워크에 적용된다고 주장하는 포트 매핑 세트를 제공하지 않습니다.
SmartDNS
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
이 항목은 호스트 네트워크, 장치 또는 고권한 마운트와 관련됩니다. 반드시 필요하고 신뢰할 수 있는 환경에서만 평가하고, 컨테이너를 절대적 격리로 간주하지 마십시오. 특히 Docker socket 권한은 민감합니다.
services:
smartdns:
network_mode: host
hostname: smartdns
container_name: smartdns
restart: always
environment:
- TZ=Asia/Shanghai
volumes:
- ./smartdns:/smartdns
image: ghostry/smartdns
xTeVe
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
xteve:
container_name: xteve
restart: always
hostname: xteve
ports:
- 127.0.0.1:34400:34400
logging:
options: max-size=10m,max-file=3
environment:
- TZ=Asia/Shanghai
volumes:
- ./xteve/xteve:/root/.xteve:rw
- ./xteve/config:/config:rw
- ./xteve/tmp:/tmp/xteve:rw
- ./xteve/tvheadend/data:/TVH
image: alturismo/xteve
시위안 노트(siyuan)
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
siyuan:
container_name: siyuan
restart: always
volumes:
- ./siyuan:/siyuan
ports:
- 127.0.0.1:6806:6806
image: b3log/siyuan
웹 모니터링(uptime-kuma)
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
uptime-kuma:
restart: always
environment:
- TZ=Asia/Shanghai
ports:
- 127.0.0.1:3001:3001
volumes:
- ./uptime-kuma/data:/app/data
container_name: uptime-kuma
image: louislam/uptime-kuma:latest
영상 로봇(movierobot)
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
movie-robot:
restart: always
container_name: movie-robot
ports:
- 127.0.0.1:1329:1329
volumes:
- ./movie-robot:/data
- /path/to/media:/media
environment:
- LICENSE_KEY=xxxxxxxxxx
image: yipengfei/movie-robot
overseerr
서드파티 Overseerr 이미지와 현재 공식 배포판을 분리하여 대조해야 합니다. 현재 관련 프로젝트는 Seerr로 전환되었으며, 공식 이미지는 ghcr.io/seerr-team/seerr 또는 seerr/seerr로 배포되므로, 구 컨테이너 이름과 새 프로젝트를 무조건 교체해서는 안 됩니다.
새 배포는 Seerr 시작 문서를 참고하세요. 기존 Overseerr 인스턴스는 먼저 해당 마이그레이션 설명, 백업 설정 및 데이터베이스를 확인한 후 마이그레이션 여부를 결정하세요. 여기서는 배포 진입점만 소개하며, 실제로 미디어 서비스 마이그레이션을 수행하지 않았습니다.
docker 시각화 관리 (portainer)
현재 Portainer CE의 주요 관리 진입점은 HTTPS 9443입니다. 다음 진입점은 로컬 호스트에서만 수신 대기하며, 원격 사용 시 안전한 포워딩 또는 검증된 리버스 프록시가 필요합니다:
services:
portainer:
image: portainer/portainer-ce:latest
restart: unless-stopped
ports:
- "127.0.0.1:9443:9443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
Portainer는 Docker socket을 통해 호스트 컨테이너를 관리하며 높은 권한을 가집니다. 먼저 관리자 초기화를 완료하고, 관리되지 않는 진입점을 공개하지 마세요. 인증서도 실제 접속 도메인과 신뢰 방식에 맞게 구성해야 하며, 독자에게 모든 인증서 오류를 무시하라고 요구하는 것이 아닙니다. 참고: 공식 CE 설치. 실제 장비에 배포하지 않았습니다.
RSS 생성 (rsshub)
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
rsshub:
restart: always
container_name: rsshub
ports:
- 127.0.0.1:8556:1200
image: diygod/rsshub
flexget
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
flexget:
image: madwind/flexget
container_name: flexget
environment:
FG_WEBUI_PASSWD: ${FG_WEBUI_PASSWD:?set FG_WEBUI_PASSWD in a private .env file}
FG_LOG_LEVEL: INFO
TZ: Asia/Shanghai
PUID: 1000
PGID: 1000
volumes:
- ./flexget/config:/config
- ./flexget/downloads:/downloads
ports:
- 127.0.0.1:8385:3539
restart: always
bark
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
bark-server:
restart: always
environment:
- TZ=Asia/Shanghai
container_name: bark
ports:
- 127.0.0.1:8383:8080
volumes:
- ./bark/data:/data
image: finab/bark-server
비밀번호 관리 (vaultwarden/Bitwarden)
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
Compose는 컨테이너 구조일 뿐이며 완전한 인증, TLS, 라우팅 또는 비즈니스 구성을 포함하지 않습니다. 초기화와 접근 제어가 완료되기 전에 신뢰할 수 없는 네트워크에 진입점을 개방하지 마십시오.
services:
server:
restart: always
container_name: vaultwarden
environment:
- TZ=Asia/Shanghai
volumes:
- ./Bitwarden/data/:/data/
ports:
- 127.0.0.1:12256:80
image: vaultwarden/server
docker 컨테이너 자동 업데이트 (watchtower)
Watchtower는 실행 중인 이미지를 자동으로 교체할 수 있습니다. 이번 검증 기준으로 원 프로젝트 저장소는 아카이브되었으며, 새 배포의 기본 권장 사항이 아닙니다. 특히 데이터베이스, 노트, 비밀번호 관리 및 핵심 서비스는 릴리스 노트를 보지 않고 자동 업데이트하는 것이 적합하지 않습니다.

설명 이미지: 컨테이너 업데이트: 알림 후, 먼저 백업하고 진행
더 안정적인 절차는 업데이트 알림을 받은 후 변경 사항을 확인하고, 백업 및 복구를 테스트한 다음, 유지 관리 시간에 수동으로 업데이트하고 서비스와 데이터를 점검하며, 사용 가능한 롤백 조건을 유지하는 것입니다. 롤백 이미지가 이미 마이그레이션된 데이터 형식을 되돌릴 수 있는 것은 아닙니다. Diun은 업데이트 알림으로 사용할 수 있지만, 알림 자체가 업데이트 완료를 의미하지는 않습니다.
참고: Watchtower 저장소 상태, Diun. 글에서 삭제된 것은 자동 업데이트 권장 사항이며, 실행 중인 컨테이너는 변경되지 않았습니다.
웹사이트 즐겨찾기 (shaarli)
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
shaarli:
container_name: Shaarli
restart: always
ports:
- 127.0.0.1:8561:80
volumes:
- ./shaarli:/var/www/shaarli/data
image: shaarli/shaarli
스마트 홈 (HASS)
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
이 항목은 호스트 네트워크, 장치 또는 고권한 마운트와 관련됩니다. 반드시 필요하고 신뢰할 수 있는 환경에서만 평가하고, 컨테이너를 절대적 격리로 간주하지 마십시오. 특히 Docker socket 권한은 민감합니다.
services:
home-assistant:
restart: always
container_name: hass
privileged: true
network_mode: host
environment:
- TZ=Asia/Shanghai
volumes:
- ./hass:/config
- /run/dbus:/run/dbus
- /var/run/dbus:/var/run/dbus
- /dev:/dev
- /var/run/docker.sock:/var/run/docker.sock
- /dev/bus/usb:/dev/bus/usb
image: homeassistant/home-assistant:latest
WizNote (wiz)
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
wizserver:
container_name: wiz
volumes:
- ./wiz/data:/wiz/storage
- /etc/localtime:/etc/localtime
ports:
- 127.0.0.1:8357:80
- 127.0.0.1:9269:9269/udp
image: wiznote/wizserver
기본 관리자 계정: admin@wiz.cn, 비밀번호: 123456
배스천 호스트(next-terminal)
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
Compose는 컨테이너 구조일 뿐이며 완전한 인증, TLS, 라우팅 또는 비즈니스 구성을 포함하지 않습니다. 초기화와 접근 제어가 완료되기 전에 신뢰할 수 없는 네트워크에 진입점을 개방하지 마십시오.
services:
guacd:
container_name: guacd
image: dushixiang/guacd:latest
volumes:
- ./next-terminal/data:/usr/local/next-terminal/data
restart: always
next-terminal:
container_name: next-terminal
image: dushixiang/next-terminal:latest
environment:
DB: sqlite
GUACD_HOSTNAME: guacd
GUACD_PORT: 4822
ports:
- 127.0.0.1:8068:8088
volumes:
- /etc/localtime:/etc/localtime
- ./next-terminal/data:/usr/local/next-terminal/data
restart: always
앨범(photoprism)
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
photoprism:
container_name: photoprism
ports:
- 127.0.0.1:8568:2342
environment:
- PHOTOPRISM_UPLOAD_NSFW=false
- PHOTOPRISM_ADMIN_PASSWORD=${PHOTOPRISM_ADMIN_PASSWORD:?set PHOTOPRISM_ADMIN_PASSWORD in a private .env file}
volumes:
- ./photoprism:/photoprism/storage
- ./Pictures/Pictures:/photoprism/originals
- ./Pictures/Example:/photoprism/originals/Example
image: photoprism/photoprism
node-red
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
node-red:
container_name: nodered
restart: always
ports:
- 127.0.0.1:1880:1880
environment:
- TZ=Asia/Shanghai
volumes:
- ./nodered/data:/data
image: nodered/node-red
PLEX 모니터(Tautulli)
Tautulli는 argparse가 아닌 공식 프로젝트에서 제공하는 이미지를 사용해야 합니다:
services:
tautulli:
image: tautulli/tautulli:latest
restart: unless-stopped
ports:
- "127.0.0.1:8181:8181"
volumes:
- ./tautulli/config:/config
environment:
TZ: Asia/Shanghai
초기화할 때 자신의 Plex에 연결하고 해당 자격 증명을 안전하게 보호하십시오. 통계 서비스는 재생 데이터를 읽을 수 있다는 이유만으로 바로 공용 인터넷에 노출될 필요는 없습니다. 참고: 공식 프로젝트. 실제 장비에 배포하지 않음.
개인 내비게이션(onenav)
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
onenav:
container_name: onenav
ports:
- 127.0.0.1:8252:80
environment:
- USER=zsg
- PASSWORD=${PASSWORD:?set PASSWORD in a private .env file}
volumes:
- ./onenav:/data/wwwroot/default/data
image: helloz/onenav
웹 페이지 클리핑(wallabag)
과거 구성이며 현재 이미지로 실기 재검증하지 않았습니다. 이미지 태그, 애플리케이션 구성, 볼륨 경로 및 최초 초기화는 유지관리자의 현재 설명을 기준으로 하십시오. 아래는 검증된 새 배포 방안으로 간주할 수 없습니다.
services:
wallabag:
container_name: wallabag
restart: always
volumes:
- ./wallabag/data:/var/www/wallabag/data
- ./wallabag/images:/var/www/wallabag/web/assets/images
ports:
- 127.0.0.1:5631:80
environment:
- SYMFONY__ENV__DOMAIN_NAME=https://wb.abc.com:8080
image: wallabag/wallabag
TTRSS
wangqiru/ttrss는 한때 다중 컨테이너 방안과 PostgreSQL 13을 사용했습니다. 이는 특정 프로젝트의 과거 설정이며, 공식 업스트림의 범용 Compose가 아닙니다. PostgreSQL 13은 더 이상 새 배포의 기본 데이터베이스로 적합하지 않습니다.
새 배포 시 먼저 Tiny Tiny RSS 업스트림과 선택한 이미지 유지관리자의 현재 설치 설명을 확인하세요. 기존 PostgreSQL 데이터는 지원되는 내보내기 복원 또는 업그레이드 절차에 따라 마이그레이션해야 하며, 13의 데이터 디렉터리를 임의의 새 주 버전 이미지에 직접 마운트해서는 안 됩니다. 데이터베이스 비밀번호는 직접 생성해야 하며, 초기화 목록은 사용하는 버전과 일치해야 합니다.
유지관리 및 백업
설정 파일, 데이터베이스 백업 및 업로드 디렉터리를 각각 보관하고, 테스트 복원 후 서비스를 업데이트하세요. 시작 실패를 '수정'하기 위해 전체 디스크 정리, 데이터 볼륨 삭제 또는 데이터베이스 재설정 명령을 실행하지 마세요. 참고: Docker 포트 게시, 재시작 정책, Compose version 필드.