Docker 설치 참고
이 페이지는 가이드에서 참조하는 HTTPS 프록시와 Docker 파일의 보충 설명입니다. 공개 이미지와 설치 파일은 배포 상태를 확인한 뒤 사용하세요.
리버스 프록시 예 (nginx)
아래는 프록시와 ToTBVDI Docker 서버가 같은 Linux 컴퓨터에 있는 예시입니다. 도메인과 인증서 파일 위치는 실제 환경에 맞춰 바꾸세요.
map $http_upgrade $connection_upgrade { default upgrade; '' close; }
server {
listen 443 ssl;
server_name vdi.example.com;
ssl_certificate /etc/ssl/vdi.example.com/fullchain.pem;
ssl_certificate_key /etc/ssl/vdi.example.com/privkey.pem;
client_max_body_size 64m;
location / {
proxy_pass http://127.0.0.1:18480;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_buffering off;
proxy_read_timeout 1h;
}
}
ToTBVDI의 .env에도 HTTPS 주소와 실제 프록시 주소를 적용해야 합니다.
프록시가 같은 Linux 서버에 있으면 Docker 네트워크 게이트웨이 주소를 확인하세요.
sudo docker network inspect totbvdi_default -f '{{range .IPAM.Config}}{{.Gateway}}{{end}}'
TOTBVDI_PUBLIC_ORIGIN: 실제 공개 HTTPS 주소TOTBVDI_TRUSTED_PROXIES: 브로커에서 보이는 실제 프록시의 주소TOTBVDI_PUBLISH_PORT: 같은 컴퓨터의 프록시만 사용하면127.0.0.1:18480
프록시가 다른 서버에 있으면 그 서버에서 브로커의 실제 주소로 접근할 수 있어야 합니다. 게시 주소와 방화벽을 맞추고, 인터넷에서 브로커의 HTTP 포트로 직접 접근하지 못하게 제한하세요.
프록시 없이 TLS를 직접 사용하려면 공개 배포본의 compose.direct-https.yaml과 유효한 인증서가 필요합니다.
기본 compose.yaml과 섞어 사용하지 말고 해당 배포본의 직접 HTTPS 설명을 따르세요.
포트 정리
| 포트 | 용도 |
|---|---|
| TCP 18480 | 기본 브로커 HTTP 수신. 프록시 뒤 또는 믿을 수 있는 내부망에서 사용 |
| TCP 443 | HTTPS 프록시를 통한 외부 접속 |
| UDP 18481 | 설정한 경우 영상·소리의 UDP 미디어 중계 |
UDP 18481은 HTTPS 프록시와 별도로 전달합니다. UDP를 사용할 수 없으면 WebSocket 경로로 연결합니다.
데이터와 백업
Docker 데이터 볼륨에는 DB와 비밀키, 설정과 다운로드 파일이 들어 있습니다.
DB만 복사하지 말고 vault.key를 포함한 데이터를 함께 보관하세요.
업데이트 전 백업 절차를 따르세요. 실행 중인 SQLite 파일을 무작정 복사하지 말고 브로커 중지 또는 SQLite의 백업 방식을 사용해야 합니다.
docker compose down -v는 데이터 볼륨을 지울 수 있으므로 업데이트에 사용하지 마세요.