관리자
내 Welley 서버 운영하기
저희 명령줄 도구는 Linux 머신 한 대에 Welley에 필요한 모든 것을 설치해요. 클라우드 서버에서도, 직접 갖춘 하드웨어에서도 쓸 수 있어요.
앞으로 Welley를 오픈 소스로 공개할 계획이에요. 공개 일정과 라이선스는 아직 발표되지 않았어요.
호스트, DNS, 이메일 준비하기
빠른 시작 가이드에 나온 기본 요구 사항이에요. 필요한 용량은 사용자 수와 작업량에 따라 달라요.
Linux 호스트
- Ubuntu 24.04 LTS 또는 비슷한 최신 배포판이에요.
- vCPU 2개, RAM 4GB, 디스크 60GB로 시작하세요.
- 고정 공개 IPv4 주소와, sudo를 쓸 수 있고 root가 아닌 사용자를 사용하세요.
네트워크
- 인터넷에서 들어오는 TCP 80, 443을 허용하세요. TCP 22는 내 네트워크에서 들어오는 연결을 허용하세요.
- 80번 포트는 인증서 확인과 주간 인증서 갱신을 위해 비워 두세요.
사이트 DNS
- 내 도메인과 storage.<domain>이 호스트의 IP 주소를 가리키게 하세요.
- 설치하기 전에 두 레코드를 모두 만드세요. CLI가 레코드를 확인하고, 호스트로 연결되지 않으면 멈춰요.
SMTP와 관리자 이메일
- SMTP 호스트, 사용자, 비밀번호, 보내는 주소를 준비하세요. 기본값은 587번 포트의 STARTTLS예요.
- 처음 로그인하고 비밀번호를 복구할 때 쓸 관리자 이메일도 필요해요.
이메일 DNS
- 보내는 주소의 도메인에 SPF, DMARC, 이메일 제공자가 만들어 주는 DKIM을 설정하세요.
- 이메일 제공자가 알려 준 SPF 값을 그대로 사용하세요. 두 번째 SPF 레코드를 추가하지 말고 기존 SPF 레코드에 합치세요.
- SPF나 DMARC가 없으면 CLI가 경고해요. 이메일 제공자의 DKIM 셀렉터는 확인하지 못해요.
Docker Engine과 Compose 설치하기
사용 중인 Linux 배포판에 맞는 Docker 공식 안내를 따르세요. 그다음 배포용 사용자가 Docker를 쓸 수 있게 하세요.
사용자를 Docker 그룹에 추가하기
<user>를 root가 아닌 배포용 사용자로 바꾸세요. 이 명령을 실행한 뒤에는 로그아웃했다가 다시 로그인하세요.
sudo usermod -aG docker <user>
Docker와 Compose 확인하기
그 사용자로 두 명령이 모두 동작해야 해요.
docker ps
docker compose version
CLI 내려받기
CLI를 실행할 머신에 맞는 바이너리를 고르세요. 배포 호스트 자체는 Linux여야 해요.
Linux, x86-64
curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=linux/amd64" -o wlycli
chmod +x wlycli
./wlycli -vLinux, ARM64
curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=linux/arm64" -o wlycli
chmod +x wlycli
./wlycli -vmacOS, Apple silicon
curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=darwin/arm64" -o wlycli
chmod +x wlycli
./wlycli -vmacOS, Intel
curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=darwin/amd64" -o wlycli
chmod +x wlycli
./wlycli -v- 이 명령은 안정 채널에서 내려받고 CLI 버전을 보여 줘요.
- 버전은 새 릴리스마다 바뀌어요. 설치할 때는 최신 CLI 문서를 참고하세요.
배포 만들기
준비한 Linux 호스트에서 이 명령을 실행하세요. 예시의 도메인, 이메일, SMTP 값은 내 값으로 바꾸세요.
./wlycli deploy create \
-d example.com \
-e admin@example.com \
--smtp-host smtp.example.com \
--smtp-user "$MAIL_USER" \
--smtp-password "$MAIL_PASSWORD" \
--smtp-from noreply@example.com| 설정 | 기본값 |
|---|---|
| 설치 디렉터리 | ~/.welley/<project>예요. 예시 도메인의 경우 프로젝트 이름은 example_com이 돼요. |
| 데이터베이스 | 번들 PostgreSQL이고, 데이터는 설치 디렉터리 아래에 저장돼요. |
| 스택 | Welley 플랫폼, RAG 파이프라인, Nginx, Redis, PostgreSQL과 유지 관리용 컨테이너예요. |
| 인증서 | Certbot을 통한 Let’s Encrypt이고, 매주 갱신돼요. |
| 미디어 | 업로드 파일과 정적 파일은 https://storage.<domain>에 있어요. |
| 업데이트 | 안정 채널이고, 매일 확인해요. 업데이트 과정에서는 가능한 한 중단 시간이 생기지 않게 해요. |
| 선택 서비스 | 최소 설정에는 관리형 데이터베이스, CDN, 텔레메트리, Slack 연동이 포함되지 않아요. |
- 실행하기 전에 MAIL_USER와 MAIL_PASSWORD를 SMTP 자격 증명으로 설정하세요.
- 빠른 시작 가이드에서는 이 플래그 여섯 개가 필요해요.
- 이 명령은 DNS를 확인하고, 배포 파일을 쓰고, Certbot으로 인증서를 받고, 컨테이너를 시작해요.
- deploy 명령은 deployment의 별칭이에요.
로그인하고 결과 확인하기
생성된 관리자 비밀번호는 플랫폼 로그에 있어요. 그 출력은 공개하지 마세요.
초기 비밀번호 찾기
이 컨테이너 이름은 example.com 기준이에요. 내 도메인을 쓴다면 프로젝트 이름을 바꾸세요.
docker logs example_com-platform-blue-1 | grep "Auto-init complete"
로그인
내 도메인을 열고 -e로 입력한 관리자 이메일로 로그인하세요. 생성된 비밀번호는 바로 바꾸세요.
컨테이너 확인하기
빠른 시작 가이드에서는 nginx, platform-blue, rag-pipeline-blue, postgres, redis, autoheal, snoopy가 보일 것으로 예상해요.
docker ps
CLI로 관리하기
CLI에는 플랫폼 API용 명령도 있어요. 각 작업을 하려면 계정에 해당 권한이 있어야 해요.
- 작업을 실행하기 전에 명령 도움말에서 최신 플래그를 확인하세요.
- login 명령은 API 기본 URL, 이메일, 비밀번호를 받아요. 돌려받은 세션 토큰을 저장해요.
- 현재 로그인 명령은 성공 로그에 세션 토큰을 그대로 출력해요. 이 출력은 다른 사람에게 보이지 않게 해 주세요.
명령 그룹: accounts, posts, apps, emojis, feeds, reports, rules, settings.
사용할 수 있는 명령 보기
./wlycli --help
배포 명령 보기
./wlycli deployment --help
로그인 옵션 보기
./wlycli login --help
설정 옵션 보기
./wlycli settings --help
업데이트와 복구
기본적으로 배포는 매일 안정 버전 업데이트가 있는지 확인해요. 서버 관리자는 관리 화면에서 릴리스를 관리할 수 있어요.
- 배포 파일은 그대로 쓸 수 있는데 일부 컨테이너가 실패하면, 퀵스타트에서는 restart를 실행하라고 안내해요. restart는 컨테이너를 다시 만들어요.
- 프로젝트 디렉터리나 컨테이너가 아직 남아 있으면 create는 다시 실행되지 않아요.
- 강제 삭제 옵션은 배포 파일과, 함께 설치된 데이터베이스를 모두 삭제해요. 복구 단계가 아니고, 데이터도 보존되지 않아요.
- deploy-server 스킬은 아직 deployment update라는 이름을 써요. 현재 CLI에는 대신 deployment auto-update가 있어요. 직접 유지 관리를 하기 전에 현재 CLI 도움말을 확인해 주세요.
기존 배포에서 컨테이너 다시 만들기
./wlycli deploy restart -d example.com
저장된 설정으로 컨테이너를 다시 만들어요. 배포 데이터는 삭제하지 않아요.
AI 어시스턴트로 배포하기
AI 어시스턴트가 SKILL.md 패키지를 지원한다면 공식 deploy-server 스킬을 내려받으세요. DigitalOcean 배포를 안내해 줘요.
지금은 이 스킬이 DigitalOcean만 다뤄요. CLI 퀵스타트는 다른 클라우드와 직접 운영하는 Linux 호스트에서도 쓸 수 있어요.
사용 방법
- 패키지 압축을 풀고, 어시스턴트가 스킬을 설치하는 방식대로 deploy-server 디렉터리를 불러오세요.
- 어시스턴트에게 $deploy-server를 사용하라고 요청하세요.
- 스킬이 도메인, DNS 접근 권한, SSH 설정, SMTP 정보, 관리자 이메일을 물어봐요.
- DigitalOcean VM을 설정할 수 있고, 원하면 관리형 PostgreSQL 데이터베이스도 설정할 수 있어요. 배포 입력값과 관리형 데이터베이스 가격은 함께 확인해요.
다운로드하기 전에
- 이 패키지는 원본 스킬을 그대로 복사한 거예요.
- 다운로드와 업데이트 예시가 최신이 아니에요. 현재 안정 버전 다운로드 URL은 이 웹사이트의 퀵스타트에서 확인하세요. 유지 관리 전에 CLI 도움말을 확인해 주세요.
- 이 스킬에는 클라우드 자격 증명이나 실행 중인 서버가 포함되어 있지 않아요. 모든 어시스턴트에서 작동한다고 보장할 수도 없어요.
패키지에 들어 있는 파일: SKILL.md, agents/openai.yaml 및 references/digitalocean.md. 두 다운로드 모두 파일이 같아요.
참고 문서
전체 CLI 문서와 배포 스킬 파일이에요. 계정 없이 여기서 읽을 수 있어요.