Files
amania-jailbreak 93825ebc64 初回コミット: AltStore PAL向けADPホスティングSaaS
- Fastify API・Node Worker・PostgreSQL・S3互換ストレージ構成
- ADP ZIPのマルチパートアップロードとManifest検証(パストラバーサル・ZIP爆弾等を拒否)
- manifest.json/signatureは再シリアライズせず元バイト列を保持
- Cloudflare風の運用向け管理ダッシュボード(shadcn/Radix・日本語UI・4ルート)
  概要/Sources/アプリ/リリース + ルートランディングページ
- 汎用OIDC SSO・Workspace単位の認可・demo mode
- 匿名配布: /sources/{slug}/source.json, /artifacts/{releaseId}/manifest.json
- Docker Compose対応
2026-08-05 10:09:58 +09:00

57 lines
1.5 KiB
Markdown

# AltDock
AltDock is a self-hostable, multi-tenant hosting service for AltStore PAL
Alternative Distribution Packages (ADPs). Upload the original ADP ZIP, validate
its manifest and asset set, then publish a PAL-compatible Source JSON URL.
## Run locally without Docker
```bash
npm install
cp .env.example .env
npm run dev:api
```
With no `DATABASE_URL`, the API uses an in-memory store and local files under
`.data/storage`. Open the web app in another terminal:
```bash
npm run dev
```
The dashboard is at `http://localhost:3000` and the API is at
`http://localhost:4000`.
## Run the full stack
```bash
docker compose up
```
This starts PostgreSQL, MinIO, the API, the ADP worker, and the web app. The
MinIO console is available at `http://localhost:9001` with the credentials in
`docker-compose.yml`.
## Production identity
Set `AUTH_MODE=oidc` and configure `OIDC_ISSUER_URL`, `OIDC_CLIENT_ID`,
`OIDC_CLIENT_SECRET`, `OIDC_REDIRECT_URI`, and a random `SESSION_SECRET`. The
demo mode is intentionally enabled by default for local development only.
## ADP workflow
1. Submit the app for Notarization and download the completed ADP ZIP.
2. Upload the original ZIP to AltDock; do not prettify or rewrite its files.
3. Review the parsed bundle ID, Apple Item ID, version, build, and asset paths.
4. Publish the release and copy the Source URL into AltStore PAL.
Published artifacts are served at `/artifacts/{releaseId}/{relativePath}` and
the Source JSON is served at `/sources/{slug}/source.json`.
## Checks
```bash
npm run lint
npm test
```