Files
zima-apps/README.md
T
2026-03-18 16:19:01 +01:00

55 lines
1.5 KiB
Markdown

# zima-apps
Skelett för att bygga och underhålla ZimaOS/CasaOS-appar i ett eget appstore-repo.
## Mål
- Små, reviewbara appdefinitioner.
- Säkra default-värden (least privilege, pinned image-taggar, inga `latest`).
- Tydlig struktur för metadata, kategorier och rekommendationer.
## Struktur
```text
.
├── Apps/
│ └── _template/
│ ├── README.md
│ └── docker-compose.yaml
├── category-list.json
├── featured-apps.json
├── recommend-list.json
└── scripts/
└── validate-appstore.sh
```
## Viktiga antaganden
- Repo använder `docker-compose.yaml` enligt teamets standard.
- Upstream-exempel använder ofta `docker-compose.yml`.
- Om en extern pipeline kräver exakt `.yml` behöver vi lägga till en konverterings/rename-step vid publicering.
## Snabbstart
1. Kopiera `Apps/_template` till `Apps/<app-id>`.
2. Sätt unikt `name` i compose-filen (endast gemener + `-`).
3. Pinna image till explicit version eller digest (inte `latest`).
4. Kör validering:
```bash
./scripts/validate-appstore.sh
```
Inför release/publicering, kör strikt validering för högrisk-inställningar:
```bash
./scripts/validate-appstore.sh --enforce-risk-docs
```
## Säkerhetsriktlinjer
- Undvik privilegierad container, host network och `docker.sock` om det inte är absolut nödvändigt.
- Håll mounts snäva och appspecifika (`/DATA/AppData/$AppID/...`).
- Sätt `security_opt: ["no-new-privileges:true"]` där det är möjligt.
- Dokumentera avvikelser från säkra default-värden i appens `README.md`.