Pre-packaged app catalog for Dew. Install any app with one command.
dew install uptime-kuma| App | Description | Runtime | Port | Size |
|---|---|---|---|---|
| Uptime Kuma | Self-hosted monitoring | Node.js | 3001 | ~52MB |
| Excalidraw | Virtual whiteboard | Static | 80 | ~15MB |
| Vaultwarden | Password manager | Binary | 80 | ~20MB |
| Gitea | Git service | Binary | 3000 | ~100MB |
| Memos | Memo hub | Binary | 5230 | ~30MB |
| PocketBase | Backend + database | Binary | 8090 | ~15MB |
| Ghost | Blog platform | Node.js | 2368 | ~80MB |
| Hoppscotch | API testing | Static | 80 | ~20MB |
| Plausible | Privacy-friendly analytics | Elixir | 8000 | ~100MB |
| AnythingLLM | AI document chat | Node.js | 3001 | ~200MB |
Each app has a manifest.json that describes:
- Runtime (Node.js, binary, static)
- Base image for container execution
- Port, volumes, environment variables
- Health check endpoint
- Upstream source + build instructions
Dew downloads a pre-built tarball (not a Docker image), uses a shared base image for the runtime, and starts the app in a container. Second app with the same runtime needs no additional download.
First Node.js app: 85MB base (one-time) + 52MB app = 137MB
Second Node.js app: 0MB base (cached) + 30MB app = 30MB
vs Docker images:
First app: 489MB
Second app: 400MB
Add a new app:
- Create
apps/<name>/manifest.jsonfollowing the schema - Test with
./build.sh <name> - Open a PR
# Build a single app tarball
./build.sh uptime-kuma
# Requires: git, jq, curl, tar
# Some apps also need: npm, docker (for binary extraction)