tools/README.md

67 lines
2.4 KiB
Markdown

# washtime/tools
자체 운영 도구 / 셋업 자동화 스크립트.
이 repo 는 **public** — 인증 없이 raw 다운로드 가능. 비밀(키/토큰) 절대 commit 금지.
---
## 한 줄 명령
### 새 리눅스 서버 onboarding
**LAN 안에서 (집 안 / VPN 연결):**
```bash
bash <(curl -fsSL http://192.168.1.40:3000/washtime/tools/raw/branch/main/onboard-linux-node.sh)
```
**외부 (오라클 프리티어 / 다른 ISP):**
```bash
bash <(curl -fsSL http://washtime.asuscomm.com:5055/downloads/onboard-linux-node.sh)
```
스크립트가 인터랙티브로 물어보는 것:
- **Gitea host**: LAN 이면 `192.168.1.40`. 외부면 `washtime.asuscomm.com` 또는 (플린트3 도착 후) `git.washtime.xxx`
- **Admin API token**: Gitea Web UI → Settings → Applications → Generate New Token (`all` 권한)
- **노드 이름**: 예 `oracle-jp-1`, `laptop-mac`
- **Clone 할 repo**: 콤마 구분, 예 `one,family-viewer,tools`
자동 처리:
- ed25519 SSH key 생성 + Gitea 에 자동 등록
- `~/.ssh/config``gitea` 별칭 추가
- repo clone
- 1분 주기 auto-pull systemd timer 설치
---
### 새 Windows PC 에 External Uploader 설치
**관리자 PowerShell**:
```powershell
iwr -useb http://washtime.asuscomm.com:5055/downloads/install-eu-windows.ps1 | iex
```
자동 처리:
- 최신 installer (`ExternalUploader-Setup-latest.exe`, ~510MB) 다운로드
- SHA256 + 크기 검증
- installer 실행 (GUI)
- 설치 후 daemon 이 백그라운드에서 자동 업데이트 처리 — 사용자 액션 더 X
---
## 외부에서 받을 수 있는 모든 파일
원의 viewer 가 `/home/root2/one/viewer/public/downloads/` 를 정적 서빙.
원 API 의 `/downloads/<filename>` 경로:
| 파일 | 외부 URL |
|---|---|
| onboard-linux-node.sh | `http://washtime.asuscomm.com:5055/downloads/onboard-linux-node.sh` |
| install-eu-windows.ps1 | `http://washtime.asuscomm.com:5055/downloads/install-eu-windows.ps1` |
| ExternalUploader-Setup-latest.exe | `http://washtime.asuscomm.com:5055/downloads/ExternalUploader-Setup-latest.exe` |
| flint3-setup.md | `http://washtime.asuscomm.com:5055/downloads/flint3-setup.md` |
| gitea-setup-guide.md | `http://washtime.asuscomm.com:5055/downloads/gitea-setup-guide.md` |
| backup-status.md | `http://washtime.asuscomm.com:5055/downloads/backup-status.md` |
(이 mirror 는 원에서 5분 주기 systemd timer `tools-mirror.timer` 가 자동 sync)