84ee052d718313d3c192b70d4bbdbcd55b51ad4d
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
.
├── 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.yamlenligt teamets standard. - Upstream-exempel använder ofta
docker-compose.yml. - Om en extern pipeline kräver exakt
.ymlbehöver vi lägga till en konverterings/rename-step vid publicering.
Snabbstart
- Kopiera
Apps/_templatetillApps/<app-id>. - Sätt unikt
namei compose-filen (endast gemener +-). - Pinna image till explicit version eller digest (inte
latest). - Kör validering:
./scripts/validate-appstore.sh
Inför release/publicering, kör strikt validering för högrisk-inställningar:
./scripts/validate-appstore.sh --enforce-risk-docs
Säkerhetsriktlinjer
- Undvik privilegierad container, host network och
docker.sockom 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.
Description
Languages
Python
52.1%
Shell
28.3%
HTML
6.9%
Ruby
6.2%
JavaScript
3.6%
Other
2.9%