본문으로 건너뛰기

Yundera App Store 기여하기

Yundera App Store는 Docker 기반 애플리케이션의 오픈소스 큐레이션 컨렉션입니다. 누구나 새 앱을 기여하거나 기존 앱을 개선할 수 있습니다.

신뢰할 수 있는 출처

AppStore 리포지토리의 **CONTRIBUTING.md**가 공식 참조입니다. 이 개발자 가이드는 오리엔테이션과 빠른 참조를 제공합니다. 의문이 있을 때는 CONTRIBUTING.md가 우선합니다.

리포지토리

리포지토리목적
Yundera/AppStore모든 PCS에 배포되는 공식 앱 스토어
Yundera/AppStoreLab프로덕션 승격 전 테스트를 위한 스테이징 스토어

기여 워크플로우

  1. Apps/{AppName}/ 아래에 파일 구조와 규칙에 따라 앱을 빌드합니다.
  2. 자체 PCS에서 로컬 테스트: 새로 설치, 제거/재설치(데이터 보존), 업그레이드.
  3. 리포 포크 후, App Store 소스를 포크로 포인팅하여 테스트(AppStoreLab에 스테이징 가능).
  4. 모든 필수 파일과 체크리스트 항목을 통과한 PR을 엽니다.
  5. 머지 전 애셋 URL을 main 브랜치로 포인팅하도록 업데이트합니다.

앱 폴더 구조

Apps/{AppName}/
├── docker-compose.yml # 필수 — 앱 정의
├── icon.png # 필수 — 192×192 px, 투명 배경
├── thumbnail.png # 필수 — 784×442 px
├── screenshot-1.png # 필수 — 1280×720 px (최소 1개)
└── rationale.md # 규칙에서 볬어나는 경우에만 필수

핵심 규칙 (치트시트)

영역규칙
이미지 태그고정 버전 (예: :0.1.2). 절대 :latest 사용 금지.
cpu_shares모든 서비스에 필수. 범위: 10–100.
사용자사용자 디렉토리에는 user: $PUID:$PGID. Root는 /DATA/AppData/{AppName}/에만.
데이터/DATA/AppData/$AppID/ 아래 지속. 제거/재설치 후에도 생존 필수.
네트워크외부 pcs 네트워크 참여. expose: 사용 (ports: 아님).
인증필수, 기본 활성화. AppShield 사이드카 또는 앱 내장 인증 사용.
애셋jsDelivr 통한 URL: https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/{AppName}/{file}

전체 사양은 앱 추가하기를 참조하세요.