8. 업데이트
가이드 목차 · 이전: Android · 다음: 문제 해결
서버, Host, 클라이언트는 각각 업데이트합니다. 배지는 새 버전이 있다는 알림이며, 설치는 사용자가 선택한 뒤 시작합니다.
무엇을 업데이트하나요?
| 업데이트할 것 | 작업할 곳 | 이 장에서 볼 부분 |
|---|---|---|
| 내 PC의 ToTBVDI 앱 | 내 Windows PC | Windows 클라이언트 |
| 휴대폰의 ToTBVDI 앱 | 내 Android 기기 | Android 클라이언트 |
| 원격 Windows의 Host | 앱의 대상 카드 ⋯ | Host 한 대씩 |
| 중계·로그인 서버 | 관리자 웹 + Linux 서버 | 서버 업데이트 |
앱·Host·서버는 서로 다른 프로그램입니다. 앱만 업데이트해도 나머지가 함께 업데이트되는 것은 아닙니다.
진행 전: 작업을 저장하세요. 서버나 Host를 업데이트하면 원격 연결이 잠시 끊길 수 있습니다.
서버 — Docker Compose
작업 위치: 관리자 웹에서 버전을 확인한 뒤, Linux 서버에서 실행
2장에서 만든 ~/totbvdi 폴더에 .env와 compose.yaml이 있습니다.
-
관리자 웹에서 설정 → 서버 업데이트를 여세요.
-
업데이트 확인을 누르세요.
-
새 버전의 변경 내역과 실행 명령을 확인하세요.
-
아래 백업 절차로
.env와 데이터 볼륨을 보관하세요. -
nano .env를 열어TOTBVDI_VERSION을 안내된 버전으로 바꾸세요. -
같은 Compose 폴더에서 다음 명령을 실행하세요.
sudo docker compose pull && sudo docker compose up -d -
관리자 웹을 다시 열어 실행 중인 버전을 확인하세요.
편집기는 Ctrl+O, Enter, Ctrl+X 순서로 저장하고 닫습니다.
버전은 관리자 웹에 안내된 값을 그대로 사용하세요.
완료 확인: 새 버전으로 로그인되고, 기존 사용자·VM 배정이 남아 있습니다. 평소 쓰는 VM에도 한 번 연결해 보세요.
Docker 설치에서는 관리자 웹이 명령을 안내합니다. 이미지 받기와 컨테이너 교체는 운영자가 서버에서 실행합니다.
계정, VM 배정, 서버의 비밀키와 다운로드는 데이터 볼륨에 남습니다.
docker compose down -v를 실행하거나 데이터 볼륨을 삭제하지 마세요.
서버가 올라오지 않으면 다음 명령으로 상태와 최근 로그를 확인하세요.
sudo docker compose ps
sudo docker compose logs --tail=50 broker
로그를 공유하기 전에는 설정 코드, 주소와 비밀값을 가리세요. 프록시·HTTP 설정과 백업의 자세한 내용은 Docker 배포 안내를 보세요.
서버 업데이트 전 백업
처음 백업해요 — 기본 Docker 설치의 백업 순서
이 절차는 2장의 기본 Linux 설치용입니다. 서버를 잠시 멈추므로 먼저 사용자에게 알리고 열린 작업을 저장하게 하세요.
Linux 서버의 같은 터미널에서 순서대로 진행하세요.
-
설치 폴더로 이동하세요.
cd ~/totbvdi -
백업할 공간이 충분한지 확인하세요.
df -h . -
다른 사용자가 읽을 수 없는 새 백업 폴더를 만드세요.
TOTBVDI_BACKUP_DIR=$(mktemp -d "$HOME/totbvdi-backup-XXXXXXXX")오류가 나오면 여기서 멈추세요. 백업 폴더를 만들기 전에는 서버를 중지하지 마세요.
-
서버를 잠시 멈추세요.
sudo docker compose stop broker -
데이터 전체를 백업 폴더로 복사하세요.
sudo docker compose cp broker:/var/lib/totbvdi "${TOTBVDI_BACKUP_DIR:?}/data" -
설치 설정도 복사하세요.
cp .env compose.yaml "${TOTBVDI_BACKUP_DIR:?}/" -
파일이 들어갔는지 확인하세요.
sudo ls -la "${TOTBVDI_BACKUP_DIR:?}" "${TOTBVDI_BACKUP_DIR:?}/data" -
기존 서버를 다시 켜세요.
sudo docker compose start broker -
백업 폴더 위치를 확인해 따로 기록하세요.
printf '%s\n' "$TOTBVDI_BACKUP_DIR"
완료 확인: 설정 파일 두 개와 data 안의 broker.sqlite·vault.key를 포함한 데이터가 있습니다.
DB만 백업하면 저장된 Proxmox 토큰을 복구하지 못할 수 있습니다. 데이터 폴더 전체를 보관하세요.
복사 중 오류가 나면 업데이트를 멈추세요.
sudo docker compose start broker로 기존 서버를 켠 뒤 원인을 확인하세요.
백업에는 비밀키와 계정 정보가 들어 있습니다. 공개하거나 일반 사용자에게 공유하지 마세요. 폴더가 생겼다는 확인은 실제 복원 시험과 다릅니다. 중요한 운영 서버는 별도 환경에서 복원도 확인하세요.
이 복사 방식은 Docker의 Compose cp를 사용합니다. 중지된 컨테이너에서도 파일을 복사할 수 있습니다(Docker 공식 설명).
기존 Linux 직접 설치의 서버 업데이트
자체 업데이트 도구가 설치된 systemd 방식은 관리자 웹에서 업데이트 확인 → 업데이트로 진행합니다. 확인 후 서버가 검증, 백업, 교체, 재시작과 상태 확인을 수행합니다. 실패하면 이전 버전과 데이터를 복구합니다.
이 흐름과 Docker Compose의 수동 명령 방식은 서로 다릅니다.
Host — Windows 클라이언트에서 한 대씩
배정받은 VM과 로컬 PC의 Host를 업데이트할 수 있습니다. 일반 사용자도 자기에게 배정된 대상의 최신 Host를 설치할 수 있습니다.
- 대상 카드의 ⋯ → Host 업데이트를 여세요.
- 현재 버전, 새 버전과 이번 버전에서 달라진 점을 확인하세요.
- 사용 중인 연결이 없으면 업데이트를 누르세요.
연결 중인 대상에는 다음 두 선택이 나옵니다.
| 선택 | 동작 |
|---|---|
| 끝나면 업데이트 | 연결이 모두 끝난 뒤 시작합니다. |
| 지금 업데이트 | 허용된 연결을 끊고 바로 시작합니다. |
일반 사용자는 자기 연결만 끊을 수 있습니다. 다른 사용자가 연결 중이면 끝나면 업데이트를 선택하거나 관리자에게 문의하세요.
Host — Windows 클라이언트에서 여러 대
- 목록 위쪽의 업데이트 확인을 누르세요.
- 할당된 Host 일괄 업데이트를 누르세요.
- 업데이트할 VM과 로컬 PC를 선택하세요.
- 연결 종료 안내를 읽으세요.
- 선택한 N대 업데이트를 누르세요.
- 대상별 진행 상태와 설치 결과를 확인하세요.
내 연결은 끊고 바로 업데이트합니다. 일반 사용자에게 배정된 대상에 다른 사용자가 연결 중이면 그 연결이 끝난 뒤 진행합니다. 관리자 계정으로 요청하면 대상의 연결을 모두 끊을 수 있습니다.
남은 요청 중지는 아직 보내지 않은 요청만 멈춥니다. 이미 접수된 업데이트는 계속 진행합니다.
Host — Android와 관리자 웹
| 여는 곳 | 선택 | 사용 중인 대상 |
|---|---|---|
| Android의 대상 카드 ⋯ → Host 업데이트 | 변경 내역 확인 후 업데이트 | 연결이 끝난 뒤 시작합니다. |
| 관리자 웹 데스크톱 → Host 연결·업데이트의 Host 업데이트 | 업데이트, 또는 연결이 끝나면 업데이트 | 지금 업데이트(연결 끊김) 버튼도 사용할 수 있습니다. |
| 같은 관리자 화면의 모든 Host 업데이트 | 대상과 변경 내역 확인 후 업데이트 | 사용 중인 대상은 연결이 끝난 뒤 시작합니다. |
Android에는 Host 일괄 업데이트가 없습니다. 배정되지 않은 대상까지 관리하는 작업은 관리자 웹에서 진행하세요.
Host 업데이트 뒤 다시 연결
Host 업데이트는 Windows를 자동으로 다시 시작하지 않습니다. Windows 재시작 필요나 추가 확인 안내가 나오면 내용을 확인하세요.
업데이트 때문에 끊긴 Windows·Android의 스트리밍 화면은 Host가 돌아오기를 최대 10분 기다리며 자동으로 다시 연결을 시도합니다. 기다리는 동안 원격 화면을 열어 두세요. 시간이 지났거나 기다리기 취소를 눌렀다면 업데이트 완료 후 다시 연결을 누르세요.
Windows 클라이언트
- 목록 위쪽의 업데이트 확인을 누르세요.
- 변경 내역을 읽으세요.
- 업데이트 받기를 누르세요.
- 파일 확인이 끝나면 다시 시작해서 업데이트를 누르세요.
- Windows의 관리자 권한 요청을 확인하세요.
열린 원격 창이 있으면 연결 종료 후 업데이트 확인이 나옵니다. 원격 창은 닫히지만 VM과 실행 중인 작업은 유지됩니다. 업데이트 뒤 앱이 다시 열리면 새 버전을 확인하세요.
Android 클라이언트
- 목록 위쪽의 업데이트 확인을 누르세요.
- 변경 내역을 읽고 업데이트를 누르세요.
- 받고 설치를 누르세요.
- 설치 허용 안내가 나오면 설정 열기를 누르세요.
- Android 설정에서 ToTBVDI의 알 수 없는 앱 설치를 허용하세요.
- 앱으로 돌아와 받고 설치를 누르세요.
- Android 설치 화면에서 업데이트를 누르세요.
- 설치가 끝나면 앱을 다시 여세요.
앱 데이터와 로그인 설정은 유지됩니다. 받은 파일의 확인이나 같은 앱 서명 확인에 실패하면 설치를 멈춥니다. 오류가 계속되면 앱을 삭제하기 전에 관리자에게 문의하세요.