Dev Machines
빌드 및 테스트를 위한 격리된 개발 환경. Proyecta Cloud가 제공하는 완전한 Linux 환경.
Proyecta는 각 프로젝트마다 전용 개발 머신(런타임)을 프로비저닝합니다. 이는 개발 중에 앱이 실행되는 완전한 Linux 환경을 갖춘 격리된 컨테이너입니다.
Dev machine은 어떻게 작동하나요?
섹션 제목: “Dev machine은 어떻게 작동하나요?”프로젝트를 열면 Proyecta가 다음을 수행합니다:
- 클라우드에 격리된 컨테이너(pod)를 생성합니다
- GitHub에서 코드를 클론합니다
- 의존성을 설치하고 환경을 설정합니다
- 앱의 개발 서버를 시작합니다
- Builder에 라이브 미리보기를 표시합니다
툴바 아래의 Runtime Status Bar에서 프로비저닝 진행 상황을 확인할 수 있습니다.
프로비저닝 단계
섹션 제목: “프로비저닝 단계”시작 중에 상태 표시줄은 다음 단계를 보여줍니다:
| 단계 | 설명 |
|---|---|
| Creating pod | 격리된 컨테이너를 생성하는 중 |
| Health check | 컨테이너가 실행 중인지 확인하는 중 |
| Git init | 리포지토리를 클론하는 중 |
| Environment setup | 의존성 설치 중 (npm, pip 등) |
| Starting services | 앱 및 인프라를 시작하는 중 |
| Ready | Dev machine이 완전히 온라인 상태 |
Dev machine에 문제가 생겼습니다. 어떻게 해결하나요?
섹션 제목: “Dev machine에 문제가 생겼습니다. 어떻게 해결하나요?”미리보기가 로딩되지 않거나 머신이 멈춘 것처럼 보이는 경우:
- Runtime Status Bar에서 오류 메시지를 확인하세요
- Terminal을 사용해 로그를 살펴보세요
- 그래도 해결되지 않으면 AI에게 문제 디버깅을 요청하세요
인프라 서비스
섹션 제목: “인프라 서비스”Dev machine에는 데이터베이스 및 서비스를 위한 사이드카 컨테이너가 포함될 수 있습니다:
- PostgreSQL — 관계형 데이터베이스 (포트 5432)
- PostGIS — 지리공간 확장이 포함된 PostgreSQL (포트 5432)
- Redis — 인메모리 캐시 (포트 6379)
- MongoDB — 도큐먼트 데이터베이스 (포트 27017)
- MySQL — 관계형 데이터베이스 (포트 3306)
- MailHog — 웹 UI가 포함된 이메일 테스트 서버 (SMTP 포트 1025, UI 포트 8025)
Services 패널에서 실행 중인 서비스와 상태를 확인할 수 있습니다.
라이프사이클 상태
섹션 제목: “라이프사이클 상태”Dev machine은 다음 라이프사이클 상태를 거칩니다:
| 상태 | 설명 |
|---|---|
| Pending | 생성 대기 중 |
| Initializing | 환경 설정 중 |
| Running | 활성 상태이며 정상 작동 중 |
| Suspended | 리소스 절약을 위해 일시 중지됨 (빠르게 재개 가능) |
| Archived | 콜드 스토리지에 저장됨 (복원에 시간이 더 소요됨) |
| Restoring | 아카이브 스토리지에서 복원 중 |
| Failed | 프로비저닝 또는 작업 실패 — 머신을 다시 프로비저닝할 수 있음 |
| Terminated | 영구적으로 중지됨 |
머신은 60분간 비활성 상태가 되면 자동으로 suspend되고, 24시간 동안 suspend 상태가 지속되면 archive됩니다.
FAQ
섹션 제목: “FAQ”Dev machine이 중단되면 게시된 앱은 어떻게 되나요?
앱의 backend(Convex serverless 함수 및 데이터베이스)는 Convex 자체 클라우드 인프라에서 실행되므로 dev machine 상태와 관계없이 계속 사용 가능합니다. 단, 앱의 frontend 파일은 dev machine에서 제공되므로 머신이 suspend되거나 archive되면 머신이 재개될 때까지 방문자에게 503 오류가 표시됩니다. 공개적으로 접근 가능한 상태를 유지하려는 앱의 경우 이 점을 유의하세요. 머신을 재개하면 사이트가 복원됩니다.
더 빠른 dev machine을 사용할 수 있나요?
현재 모든 dev machine은 동일한 리소스 할당으로 실행됩니다. 대규모 프로젝트에 더 많은 용량이 필요한 경우 지원팀에 문의하세요.
Dev machine에 직접 접근할 수 있나요?
네. 내장된 Terminal을 사용하면 개발 환경에 대한 전체 셸 접근이 가능합니다.