シングルユーザー運用のため env フォールバックを廃止し、 APIオリジンを https://api.altdock.app.amania.jp に固定した。 - dashboard.ts / PublicSourceView.tsx の localhost:4000 フォールバックを削除 - API側 config.ts の PUBLIC_BASE_URL/WEB_ORIGIN デフォルトも本番ドメインに - compose/web の NEXT_PUBLIC_API_BASE_URL 環境変数を削除(コード固定のため)
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
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:
npm run dev
The dashboard is at http://localhost:3000 and the API is at
http://localhost:4000.
Run the full stack
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
- Submit the app for Notarization and download the completed ADP ZIP.
- Upload the original ZIP to AltDock; do not prettify or rewrite its files.
- Review the parsed bundle ID, Apple Item ID, version, build, and asset paths.
- 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
npm run lint
npm test