# 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/` 경로: | 파일 | 외부 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)