RIDM Apps 배포 가이드

RIDM Apps는 GitHub 저장소를 연결하면 빌드·배포하고 <이름>.ridm.ai 로 공개하는 호스팅입니다. 신청은 콘솔의 내 앱에서, 요금은 요금 페이지에서 확인하세요. 이용 조건은 이용약관 제3장이 정합니다. 무엇이 들어 있는지 한눈에 보려면 앱 호스팅 소개를 보세요.

배포 흐름

  1. 신청 — 내 앱에서 플랜과 주소(서브도메인)를 고릅니다. 주소는 나중에 바꿀 수 없습니다.
  2. GitHub 연결 — 앱 화면에서 GitHub App ridm-apps-builder를 설치하고 저장소와 브랜치를 고릅니다. 권한은 저장소 읽기뿐입니다.
  3. 푸시 — 연결한 브랜치에 푸시할 때마다 빌드가 시작됩니다. 빌드 기록과 실패 로그는 앱 화면에 표시됩니다.
  4. 첫 배포 — 빌드가 성공하면 자동 검사를 거쳐 바로 공개됩니다(아래). 그 뒤의 푸시도 자동으로 반영됩니다.

Dockerfile 요구사항

Next.js 스타터

next.config.js에 output: 'standalone'을 넣고 아래 Dockerfile을 저장소 루트에 두세요. public 폴더가 없으면 그 줄은 지웁니다.

FROM node:22-alpine AS deps
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci

FROM node:22-alpine AS build
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build

FROM node:22-alpine
WORKDIR /app
ENV NODE_ENV=production
COPY --from=build --chown=1000:1000 /app/public ./public
COPY --from=build --chown=1000:1000 /app/.next/standalone ./
COPY --from=build --chown=1000:1000 /app/.next/static ./.next/static
USER 1000
EXPOSE 3000
CMD ["node", "server.js"]

Next.js가 아니어도 됩니다. 포트 3000에서 응답하는 컨테이너면 어떤 스택이든 동작합니다.

실행 환경

쿠키

여러 파트너 앱이 ridm.ai 아래에 있으므로, 게이트웨이가 쿠키를 앱 주소에만 묶습니다. 앱 코드는 평소처럼 쿠키를 쓰면 됩니다. 다만:

데이터베이스

앱마다 전용 PostgreSQL DB가 만들어지고, 접속 정보가 환경변수로 들어옵니다: DATABASE_URL(SSL 필수)과 PGHOST, PGPORT, PGDATABASE, PGUSER, PGPASSWORD, PGSSLMODE. 용량 한도는 플랜마다 다르며 앱 화면에 사용량이 표시됩니다.

DB 연결은 인증서까지 검증하는 TLS입니다. 인증서 발급 기관(Amazon RDS)은 컨테이너에 미리 설치되어 있어서(NODE_EXTRA_CA_CERTS·PGSSLROOTCERT) 코드에 SSL 옵션을 따로 넣지 않아도 됩니다 — new Pool({ connectionString: process.env.DATABASE_URL, max: 2 })면 됩니다. 연결은 앱당 3개까지라 풀 크기는 2 이하로 두세요.

환경변수

첫 배포와 자동 검사

첫 빌드가 성공하면 자동 검사를 거쳐 자동으로 승인되고, 바로 주소가 공개됩니다. 첫 배포가 공개되기 전에는 유료 요금이 차감되지 않습니다. 저장소에 비밀값(키·토큰·비밀번호)이 들어 있으면 빌드가 실패합니다. 새 외부 접속 대상·새 위험 패턴이 발견되거나 저장소 소유자가 바뀌어도 배포는 자동으로 반영되며, 그 내용은 기록됩니다. 모든 자동 승인과 검사 결과는 기록되고 운영자가 사후에 확인하며, 문제가 있으면 공개를 중지할 수 있습니다. 공개가 중지되면 사유를 이메일과 앱 화면으로 알려 드립니다. 금지 행위는 약관 제26조를 보세요.

요금·한도

플랜별 요금·메모리·DB·월 전송은 요금 페이지에 있습니다. 유료 플랜 요금은 충전한 크레딧에서 매월 차감됩니다. 결제일에 잔액이 부족하면 앱이 멈추고, 충전하면 자동으로 재개됩니다. 월 전송량은 방문자에게 보낸 응답과 앱이 밖으로 보낸 트래픽(외부 API 호출·업로드·DB 쓰기 포함)을 합한 양입니다. 한도에 이르면 공개와 앱 실행이 함께 멈추며(다음 달 1일에 재개), 유료 플랜은 앱 화면에서 전송 블록을 사면 몇 분 안에 다시 켜집니다. 80%와 한도 도달 때 이메일로 알려 드립니다.

백업·해지

문의: [email protected]