Compare commits

...

506 Commits

Author SHA1 Message Date
a7cb288f5d schema: update app-template.schema.json for v1.8.7.3 2026-10-08 12:03:11 +02:00
976a79d01f docs: update CONTRIBUTING_APPS.md for v1.8.7.3 2026-10-08 12:03:06 +02:00
afbf3526ed chore(store): sync vaultwarden/docker-compose.yml for v1.8.7.3 2026-10-08 12:03:03 +02:00
4ae1d94d8b chore(store): sync vaultwarden/app.json for v1.8.7.3 2026-10-08 12:03:00 +02:00
ef9aeef479 chore(store): sync retroarch/docker-compose.yml for v1.8.7.3 2026-10-08 12:02:58 +02:00
c125856d62 chore(store): sync retroarch/app.json for v1.8.7.3 2026-10-08 12:02:51 +02:00
03dbea9043 chore(store): sync qbittorrent/docker-compose.yml for v1.8.7.3 2026-10-08 12:02:48 +02:00
a4dd6fcb07 chore(store): sync qbittorrent/app.json for v1.8.7.3 2026-10-08 12:02:43 +02:00
0befad9cc7 chore(store): sync portainer/docker-compose.yml for v1.8.7.3 2026-10-08 12:02:37 +02:00
4bbd717db7 chore(store): sync portainer/app.json for v1.8.7.3 2026-10-08 12:02:20 +02:00
77cf38bff4 chore(store): sync plex/docker-compose.yml for v1.8.7.3 2026-10-08 12:02:08 +02:00
9782d3ab0f chore(store): sync plex/app.json for v1.8.7.3 2026-10-08 12:01:58 +02:00
73fc05d150 chore(store): sync nextcloud/docker-compose.yml for v1.8.7.3 2026-10-08 12:01:57 +02:00
835b58cf54 chore(store): sync nextcloud/app.json for v1.8.7.3 2026-10-08 12:01:55 +02:00
dd1d431942 chore(store): sync jellyfin/docker-compose.yml for v1.8.7.3 2026-10-08 12:01:52 +02:00
1576671316 chore(store): sync jellyfin/app.json for v1.8.7.3 2026-10-08 12:01:45 +02:00
6841ff57b7 chore(store): sync immich/docker-compose.yml for v1.8.7.3 2026-10-08 12:01:32 +02:00
d996ebd2fc chore(store): sync immich/app.json for v1.8.7.3 2026-10-08 12:01:14 +02:00
acb8c53955 chore(store): sync homeassistant/docker-compose.yml for v1.8.7.3 2026-10-08 12:01:01 +02:00
b7d3023d4f chore(store): sync homeassistant/app.json for v1.8.7.3 2026-10-08 12:00:39 +02:00
2189f3fd67 chore(store): sync adguard-home/docker-compose.yml for v1.8.7.3 2026-10-08 12:00:21 +02:00
8d0cdccc34 chore(store): sync adguard-home/app.json for v1.8.7.3 2026-10-08 12:00:08 +02:00
4f7dd8f50b schema: update app-template.schema.json for v1.8.7.2 2026-10-07 22:14:33 +02:00
7c1de23a12 docs: update CONTRIBUTING_APPS.md for v1.8.7.2 2026-10-07 22:14:32 +02:00
6e8c083eb3 chore(store): sync vaultwarden/docker-compose.yml for v1.8.7.2 2026-10-07 22:14:31 +02:00
0df5f67f75 chore(store): sync vaultwarden/app.json for v1.8.7.2 2026-10-07 22:14:29 +02:00
2b0d5da6cc chore(store): sync retroarch/docker-compose.yml for v1.8.7.2 2026-10-07 22:14:28 +02:00
3e48449fda chore(store): sync retroarch/app.json for v1.8.7.2 2026-10-07 22:14:27 +02:00
2382af98bd chore(store): sync qbittorrent/docker-compose.yml for v1.8.7.2 2026-10-07 22:14:26 +02:00
9b2dabe34b chore(store): sync qbittorrent/app.json for v1.8.7.2 2026-10-07 22:14:25 +02:00
5ab60f836a chore(store): sync portainer/docker-compose.yml for v1.8.7.2 2026-10-07 22:14:24 +02:00
82b54a70b0 chore(store): sync portainer/app.json for v1.8.7.2 2026-10-07 22:14:22 +02:00
04306c19d6 chore(store): sync plex/docker-compose.yml for v1.8.7.2 2026-10-07 22:14:21 +02:00
b5430a87bd chore(store): sync plex/app.json for v1.8.7.2 2026-10-07 22:14:20 +02:00
762b7d35be chore(store): sync nextcloud/docker-compose.yml for v1.8.7.2 2026-10-07 22:14:19 +02:00
713dbb93a9 chore(store): sync nextcloud/app.json for v1.8.7.2 2026-10-07 22:14:18 +02:00
c9c63758d0 chore(store): sync jellyfin/docker-compose.yml for v1.8.7.2 2026-10-07 22:14:17 +02:00
0598b1aeeb chore(store): sync jellyfin/app.json for v1.8.7.2 2026-10-07 22:14:16 +02:00
e8473f9475 chore(store): sync immich/docker-compose.yml for v1.8.7.2 2026-10-07 22:14:15 +02:00
4d42eefe24 chore(store): sync immich/app.json for v1.8.7.2 2026-10-07 22:14:13 +02:00
34c312c071 chore(store): sync homeassistant/docker-compose.yml for v1.8.7.2 2026-10-07 22:14:12 +02:00
8f0527b5c8 chore(store): sync homeassistant/app.json for v1.8.7.2 2026-10-07 22:14:07 +02:00
17b9852c35 chore(store): sync adguard-home/docker-compose.yml for v1.8.7.2 2026-10-07 22:14:06 +02:00
591222728e chore(store): sync adguard-home/app.json for v1.8.7.2 2026-10-07 22:14:05 +02:00
fdce916b57 schema: update app-template.schema.json for v1.8.7 2026-10-07 15:35:34 +02:00
37b1e9b188 docs: update CONTRIBUTING_APPS.md for v1.8.7 2026-10-07 15:35:33 +02:00
d3eae97666 chore(store): sync vaultwarden/docker-compose.yml for v1.8.7 2026-10-07 15:35:32 +02:00
ae11766b9b chore(store): sync vaultwarden/app.json for v1.8.7 2026-10-07 15:35:31 +02:00
5fab2b602f chore(store): sync retroarch/docker-compose.yml for v1.8.7 2026-10-07 15:35:30 +02:00
ecd7150ffa chore(store): sync retroarch/app.json for v1.8.7 2026-10-07 15:35:29 +02:00
a380349d9c chore(store): sync qbittorrent/docker-compose.yml for v1.8.7 2026-10-07 15:35:27 +02:00
4e9e2a7681 chore(store): sync qbittorrent/app.json for v1.8.7 2026-10-07 15:35:26 +02:00
735a1b30aa chore(store): sync portainer/docker-compose.yml for v1.8.7 2026-10-07 15:35:25 +02:00
792d270da7 chore(store): sync portainer/app.json for v1.8.7 2026-10-07 15:35:24 +02:00
b453c9031c chore(store): sync plex/docker-compose.yml for v1.8.7 2026-10-07 15:35:23 +02:00
9163328baf chore(store): sync plex/app.json for v1.8.7 2026-10-07 15:35:22 +02:00
688befd1a2 chore(store): sync nextcloud/docker-compose.yml for v1.8.7 2026-10-07 15:35:21 +02:00
c9361c07e2 chore(store): sync nextcloud/app.json for v1.8.7 2026-10-07 15:35:19 +02:00
2f5561cea0 chore(store): sync jellyfin/docker-compose.yml for v1.8.7 2026-10-07 15:35:18 +02:00
933d7b9fa5 chore(store): sync jellyfin/app.json for v1.8.7 2026-10-07 15:35:17 +02:00
2595cb0da4 chore(store): sync immich/docker-compose.yml for v1.8.7 2026-10-07 15:35:15 +02:00
f18c39fdb1 chore(store): sync immich/app.json for v1.8.7 2026-10-07 15:35:14 +02:00
99b200eea2 chore(store): sync homeassistant/docker-compose.yml for v1.8.7 2026-10-07 15:35:13 +02:00
157a4929fb chore(store): sync homeassistant/app.json for v1.8.7 2026-10-07 15:35:12 +02:00
83e6a94b0f chore(store): sync adguard-home/docker-compose.yml for v1.8.7 2026-10-07 15:35:11 +02:00
f85875918c chore(store): sync adguard-home/app.json for v1.8.7 2026-10-07 15:35:10 +02:00
6750ef126c schema: update app-template.schema.json for v1.8.6 2026-10-06 21:18:33 +02:00
6fa202b552 docs: update CONTRIBUTING_APPS.md for v1.8.6 2026-10-06 21:18:31 +02:00
e959c5abfc chore(store): sync vaultwarden/docker-compose.yml for v1.8.6 2026-10-06 21:18:30 +02:00
4abccd34cf chore(store): sync vaultwarden/app.json for v1.8.6 2026-10-06 21:18:29 +02:00
f083466ab8 chore(store): sync retroarch/docker-compose.yml for v1.8.6 2026-10-06 21:18:28 +02:00
bcf295928f chore(store): sync retroarch/app.json for v1.8.6 2026-10-06 21:18:27 +02:00
3d183572b5 chore(store): sync qbittorrent/docker-compose.yml for v1.8.6 2026-10-06 21:18:26 +02:00
8a29541783 chore(store): sync qbittorrent/app.json for v1.8.6 2026-10-06 21:18:25 +02:00
e87971d25a chore(store): sync portainer/docker-compose.yml for v1.8.6 2026-10-06 21:18:24 +02:00
615252822b chore(store): sync portainer/app.json for v1.8.6 2026-10-06 21:18:22 +02:00
c28a0320e1 chore(store): sync plex/docker-compose.yml for v1.8.6 2026-10-06 21:18:21 +02:00
6b3434929e chore(store): sync plex/app.json for v1.8.6 2026-10-06 21:18:20 +02:00
db99bf6148 chore(store): sync nextcloud/docker-compose.yml for v1.8.6 2026-10-06 21:18:19 +02:00
61d43fd2cd chore(store): sync nextcloud/app.json for v1.8.6 2026-10-06 21:18:18 +02:00
8716831b0f chore(store): sync jellyfin/docker-compose.yml for v1.8.6 2026-10-06 21:18:17 +02:00
7d93d17625 chore(store): sync jellyfin/app.json for v1.8.6 2026-10-06 21:18:16 +02:00
a4a291321f chore(store): sync immich/docker-compose.yml for v1.8.6 2026-10-06 21:18:15 +02:00
6cb22c72c4 chore(store): sync immich/app.json for v1.8.6 2026-10-06 21:18:13 +02:00
e2a2407975 chore(store): sync homeassistant/docker-compose.yml for v1.8.6 2026-10-06 21:18:12 +02:00
4573c13a2a chore(store): sync homeassistant/app.json for v1.8.6 2026-10-06 21:18:11 +02:00
c724d3100f chore(store): sync adguard-home/docker-compose.yml for v1.8.6 2026-10-06 21:18:10 +02:00
b27893d5c0 chore(store): sync adguard-home/app.json for v1.8.6 2026-10-06 21:18:09 +02:00
0f463324f5 schema: update app-template.schema.json for v1.8.5 2026-10-06 16:57:41 +02:00
01534db42e docs: update CONTRIBUTING_APPS.md for v1.8.5 2026-10-06 16:57:40 +02:00
cba0aefb70 chore(store): sync vaultwarden/docker-compose.yml for v1.8.5 2026-10-06 16:57:38 +02:00
8e3b3284e5 chore(store): sync vaultwarden/app.json for v1.8.5 2026-10-06 16:57:37 +02:00
d97fe77034 chore(store): sync retroarch/docker-compose.yml for v1.8.5 2026-10-06 16:57:36 +02:00
5964ac5894 chore(store): sync retroarch/app.json for v1.8.5 2026-10-06 16:57:35 +02:00
7a5d0c2432 chore(store): sync qbittorrent/docker-compose.yml for v1.8.5 2026-10-06 16:57:34 +02:00
71a26e4603 chore(store): sync qbittorrent/app.json for v1.8.5 2026-10-06 16:57:32 +02:00
d0e0a09cfa chore(store): sync portainer/docker-compose.yml for v1.8.5 2026-10-06 16:57:31 +02:00
c38e5e804d chore(store): sync portainer/app.json for v1.8.5 2026-10-06 16:57:30 +02:00
2a63e195f5 chore(store): sync plex/docker-compose.yml for v1.8.5 2026-10-06 16:57:29 +02:00
bc35f2d2f4 chore(store): sync plex/app.json for v1.8.5 2026-10-06 16:57:28 +02:00
3339f224c7 chore(store): sync nextcloud/docker-compose.yml for v1.8.5 2026-10-06 16:57:27 +02:00
d782c2091d chore(store): sync nextcloud/app.json for v1.8.5 2026-10-06 16:57:25 +02:00
e694301933 chore(store): sync jellyfin/docker-compose.yml for v1.8.5 2026-10-06 16:57:24 +02:00
46a628165f chore(store): sync jellyfin/app.json for v1.8.5 2026-10-06 16:57:23 +02:00
7e944f479a chore(store): sync immich/docker-compose.yml for v1.8.5 2026-10-06 16:57:22 +02:00
cd0a204ced chore(store): sync immich/app.json for v1.8.5 2026-10-06 16:57:21 +02:00
8a9b6ff28c chore(store): sync homeassistant/docker-compose.yml for v1.8.5 2026-10-06 16:57:20 +02:00
a00794bd91 chore(store): sync homeassistant/app.json for v1.8.5 2026-10-06 16:57:18 +02:00
a198dad255 chore(store): sync adguard-home/docker-compose.yml for v1.8.5 2026-10-06 16:57:18 +02:00
069572cef3 chore(store): sync adguard-home/app.json for v1.8.5 2026-10-06 16:57:17 +02:00
ccde1e3c13 schema: update app-template.schema.json for v1.8.2 2026-10-04 16:49:23 +02:00
0120b53dc9 docs: update CONTRIBUTING_APPS.md for v1.8.2 2026-10-04 16:49:21 +02:00
c8b9ef24c7 chore(store): sync vaultwarden/docker-compose.yml for v1.8.2 2026-10-04 16:49:21 +02:00
7e7cc4e278 chore(store): sync vaultwarden/app.json for v1.8.2 2026-10-04 16:49:19 +02:00
afe5ac1b49 chore(store): sync retroarch/docker-compose.yml for v1.8.2 2026-10-04 16:49:18 +02:00
24d969dcd7 chore(store): sync retroarch/app.json for v1.8.2 2026-10-04 16:49:17 +02:00
013a8fc43d chore(store): sync qbittorrent/docker-compose.yml for v1.8.2 2026-10-04 16:49:16 +02:00
abdf812ed2 chore(store): sync qbittorrent/app.json for v1.8.2 2026-10-04 16:49:14 +02:00
05cdbbcf25 chore(store): sync portainer/docker-compose.yml for v1.8.2 2026-10-04 16:49:13 +02:00
8a196578fd chore(store): sync portainer/app.json for v1.8.2 2026-10-04 16:49:12 +02:00
a74cbd703c chore(store): sync plex/docker-compose.yml for v1.8.2 2026-10-04 16:49:11 +02:00
d583c4fa1d chore(store): sync plex/app.json for v1.8.2 2026-10-04 16:49:10 +02:00
ed91306c43 chore(store): sync nextcloud/docker-compose.yml for v1.8.2 2026-10-04 16:49:09 +02:00
dacaad76ed chore(store): sync nextcloud/app.json for v1.8.2 2026-10-04 16:49:07 +02:00
2b7b979aa1 chore(store): sync jellyfin/docker-compose.yml for v1.8.2 2026-10-04 16:49:06 +02:00
788ef1f743 chore(store): sync jellyfin/app.json for v1.8.2 2026-10-04 16:49:05 +02:00
9aac58ab5b chore(store): sync immich/docker-compose.yml for v1.8.2 2026-10-04 16:49:04 +02:00
cc144083fb chore(store): sync immich/app.json for v1.8.2 2026-10-04 16:49:03 +02:00
89b5e232eb chore(store): sync homeassistant/docker-compose.yml for v1.8.2 2026-10-04 16:49:01 +02:00
91da08e4bd chore(store): sync homeassistant/app.json for v1.8.2 2026-10-04 16:49:01 +02:00
eb998efd74 chore(store): sync adguard-home/docker-compose.yml for v1.8.2 2026-10-04 16:48:59 +02:00
79505336a9 chore(store): sync adguard-home/app.json for v1.8.2 2026-10-04 16:48:58 +02:00
2b09dff371 schema: update app-template.schema.json for v1.8.1 2026-10-04 13:49:32 +02:00
5c6077e13c docs: update CONTRIBUTING_APPS.md for v1.8.1 2026-10-04 13:49:31 +02:00
1bb51c74b4 chore(store): sync vaultwarden/docker-compose.yml for v1.8.1 2026-10-04 13:49:30 +02:00
ea1ef39dd6 chore(store): sync vaultwarden/app.json for v1.8.1 2026-10-04 13:49:28 +02:00
39f6cd420b chore(store): sync retroarch/docker-compose.yml for v1.8.1 2026-10-04 13:49:27 +02:00
6306fa6040 chore(store): sync retroarch/app.json for v1.8.1 2026-10-04 13:49:26 +02:00
d4660ff144 chore(store): sync qbittorrent/docker-compose.yml for v1.8.1 2026-10-04 13:49:25 +02:00
008fdc35f6 chore(store): sync qbittorrent/app.json for v1.8.1 2026-10-04 13:49:23 +02:00
99beebec56 chore(store): sync portainer/docker-compose.yml for v1.8.1 2026-10-04 13:49:22 +02:00
1a71f0c256 chore(store): sync portainer/app.json for v1.8.1 2026-10-04 13:49:21 +02:00
3918afdff0 chore(store): sync plex/docker-compose.yml for v1.8.1 2026-10-04 13:49:20 +02:00
7a0c927e33 chore(store): sync plex/app.json for v1.8.1 2026-10-04 13:49:14 +02:00
d24e071a8d chore(store): sync nextcloud/docker-compose.yml for v1.8.1 2026-10-04 13:49:12 +02:00
a41584183c chore(store): sync nextcloud/app.json for v1.8.1 2026-10-04 13:49:11 +02:00
026eada9c9 chore(store): sync jellyfin/docker-compose.yml for v1.8.1 2026-10-04 13:49:09 +02:00
aadc4a2338 chore(store): sync jellyfin/app.json for v1.8.1 2026-10-04 13:49:08 +02:00
e894e51d25 chore(store): sync immich/docker-compose.yml for v1.8.1 2026-10-04 13:49:05 +02:00
6d7d0f5288 chore(store): sync immich/app.json for v1.8.1 2026-10-04 13:49:03 +02:00
b4535eca7a chore(store): sync homeassistant/docker-compose.yml for v1.8.1 2026-10-04 13:49:00 +02:00
0b914a55df chore(store): sync homeassistant/app.json for v1.8.1 2026-10-04 13:48:59 +02:00
0a727370fa chore(store): sync adguard-home/docker-compose.yml for v1.8.1 2026-10-04 13:48:58 +02:00
cf0825fc03 chore(store): sync adguard-home/app.json for v1.8.1 2026-10-04 13:48:56 +02:00
1af17aa340 schema: update app-template.schema.json for v1.8.0 2026-10-04 00:58:05 +02:00
045bcf7d21 docs: update CONTRIBUTING_APPS.md for v1.8.0 2026-10-04 00:58:04 +02:00
cebeff6e35 chore(store): sync vaultwarden/docker-compose.yml for v1.8.0 2026-10-04 00:58:03 +02:00
3aa8624576 chore(store): sync vaultwarden/app.json for v1.8.0 2026-10-04 00:58:01 +02:00
12558d114c chore(store): sync retroarch/docker-compose.yml for v1.8.0 2026-10-04 00:57:59 +02:00
ed71c56751 chore(store): sync retroarch/app.json for v1.8.0 2026-10-04 00:57:58 +02:00
d0bd4bbb62 chore(store): sync qbittorrent/docker-compose.yml for v1.8.0 2026-10-04 00:57:56 +02:00
857a39c398 chore(store): sync qbittorrent/app.json for v1.8.0 2026-10-04 00:57:54 +02:00
164f7e663f chore(store): sync portainer/docker-compose.yml for v1.8.0 2026-10-04 00:57:49 +02:00
43e43eecd6 chore(store): sync portainer/app.json for v1.8.0 2026-10-04 00:57:48 +02:00
7705f5d0af chore(store): sync plex/docker-compose.yml for v1.8.0 2026-10-04 00:57:47 +02:00
ed580da40b chore(store): sync plex/app.json for v1.8.0 2026-10-04 00:57:45 +02:00
5b917a5a11 chore(store): sync nextcloud/docker-compose.yml for v1.8.0 2026-10-04 00:57:44 +02:00
7f7d2a66cc chore(store): sync nextcloud/app.json for v1.8.0 2026-10-04 00:57:43 +02:00
986016057e chore(store): sync jellyfin/docker-compose.yml for v1.8.0 2026-10-04 00:57:42 +02:00
630166b271 chore(store): sync jellyfin/app.json for v1.8.0 2026-10-04 00:57:41 +02:00
5aa48ce58e chore(store): sync immich/docker-compose.yml for v1.8.0 2026-10-04 00:57:39 +02:00
9f1d95215f chore(store): sync immich/app.json for v1.8.0 2026-10-04 00:57:37 +02:00
2a39ff54e2 chore(store): sync homeassistant/docker-compose.yml for v1.8.0 2026-10-04 00:57:36 +02:00
a3af6ff0d2 chore(store): sync homeassistant/app.json for v1.8.0 2026-10-04 00:57:35 +02:00
e9a8a73a9e chore(store): sync adguard-home/docker-compose.yml for v1.8.0 2026-10-04 00:57:33 +02:00
977ad4fd9a chore(store): sync adguard-home/app.json for v1.8.0 2026-10-04 00:57:32 +02:00
2ed890497a schema: update app-template.schema.json for v1.7.6.2 2026-10-02 14:05:40 +02:00
85bd42353a docs: update CONTRIBUTING_APPS.md for v1.7.6.2 2026-10-02 14:05:39 +02:00
ade27b0904 chore(store): sync vaultwarden/docker-compose.yml for v1.7.6.2 2026-10-02 14:05:38 +02:00
3715fc7b26 chore(store): sync vaultwarden/app.json for v1.7.6.2 2026-10-02 14:05:36 +02:00
3be9e3124a chore(store): sync retroarch/docker-compose.yml for v1.7.6.2 2026-10-02 14:05:35 +02:00
8d67c2e3e4 chore(store): sync retroarch/app.json for v1.7.6.2 2026-10-02 14:05:34 +02:00
ce95cf647a chore(store): sync qbittorrent/docker-compose.yml for v1.7.6.2 2026-10-02 14:05:33 +02:00
325142e49c chore(store): sync qbittorrent/app.json for v1.7.6.2 2026-10-02 14:05:32 +02:00
9e7ef3550f chore(store): sync portainer/docker-compose.yml for v1.7.6.2 2026-10-02 14:05:31 +02:00
4f0292b4b9 chore(store): sync portainer/app.json for v1.7.6.2 2026-10-02 14:05:29 +02:00
c0646f70aa chore(store): sync plex/docker-compose.yml for v1.7.6.2 2026-10-02 14:05:28 +02:00
81de800296 chore(store): sync plex/app.json for v1.7.6.2 2026-10-02 14:05:27 +02:00
563f2e8c1b chore(store): sync nextcloud/docker-compose.yml for v1.7.6.2 2026-10-02 14:05:26 +02:00
c23655ba9d chore(store): sync nextcloud/app.json for v1.7.6.2 2026-10-02 14:05:25 +02:00
8b61128e0c chore(store): sync jellyfin/docker-compose.yml for v1.7.6.2 2026-10-02 14:05:24 +02:00
5fbeb4b3e4 chore(store): sync jellyfin/app.json for v1.7.6.2 2026-10-02 14:05:23 +02:00
a8d9be1dbf chore(store): sync immich/docker-compose.yml for v1.7.6.2 2026-10-02 14:05:21 +02:00
bce36635b8 chore(store): sync immich/app.json for v1.7.6.2 2026-10-02 14:05:20 +02:00
da3965fdda chore(store): sync homeassistant/docker-compose.yml for v1.7.6.2 2026-10-02 14:05:19 +02:00
0291b7a667 chore(store): sync homeassistant/app.json for v1.7.6.2 2026-10-02 14:05:17 +02:00
d95521b2ae chore(store): sync adguard-home/docker-compose.yml for v1.7.6.2 2026-10-02 14:05:16 +02:00
827af636f6 chore(store): sync adguard-home/app.json for v1.7.6.2 2026-10-02 14:05:15 +02:00
e6ff1dfaea schema: update app-template.schema.json for v1.7.6.2 2026-10-02 08:39:28 +02:00
6248ba4ea2 docs: update CONTRIBUTING_APPS.md for v1.7.6.2 2026-10-02 08:39:27 +02:00
e0d1c31cef chore(store): sync vaultwarden/docker-compose.yml for v1.7.6.2 2026-10-02 08:39:26 +02:00
4b4b8cddc8 chore(store): sync vaultwarden/app.json for v1.7.6.2 2026-10-02 08:39:25 +02:00
7487f2838b chore(store): sync retroarch/docker-compose.yml for v1.7.6.2 2026-10-02 08:39:23 +02:00
4dc3a3f296 chore(store): sync retroarch/app.json for v1.7.6.2 2026-10-02 08:39:22 +02:00
d47709ba41 chore(store): sync qbittorrent/docker-compose.yml for v1.7.6.2 2026-10-02 08:39:21 +02:00
9c94a5c8d0 chore(store): sync qbittorrent/app.json for v1.7.6.2 2026-10-02 08:39:20 +02:00
61eca09319 chore(store): sync portainer/docker-compose.yml for v1.7.6.2 2026-10-02 08:39:19 +02:00
a83447cbd5 chore(store): sync portainer/app.json for v1.7.6.2 2026-10-02 08:39:18 +02:00
798a4d9e4c chore(store): sync plex/docker-compose.yml for v1.7.6.2 2026-10-02 08:39:17 +02:00
6d7b946f24 chore(store): sync plex/app.json for v1.7.6.2 2026-10-02 08:39:15 +02:00
7d7eb7fe23 chore(store): sync nextcloud/docker-compose.yml for v1.7.6.2 2026-10-02 08:39:14 +02:00
8af1c9eb64 chore(store): sync nextcloud/app.json for v1.7.6.2 2026-10-02 08:39:13 +02:00
9136cd4ce7 chore(store): sync jellyfin/docker-compose.yml for v1.7.6.2 2026-10-02 08:39:12 +02:00
56f1d27708 chore(store): sync jellyfin/app.json for v1.7.6.2 2026-10-02 08:39:11 +02:00
b81ee20eba chore(store): sync immich/docker-compose.yml for v1.7.6.2 2026-10-02 08:39:10 +02:00
9aedac7b9e chore(store): sync immich/app.json for v1.7.6.2 2026-10-02 08:39:09 +02:00
7d8483b066 chore(store): sync homeassistant/docker-compose.yml for v1.7.6.2 2026-10-02 08:39:08 +02:00
8d5d608cca chore(store): sync homeassistant/app.json for v1.7.6.2 2026-10-02 08:39:07 +02:00
e8f71adb7c chore(store): sync adguard-home/docker-compose.yml for v1.7.6.2 2026-10-02 08:39:06 +02:00
7092ee55c2 chore(store): sync adguard-home/app.json for v1.7.6.2 2026-10-02 08:39:04 +02:00
3b68030fc5 schema: update app-template.schema.json for v1.7.6.1 2026-10-02 00:08:51 +02:00
21ea16f08a docs: update CONTRIBUTING_APPS.md for v1.7.6.1 2026-10-02 00:08:50 +02:00
09a792518b chore(store): sync vaultwarden/docker-compose.yml for v1.7.6.1 2026-10-02 00:08:48 +02:00
8bb9658e88 chore(store): sync vaultwarden/app.json for v1.7.6.1 2026-10-02 00:08:47 +02:00
5bb02daaee chore(store): sync retroarch/docker-compose.yml for v1.7.6.1 2026-10-02 00:08:46 +02:00
94e6691d88 chore(store): sync retroarch/app.json for v1.7.6.1 2026-10-02 00:08:45 +02:00
fb6a4877d2 chore(store): sync qbittorrent/docker-compose.yml for v1.7.6.1 2026-10-02 00:08:44 +02:00
2d8ebfa68d chore(store): sync qbittorrent/app.json for v1.7.6.1 2026-10-02 00:08:43 +02:00
11048d875c chore(store): sync portainer/docker-compose.yml for v1.7.6.1 2026-10-02 00:08:41 +02:00
469c66f36a chore(store): sync portainer/app.json for v1.7.6.1 2026-10-02 00:08:40 +02:00
6b61982758 chore(store): sync plex/docker-compose.yml for v1.7.6.1 2026-10-02 00:08:39 +02:00
7fe0d94ea5 chore(store): sync plex/app.json for v1.7.6.1 2026-10-02 00:08:38 +02:00
7c71015992 chore(store): sync nextcloud/docker-compose.yml for v1.7.6.1 2026-10-02 00:08:37 +02:00
4801115d65 chore(store): sync nextcloud/app.json for v1.7.6.1 2026-10-02 00:08:36 +02:00
571ab9a945 chore(store): sync jellyfin/docker-compose.yml for v1.7.6.1 2026-10-02 00:08:35 +02:00
76e39c6cc3 chore(store): sync jellyfin/app.json for v1.7.6.1 2026-10-02 00:08:33 +02:00
1662453c76 chore(store): sync immich/docker-compose.yml for v1.7.6.1 2026-10-02 00:08:32 +02:00
df2aa0f3cd chore(store): sync immich/app.json for v1.7.6.1 2026-10-02 00:08:31 +02:00
bf216cac9c chore(store): sync homeassistant/docker-compose.yml for v1.7.6.1 2026-10-02 00:08:30 +02:00
fcc746e19c chore(store): sync homeassistant/app.json for v1.7.6.1 2026-10-02 00:08:29 +02:00
19a7932e50 chore(store): sync adguard-home/docker-compose.yml for v1.7.6.1 2026-10-02 00:08:28 +02:00
664d175a5e chore(store): sync adguard-home/app.json for v1.7.6.1 2026-10-02 00:08:27 +02:00
527da28078 schema: update app-template.schema.json for v1.7.6 2026-10-01 20:44:36 +02:00
89b5e44e2b docs: update CONTRIBUTING_APPS.md for v1.7.6 2026-10-01 20:44:35 +02:00
faffd5a0e4 chore(store): sync vaultwarden/docker-compose.yml for v1.7.6 2026-10-01 20:44:34 +02:00
b4ff60a73c chore(store): sync vaultwarden/app.json for v1.7.6 2026-10-01 20:44:33 +02:00
f1dd85a4c5 chore(store): sync retroarch/docker-compose.yml for v1.7.6 2026-10-01 20:44:32 +02:00
42b734471b chore(store): sync retroarch/app.json for v1.7.6 2026-10-01 20:44:31 +02:00
f8369cad8a chore(store): sync qbittorrent/docker-compose.yml for v1.7.6 2026-10-01 20:44:29 +02:00
104dba7674 chore(store): sync qbittorrent/app.json for v1.7.6 2026-10-01 20:44:28 +02:00
bf0fe2f909 chore(store): sync portainer/docker-compose.yml for v1.7.6 2026-10-01 20:44:27 +02:00
6c1f8ad069 chore(store): sync portainer/app.json for v1.7.6 2026-10-01 20:44:26 +02:00
701f2a3fb3 chore(store): sync plex/docker-compose.yml for v1.7.6 2026-10-01 20:44:25 +02:00
eba20a2aba chore(store): sync plex/app.json for v1.7.6 2026-10-01 20:44:23 +02:00
3e73c22386 chore(store): sync nextcloud/docker-compose.yml for v1.7.6 2026-10-01 20:44:22 +02:00
d9c87aa2a4 chore(store): sync nextcloud/app.json for v1.7.6 2026-10-01 20:44:21 +02:00
43d2292266 chore(store): sync jellyfin/docker-compose.yml for v1.7.6 2026-10-01 20:44:20 +02:00
4d2aa3c92f chore(store): sync jellyfin/app.json for v1.7.6 2026-10-01 20:44:19 +02:00
409f3f93b4 chore(store): sync immich/docker-compose.yml for v1.7.6 2026-10-01 20:44:18 +02:00
46c8af9e98 chore(store): sync immich/app.json for v1.7.6 2026-10-01 20:44:16 +02:00
a8ebc3be8f chore(store): sync homeassistant/docker-compose.yml for v1.7.6 2026-10-01 20:44:15 +02:00
309adfe4cc chore(store): sync homeassistant/app.json for v1.7.6 2026-10-01 20:44:14 +02:00
e40d878dca chore(store): sync adguard-home/docker-compose.yml for v1.7.6 2026-10-01 20:44:13 +02:00
3d07692837 chore(store): sync adguard-home/app.json for v1.7.6 2026-10-01 20:44:12 +02:00
d65b34a605 schema: update app-template.schema.json for v1.7.5.2 2026-10-01 13:01:33 +02:00
e80f9b6eb8 docs: update CONTRIBUTING_APPS.md for v1.7.5.2 2026-10-01 13:01:32 +02:00
bc51913e94 chore(store): sync vaultwarden/docker-compose.yml for v1.7.5.2 2026-10-01 13:01:31 +02:00
875378de86 chore(store): sync vaultwarden/app.json for v1.7.5.2 2026-10-01 13:01:30 +02:00
efaa3cabfc chore(store): sync retroarch/docker-compose.yml for v1.7.5.2 2026-10-01 13:01:29 +02:00
0fdeb37d85 chore(store): sync retroarch/app.json for v1.7.5.2 2026-10-01 13:01:27 +02:00
af321e42fd chore(store): sync qbittorrent/docker-compose.yml for v1.7.5.2 2026-10-01 13:01:26 +02:00
aafa7baaff chore(store): sync qbittorrent/app.json for v1.7.5.2 2026-10-01 13:01:25 +02:00
123444aa15 chore(store): sync portainer/docker-compose.yml for v1.7.5.2 2026-10-01 13:01:24 +02:00
522522b031 chore(store): sync portainer/app.json for v1.7.5.2 2026-10-01 13:01:23 +02:00
eccc990416 chore(store): sync plex/docker-compose.yml for v1.7.5.2 2026-10-01 13:01:21 +02:00
b90021d70b chore(store): sync plex/app.json for v1.7.5.2 2026-10-01 13:01:20 +02:00
b778083e0f chore(store): sync nextcloud/docker-compose.yml for v1.7.5.2 2026-10-01 13:01:18 +02:00
af352acc62 chore(store): sync nextcloud/app.json for v1.7.5.2 2026-10-01 13:01:17 +02:00
aef1088c95 chore(store): sync jellyfin/docker-compose.yml for v1.7.5.2 2026-10-01 13:01:16 +02:00
e21c28ce2a chore(store): sync jellyfin/app.json for v1.7.5.2 2026-10-01 13:01:15 +02:00
4e91044395 chore(store): sync immich/docker-compose.yml for v1.7.5.2 2026-10-01 13:01:13 +02:00
a42f319f29 chore(store): sync immich/app.json for v1.7.5.2 2026-10-01 13:01:11 +02:00
b091eb48db chore(store): sync homeassistant/docker-compose.yml for v1.7.5.2 2026-10-01 13:01:10 +02:00
98389c4a2d chore(store): sync homeassistant/app.json for v1.7.5.2 2026-10-01 13:01:08 +02:00
556b0b5586 chore(store): sync adguard-home/docker-compose.yml for v1.7.5.2 2026-10-01 13:01:07 +02:00
45a2ea1588 chore(store): sync adguard-home/app.json for v1.7.5.2 2026-10-01 13:01:06 +02:00
9020c2c64f schema: update app-template.schema.json for v1.7.5.1 2026-10-01 12:10:15 +02:00
c824f9d189 docs: update CONTRIBUTING_APPS.md for v1.7.5.1 2026-10-01 12:10:14 +02:00
3fe61eefb3 chore(store): sync vaultwarden/docker-compose.yml for v1.7.5.1 2026-10-01 12:10:13 +02:00
cdec479d62 chore(store): sync vaultwarden/app.json for v1.7.5.1 2026-10-01 12:10:11 +02:00
78c1ccdae0 chore(store): sync retroarch/docker-compose.yml for v1.7.5.1 2026-10-01 12:10:10 +02:00
2fba7716da chore(store): sync retroarch/app.json for v1.7.5.1 2026-10-01 12:10:09 +02:00
bc9e8ad55a chore(store): sync qbittorrent/docker-compose.yml for v1.7.5.1 2026-10-01 12:10:08 +02:00
4d47bbdd54 chore(store): sync qbittorrent/app.json for v1.7.5.1 2026-10-01 12:10:07 +02:00
f06cbe68e4 chore(store): sync portainer/docker-compose.yml for v1.7.5.1 2026-10-01 12:10:06 +02:00
6eb3f4b99b chore(store): sync portainer/app.json for v1.7.5.1 2026-10-01 12:10:05 +02:00
42682b60b1 chore(store): sync plex/docker-compose.yml for v1.7.5.1 2026-10-01 12:10:04 +02:00
438a42bcb3 chore(store): sync plex/app.json for v1.7.5.1 2026-10-01 12:10:03 +02:00
010584c7e5 chore(store): sync nextcloud/docker-compose.yml for v1.7.5.1 2026-10-01 12:10:01 +02:00
6eb6b76db9 chore(store): sync nextcloud/app.json for v1.7.5.1 2026-10-01 12:10:00 +02:00
4e04d8fe11 chore(store): sync jellyfin/docker-compose.yml for v1.7.5.1 2026-10-01 12:09:59 +02:00
5fecf9ba6b chore(store): sync jellyfin/app.json for v1.7.5.1 2026-10-01 12:09:58 +02:00
ecd85f401d chore(store): sync immich/docker-compose.yml for v1.7.5.1 2026-10-01 12:09:57 +02:00
ee42583c3e chore(store): sync immich/app.json for v1.7.5.1 2026-10-01 12:09:56 +02:00
2f118450b5 chore(store): sync homeassistant/docker-compose.yml for v1.7.5.1 2026-10-01 12:09:54 +02:00
d76e447a9c chore(store): sync homeassistant/app.json for v1.7.5.1 2026-10-01 12:09:53 +02:00
2d69ba148f chore(store): sync adguard-home/docker-compose.yml for v1.7.5.1 2026-10-01 12:09:53 +02:00
7f8b674c07 chore(store): sync adguard-home/app.json for v1.7.5.1 2026-10-01 12:09:51 +02:00
6975217c47 schema: update app-template.schema.json for v1.7.5.1 2026-10-01 09:25:14 +02:00
459b6fd81f docs: update CONTRIBUTING_APPS.md for v1.7.5.1 2026-10-01 09:25:13 +02:00
f8edceba3d chore(store): sync vaultwarden/docker-compose.yml for v1.7.5.1 2026-10-01 09:25:12 +02:00
9e8f15095c chore(store): sync vaultwarden/app.json for v1.7.5.1 2026-10-01 09:25:11 +02:00
b36cabfc99 chore(store): sync retroarch/docker-compose.yml for v1.7.5.1 2026-10-01 09:25:10 +02:00
03071d4fd8 chore(store): sync retroarch/app.json for v1.7.5.1 2026-10-01 09:25:09 +02:00
f9e028ea9d chore(store): sync qbittorrent/docker-compose.yml for v1.7.5.1 2026-10-01 09:25:08 +02:00
7056efb809 chore(store): sync qbittorrent/app.json for v1.7.5.1 2026-10-01 09:25:07 +02:00
244631b5fa chore(store): sync portainer/docker-compose.yml for v1.7.5.1 2026-10-01 09:25:06 +02:00
c390a7557b chore(store): sync portainer/app.json for v1.7.5.1 2026-10-01 09:25:05 +02:00
68d83c751d chore(store): sync plex/docker-compose.yml for v1.7.5.1 2026-10-01 09:25:04 +02:00
eeb8b4cc76 chore(store): sync plex/app.json for v1.7.5.1 2026-10-01 09:25:03 +02:00
09b1b7a1f6 chore(store): sync nextcloud/docker-compose.yml for v1.7.5.1 2026-10-01 09:25:02 +02:00
c60e0c00c1 chore(store): sync nextcloud/app.json for v1.7.5.1 2026-10-01 09:25:01 +02:00
5797650363 chore(store): sync jellyfin/docker-compose.yml for v1.7.5.1 2026-10-01 09:24:59 +02:00
12de3157ab chore(store): sync jellyfin/app.json for v1.7.5.1 2026-10-01 09:24:58 +02:00
57062be9ac chore(store): sync immich/docker-compose.yml for v1.7.5.1 2026-10-01 09:24:57 +02:00
9ab72d9153 chore(store): sync immich/app.json for v1.7.5.1 2026-10-01 09:24:56 +02:00
edafa6e75e chore(store): sync homeassistant/docker-compose.yml for v1.7.5.1 2026-10-01 09:24:55 +02:00
d2609f60fe chore(store): sync homeassistant/app.json for v1.7.5.1 2026-10-01 09:24:53 +02:00
507b446d61 chore(store): sync adguard-home/docker-compose.yml for v1.7.5.1 2026-10-01 09:24:52 +02:00
fa491a7856 chore(store): sync adguard-home/app.json for v1.7.5.1 2026-10-01 09:24:51 +02:00
dbb4e70922 schema: update app-template.schema.json for v1.7.5.1 2026-10-01 08:25:46 +02:00
1c583373d2 docs: update CONTRIBUTING_APPS.md for v1.7.5.1 2026-10-01 08:25:45 +02:00
f3cdd5f241 chore(store): sync vaultwarden/docker-compose.yml for v1.7.5.1 2026-10-01 08:25:44 +02:00
ca8c9772ae chore(store): sync vaultwarden/app.json for v1.7.5.1 2026-10-01 08:25:42 +02:00
0688ef2ea4 chore(store): sync retroarch/docker-compose.yml for v1.7.5.1 2026-10-01 08:25:41 +02:00
d60372f9c9 chore(store): sync retroarch/app.json for v1.7.5.1 2026-10-01 08:25:40 +02:00
fa40e98fb0 chore(store): sync qbittorrent/docker-compose.yml for v1.7.5.1 2026-10-01 08:25:39 +02:00
f3ee9bc683 chore(store): sync qbittorrent/app.json for v1.7.5.1 2026-10-01 08:25:38 +02:00
1df1d6fe77 chore(store): sync portainer/docker-compose.yml for v1.7.5.1 2026-10-01 08:25:33 +02:00
91f678c127 chore(store): sync portainer/app.json for v1.7.5.1 2026-10-01 08:25:32 +02:00
862a53a6df chore(store): sync plex/docker-compose.yml for v1.7.5.1 2026-10-01 08:25:31 +02:00
8e055d082a chore(store): sync plex/app.json for v1.7.5.1 2026-10-01 08:25:30 +02:00
090da0b113 chore(store): sync nextcloud/docker-compose.yml for v1.7.5.1 2026-10-01 08:25:29 +02:00
3117cec29e chore(store): sync nextcloud/app.json for v1.7.5.1 2026-10-01 08:25:28 +02:00
bdf1562b23 chore(store): sync jellyfin/docker-compose.yml for v1.7.5.1 2026-10-01 08:25:27 +02:00
c1be2b45f0 chore(store): sync jellyfin/app.json for v1.7.5.1 2026-10-01 08:25:26 +02:00
62577f9473 chore(store): sync immich/docker-compose.yml for v1.7.5.1 2026-10-01 08:25:25 +02:00
aa792016c1 chore(store): sync immich/app.json for v1.7.5.1 2026-10-01 08:25:24 +02:00
8e8d0e2463 chore(store): sync homeassistant/docker-compose.yml for v1.7.5.1 2026-10-01 08:25:23 +02:00
83d0310088 chore(store): sync homeassistant/app.json for v1.7.5.1 2026-10-01 08:25:22 +02:00
9ff641ba8b chore(store): sync adguard-home/docker-compose.yml for v1.7.5.1 2026-10-01 08:25:21 +02:00
f9aeadfc29 chore(store): sync adguard-home/app.json for v1.7.5.1 2026-10-01 08:25:19 +02:00
925983c63e schema: update app-template.schema.json for v1.7.5 2026-09-30 22:17:35 +02:00
935ec3dc1f docs: update CONTRIBUTING_APPS.md for v1.7.5 2026-09-30 22:17:34 +02:00
b069033829 chore(store): sync vaultwarden/docker-compose.yml for v1.7.5 2026-09-30 22:17:33 +02:00
f33e8f3e71 chore(store): sync vaultwarden/app.json for v1.7.5 2026-09-30 22:17:31 +02:00
d2fbe9f543 chore(store): sync retroarch/docker-compose.yml for v1.7.5 2026-09-30 22:17:30 +02:00
d5ed66fa23 chore(store): sync retroarch/app.json for v1.7.5 2026-09-30 22:17:29 +02:00
2821965e11 chore(store): sync qbittorrent/docker-compose.yml for v1.7.5 2026-09-30 22:17:28 +02:00
09352c20ba chore(store): sync qbittorrent/app.json for v1.7.5 2026-09-30 22:17:27 +02:00
c8094e0344 chore(store): sync portainer/docker-compose.yml for v1.7.5 2026-09-30 22:17:26 +02:00
155bbfd701 chore(store): sync portainer/app.json for v1.7.5 2026-09-30 22:17:25 +02:00
90afa9e540 chore(store): sync plex/docker-compose.yml for v1.7.5 2026-09-30 22:17:24 +02:00
3370f77a68 chore(store): sync plex/app.json for v1.7.5 2026-09-30 22:17:22 +02:00
b3c698bd78 chore(store): sync nextcloud/docker-compose.yml for v1.7.5 2026-09-30 22:17:21 +02:00
ad564c09c4 chore(store): sync nextcloud/app.json for v1.7.5 2026-09-30 22:17:20 +02:00
553be86177 chore(store): sync jellyfin/docker-compose.yml for v1.7.5 2026-09-30 22:17:19 +02:00
273caba9aa chore(store): sync jellyfin/app.json for v1.7.5 2026-09-30 22:17:18 +02:00
0853992070 chore(store): sync immich/docker-compose.yml for v1.7.5 2026-09-30 22:17:17 +02:00
4a7df84a99 chore(store): sync immich/app.json for v1.7.5 2026-09-30 22:17:16 +02:00
1970176807 chore(store): sync homeassistant/docker-compose.yml for v1.7.5 2026-09-30 22:17:15 +02:00
29390614b8 chore(store): sync homeassistant/app.json for v1.7.5 2026-09-30 22:17:14 +02:00
88d1db8c73 chore(store): sync adguard-home/docker-compose.yml for v1.7.5 2026-09-30 22:17:13 +02:00
1d68ae09f4 chore(store): sync adguard-home/app.json for v1.7.5 2026-09-30 22:17:12 +02:00
2f29f6abdd schema: update app-template.schema.json for v1.7.4 2026-09-30 20:58:13 +02:00
fecd295e76 docs: update CONTRIBUTING_APPS.md for v1.7.4 2026-09-30 20:58:12 +02:00
da0d04b80f chore(store): sync vaultwarden/docker-compose.yml for v1.7.4 2026-09-30 20:58:11 +02:00
3069b06b3d chore(store): sync vaultwarden/app.json for v1.7.4 2026-09-30 20:58:10 +02:00
a5c08791df chore(store): sync retroarch/docker-compose.yml for v1.7.4 2026-09-30 20:58:09 +02:00
fd590de2b9 chore(store): sync retroarch/app.json for v1.7.4 2026-09-30 20:58:08 +02:00
bf3254a11c chore(store): sync qbittorrent/docker-compose.yml for v1.7.4 2026-09-30 20:58:07 +02:00
972ab8d067 chore(store): sync qbittorrent/app.json for v1.7.4 2026-09-30 20:58:06 +02:00
ef5a5fa79d chore(store): sync portainer/docker-compose.yml for v1.7.4 2026-09-30 20:58:05 +02:00
47285428aa chore(store): sync portainer/app.json for v1.7.4 2026-09-30 20:58:03 +02:00
c1386a3d1e chore(store): sync plex/docker-compose.yml for v1.7.4 2026-09-30 20:58:01 +02:00
4317a4ce8d chore(store): sync plex/app.json for v1.7.4 2026-09-30 20:58:00 +02:00
be2a6a0574 chore(store): sync nextcloud/docker-compose.yml for v1.7.4 2026-09-30 20:57:59 +02:00
546681e4a6 chore(store): sync nextcloud/app.json for v1.7.4 2026-09-30 20:57:58 +02:00
d09658cec8 chore(store): sync jellyfin/docker-compose.yml for v1.7.4 2026-09-30 20:57:57 +02:00
05334196be chore(store): sync jellyfin/app.json for v1.7.4 2026-09-30 20:57:56 +02:00
c4cbfe2f24 chore(store): sync immich/docker-compose.yml for v1.7.4 2026-09-30 20:57:54 +02:00
f092ea2137 chore(store): sync immich/app.json for v1.7.4 2026-09-30 20:57:53 +02:00
c3a422a68c chore(store): sync homeassistant/docker-compose.yml for v1.7.4 2026-09-30 20:57:52 +02:00
a54457e9b0 chore(store): sync homeassistant/app.json for v1.7.4 2026-09-30 20:57:51 +02:00
da50082eb6 chore(store): sync adguard-home/docker-compose.yml for v1.7.4 2026-09-30 20:57:50 +02:00
b7fdf3102f chore(store): sync adguard-home/app.json for v1.7.4 2026-09-30 20:57:48 +02:00
324f152880 schema: update app-template.schema.json for v1.7.3 2026-09-30 18:37:53 +02:00
def101c0fa docs: update CONTRIBUTING_APPS.md for v1.7.3 2026-09-30 18:37:52 +02:00
55242e717b chore(store): sync vaultwarden/docker-compose.yml for v1.7.3 2026-09-30 18:37:51 +02:00
6b6d180019 chore(store): sync vaultwarden/app.json for v1.7.3 2026-09-30 18:37:50 +02:00
3036937c72 chore(store): sync retroarch/docker-compose.yml for v1.7.3 2026-09-30 18:37:49 +02:00
332c4479ad chore(store): sync retroarch/app.json for v1.7.3 2026-09-30 18:37:48 +02:00
da79d44b0a chore(store): sync qbittorrent/docker-compose.yml for v1.7.3 2026-09-30 18:37:47 +02:00
6c9bf4f590 chore(store): sync qbittorrent/app.json for v1.7.3 2026-09-30 18:37:46 +02:00
b9d358fa27 chore(store): sync portainer/docker-compose.yml for v1.7.3 2026-09-30 18:37:45 +02:00
13ccdbe74a chore(store): sync portainer/app.json for v1.7.3 2026-09-30 18:37:44 +02:00
1b6add9256 chore(store): sync plex/docker-compose.yml for v1.7.3 2026-09-30 18:37:43 +02:00
b1846b04b9 chore(store): sync plex/app.json for v1.7.3 2026-09-30 18:37:41 +02:00
a1b030d091 chore(store): sync nextcloud/docker-compose.yml for v1.7.3 2026-09-30 18:37:40 +02:00
0e9b0d09a2 chore(store): sync nextcloud/app.json for v1.7.3 2026-09-30 18:37:39 +02:00
0ccacb1f0c chore(store): sync jellyfin/docker-compose.yml for v1.7.3 2026-09-30 18:37:38 +02:00
574fffd485 chore(store): sync jellyfin/app.json for v1.7.3 2026-09-30 18:37:37 +02:00
c069820354 chore(store): sync immich/docker-compose.yml for v1.7.3 2026-09-30 18:37:36 +02:00
8a2e6d3ba5 chore(store): sync immich/app.json for v1.7.3 2026-09-30 18:37:35 +02:00
57870709cc chore(store): sync homeassistant/docker-compose.yml for v1.7.3 2026-09-30 18:37:34 +02:00
cbb7107fbc chore(store): sync homeassistant/app.json for v1.7.3 2026-09-30 18:37:33 +02:00
19866f6d00 chore(store): sync adguard-home/docker-compose.yml for v1.7.3 2026-09-30 18:37:32 +02:00
a0b53d0c0f chore(store): sync adguard-home/app.json for v1.7.3 2026-09-30 18:37:31 +02:00
44ac17fc26 schema: update app-template.schema.json for v1.7.2 2026-09-30 15:39:50 +02:00
6ab8ebd15c docs: update CONTRIBUTING_APPS.md for v1.7.2 2026-09-30 15:39:49 +02:00
c9e70f6f2b chore(store): sync vaultwarden/docker-compose.yml for v1.7.2 2026-09-30 15:39:48 +02:00
6bf5b6d438 chore(store): sync vaultwarden/app.json for v1.7.2 2026-09-30 15:39:47 +02:00
6440ccc500 chore(store): sync retroarch/docker-compose.yml for v1.7.2 2026-09-30 15:39:46 +02:00
a683e2a57e chore(store): sync retroarch/app.json for v1.7.2 2026-09-30 15:39:45 +02:00
ef4c6137a1 chore(store): sync qbittorrent/docker-compose.yml for v1.7.2 2026-09-30 15:39:44 +02:00
6c15d4987a chore(store): sync qbittorrent/app.json for v1.7.2 2026-09-30 15:39:42 +02:00
f4b58b10cb chore(store): sync portainer/docker-compose.yml for v1.7.2 2026-09-30 15:39:41 +02:00
f4aa1fcd39 chore(store): sync portainer/app.json for v1.7.2 2026-09-30 15:39:40 +02:00
aaa9865617 chore(store): sync plex/docker-compose.yml for v1.7.2 2026-09-30 15:39:39 +02:00
0ad1cc6184 chore(store): sync plex/app.json for v1.7.2 2026-09-30 15:39:38 +02:00
fce55a6fe1 chore(store): sync nextcloud/docker-compose.yml for v1.7.2 2026-09-30 15:39:36 +02:00
3976ab7899 chore(store): sync nextcloud/app.json for v1.7.2 2026-09-30 15:39:35 +02:00
5d8d054bb0 chore(store): sync jellyfin/docker-compose.yml for v1.7.2 2026-09-30 15:39:34 +02:00
bcb44de119 chore(store): sync jellyfin/app.json for v1.7.2 2026-09-30 15:39:33 +02:00
29e92dda9c chore(store): sync immich/docker-compose.yml for v1.7.2 2026-09-30 15:39:32 +02:00
53389d73fe chore(store): sync immich/app.json for v1.7.2 2026-09-30 15:39:31 +02:00
9bc101ef39 chore(store): sync homeassistant/docker-compose.yml for v1.7.2 2026-09-30 15:39:30 +02:00
cb2d2928f1 chore(store): sync homeassistant/app.json for v1.7.2 2026-09-30 15:39:29 +02:00
c94d35a9ae chore(store): sync adguard-home/docker-compose.yml for v1.7.2 2026-09-30 15:39:28 +02:00
f639df9006 chore(store): sync adguard-home/app.json for v1.7.2 2026-09-30 15:39:27 +02:00
765c7b60ac schema: update app-template.schema.json for v1.7.1 2026-09-30 12:56:52 +02:00
4544d1c76a docs: update CONTRIBUTING_APPS.md for v1.7.1 2026-09-30 12:56:51 +02:00
1ed62d3210 chore(store): sync vaultwarden/docker-compose.yml for v1.7.1 2026-09-30 12:56:49 +02:00
cc77f57a0c chore(store): sync vaultwarden/app.json for v1.7.1 2026-09-30 12:56:48 +02:00
ce8beba2f3 chore(store): sync retroarch/docker-compose.yml for v1.7.1 2026-09-30 12:56:47 +02:00
f77b83ca15 chore(store): sync retroarch/app.json for v1.7.1 2026-09-30 12:56:47 +02:00
8f192f2bb2 chore(store): sync qbittorrent/docker-compose.yml for v1.7.1 2026-09-30 12:56:45 +02:00
dc749d2b4b chore(store): sync qbittorrent/app.json for v1.7.1 2026-09-30 12:56:44 +02:00
7aecfc8807 chore(store): sync portainer/docker-compose.yml for v1.7.1 2026-09-30 12:56:43 +02:00
39c43097de chore(store): sync portainer/app.json for v1.7.1 2026-09-30 12:56:41 +02:00
4e70d197f2 chore(store): sync plex/docker-compose.yml for v1.7.1 2026-09-30 12:56:41 +02:00
a51d19777f chore(store): sync plex/app.json for v1.7.1 2026-09-30 12:56:40 +02:00
705b71b8d9 chore(store): sync nextcloud/docker-compose.yml for v1.7.1 2026-09-30 12:56:39 +02:00
136e3650e0 chore(store): sync nextcloud/app.json for v1.7.1 2026-09-30 12:56:38 +02:00
4f5ba10054 chore(store): sync jellyfin/docker-compose.yml for v1.7.1 2026-09-30 12:56:37 +02:00
4ebc955fb9 chore(store): sync jellyfin/app.json for v1.7.1 2026-09-30 12:56:36 +02:00
a670f624d9 chore(store): sync immich/docker-compose.yml for v1.7.1 2026-09-30 12:56:34 +02:00
84af094570 chore(store): sync immich/app.json for v1.7.1 2026-09-30 12:56:33 +02:00
62e22785bd chore(store): sync homeassistant/docker-compose.yml for v1.7.1 2026-09-30 12:56:32 +02:00
f619f3964a chore(store): sync homeassistant/app.json for v1.7.1 2026-09-30 12:56:31 +02:00
b5049fbad8 chore(store): sync adguard-home/docker-compose.yml for v1.7.1 2026-09-30 12:56:30 +02:00
d4942d89dc chore(store): sync adguard-home/app.json for v1.7.1 2026-09-30 12:56:29 +02:00
e6b679ed80 schema: update app-template.schema.json for v1.7.1 2026-09-30 12:44:26 +02:00
f24c05e59b docs: update CONTRIBUTING_APPS.md for v1.7.1 2026-09-30 12:44:25 +02:00
50e91a470d chore(store): sync vaultwarden/docker-compose.yml for v1.7.1 2026-09-30 12:44:24 +02:00
3ef4555baf chore(store): sync vaultwarden/app.json for v1.7.1 2026-09-30 12:44:23 +02:00
a873013967 chore(store): sync retroarch/docker-compose.yml for v1.7.1 2026-09-30 12:44:21 +02:00
83a2382115 chore(store): sync retroarch/app.json for v1.7.1 2026-09-30 12:44:20 +02:00
4b81c9a3eb chore(store): sync qbittorrent/docker-compose.yml for v1.7.1 2026-09-30 12:44:19 +02:00
b6236626a1 chore(store): sync qbittorrent/app.json for v1.7.1 2026-09-30 12:44:18 +02:00
f054034d73 chore(store): sync portainer/docker-compose.yml for v1.7.1 2026-09-30 12:44:16 +02:00
6f37aac403 chore(store): sync portainer/app.json for v1.7.1 2026-09-30 12:44:15 +02:00
ad6386032c chore(store): sync plex/docker-compose.yml for v1.7.1 2026-09-30 12:44:13 +02:00
5b3d840bd1 chore(store): sync plex/app.json for v1.7.1 2026-09-30 12:44:12 +02:00
aa2c63ca3e chore(store): sync nextcloud/docker-compose.yml for v1.7.1 2026-09-30 12:44:11 +02:00
cd800567da chore(store): sync nextcloud/app.json for v1.7.1 2026-09-30 12:44:10 +02:00
358db8fe4e chore(store): sync jellyfin/docker-compose.yml for v1.7.1 2026-09-30 12:44:08 +02:00
ba6d609a88 chore(store): sync jellyfin/app.json for v1.7.1 2026-09-30 12:44:07 +02:00
cce17eaef3 chore(store): sync immich/docker-compose.yml for v1.7.1 2026-09-30 12:44:06 +02:00
5ce7992110 chore(store): sync immich/app.json for v1.7.1 2026-09-30 12:44:05 +02:00
d355600d92 chore(store): sync homeassistant/docker-compose.yml for v1.7.1 2026-09-30 12:44:04 +02:00
c9d0cdd960 chore(store): sync homeassistant/app.json for v1.7.1 2026-09-30 12:44:02 +02:00
f679a6927a chore(store): sync adguard-home/docker-compose.yml for v1.7.1 2026-09-30 12:44:02 +02:00
22e5198c91 chore(store): sync adguard-home/app.json for v1.7.1 2026-09-30 12:44:00 +02:00
e140687828 schema: update app-template.schema.json for v1.7.0 2026-09-29 19:45:59 +02:00
81fddd20e6 docs: update CONTRIBUTING_APPS.md for v1.7.0 2026-09-29 19:45:58 +02:00
f877238962 chore(store): sync vaultwarden/docker-compose.yml for v1.7.0 2026-09-29 19:45:57 +02:00
7372b9b9e2 chore(store): sync vaultwarden/app.json for v1.7.0 2026-09-29 19:45:56 +02:00
e6a300f5a8 chore(store): sync retroarch/docker-compose.yml for v1.7.0 2026-09-29 19:45:55 +02:00
5491a3a92f chore(store): sync retroarch/app.json for v1.7.0 2026-09-29 19:45:53 +02:00
c703b29fed chore(store): sync qbittorrent/docker-compose.yml for v1.7.0 2026-09-29 19:45:52 +02:00
4fd9e2a11e chore(store): sync qbittorrent/app.json for v1.7.0 2026-09-29 19:45:51 +02:00
e0dab0c272 chore(store): sync portainer/docker-compose.yml for v1.7.0 2026-09-29 19:45:50 +02:00
b94ed546a6 chore(store): sync portainer/app.json for v1.7.0 2026-09-29 19:45:49 +02:00
45affb50b7 chore(store): sync plex/docker-compose.yml for v1.7.0 2026-09-29 19:45:48 +02:00
bdfade497b chore(store): sync plex/app.json for v1.7.0 2026-09-29 19:45:46 +02:00
8fe7577eae chore(store): sync nextcloud/docker-compose.yml for v1.7.0 2026-09-29 19:45:45 +02:00
02403552f4 chore(store): sync nextcloud/app.json for v1.7.0 2026-09-29 19:45:43 +02:00
62063da2d7 chore(store): sync jellyfin/docker-compose.yml for v1.7.0 2026-09-29 19:45:41 +02:00
d43f85de3f chore(store): sync jellyfin/app.json for v1.7.0 2026-09-29 19:45:40 +02:00
0dd99c559e chore(store): sync immich/docker-compose.yml for v1.7.0 2026-09-29 19:45:38 +02:00
7930d13af1 chore(store): sync immich/app.json for v1.7.0 2026-09-29 19:45:35 +02:00
80fce2005d chore(store): sync homeassistant/docker-compose.yml for v1.7.0 2026-09-29 19:45:33 +02:00
155634429c chore(store): sync homeassistant/app.json for v1.7.0 2026-09-29 19:45:31 +02:00
8604aa2e09 chore(store): sync adguard-home/docker-compose.yml for v1.7.0 2026-09-29 19:45:25 +02:00
41222212a5 chore(store): sync adguard-home/app.json for v1.7.0 2026-09-29 19:45:22 +02:00
22 changed files with 1126 additions and 49 deletions

View File

@@ -4,6 +4,24 @@ Merci de contribuer à l'écosystème **Irbis OS** ! ❄️
L'App Store d'Irbis OS est conçu pour permettre à la communauté de proposer de nouvelles applications conteneurisées (Docker) via une simple **Pull Request** sur notre dépôt public Gitea : **[https://git.nebulia.tech/SlyderSlash/Irbis_OS-Release](https://git.nebulia.tech/SlyderSlash/Irbis_OS-Release)**.
Dès que votre Pull Request est validée et fusionnée sur ce dépôt public, votre application apparaît **instantanément dans l'App Store de tous les serveurs Irbis OS connectés**, sans qu'aucune mise à jour de l'OS ne soit nécessaire !
---
## 📁 Nouvelle Architecture : 1 Dossier par Application
Chaque application possède son propre sous-dossier dans `community_apps/` nommé selon son identifiant en minuscules :
```text
community_apps/
└── mon-application/
├── app.json # Fiche descriptive de l'application & paramètres UI
├── docker-compose.yml # Stack Docker technique (services, images, réseaux, volumes)
├── icon.png # Image de garde (icône PNG ou SVG carré)
├── screenshot1.png # Capture d'écran de démo #1
└── screenshot2.png # Capture d'écran de démo #2
```
---
## 📋 Comment proposer une nouvelle application ?
@@ -13,79 +31,100 @@ L'App Store d'Irbis OS est conçu pour permettre à la communauté de proposer d
git checkout -b app/mon-application
```
2. **Créez un fichier JSON** dans le dossier `community_apps/` nommé selon l'identifiant de votre application en minuscules (ex: `community_apps/mon-application.json`).
2. **Créez un dossier** dans `community_apps/` au nom de votre application en minuscules (ex: `community_apps/mon-application/`).
3. **Remplissez la définition** en suivant le schéma officiel [`schemas/app-template.schema.json`](./schemas/app-template.schema.json).
3. **Créez le fichier `app.json`** en vous basant sur le modèle ci-dessous et le schéma officiel [`schemas/app-template.schema.json`](./schemas/app-template.schema.json).
4. **Validez localement** votre fichier avec la commande :
4. **Créez le fichier `docker-compose.yml`** contenant la définition officielle de vos conteneurs. Toutes les informations techniques lourdes (images, réseaux, restart policy) sont déléguées à ce fichier Docker Compose afin de ne pas doubler les demandes.
5. **Ajoutez vos visuels** dans le dossier (`icon.png` et les éventuelles captures de démo).
6. **Validez localement** votre application avec la commande :
```bash
pnpm validate:apps
```
5. **Ouvrez votre Pull Request** sur Gitea (`https://git.nebulia.tech/SlyderSlash/Irbis_OS-Release/pulls`) en décrivant brièvement l'application et en confirmant qu'elle a été testée localement sur Irbis OS. Dès que la PR est validée et fusionnée, l'application apparaît automatiquement dans l'App Store de tous les serveurs Irbis OS connectés !
7. **Ouvrez votre Pull Request** sur Gitea (`https://git.nebulia.tech/SlyderSlash/Irbis_OS-Release/pulls`).
---
## 🛠️ Structure du fichier JSON d'une application
Voici un modèle complet commenté :
## 🛠️ 1. Modèle de `app.json`
```json
{
"$schema": "../schemas/app-template.schema.json",
"$schema": "../../schemas/app-template.schema.json",
"id": "mon-application",
"name": "Mon Application",
"tagline": "Une phrase d'accroche courte et percutante (max 150 caractères)",
"description": "Description concise de l'application affichée sur la vignette du magasin.",
"description": "Description concise affichée sur la vignette du magasin.",
"longDescription": "Description détaillée expliquant les fonctionnalités principales, les cas d'usage et les avantages pour un serveur NAS ou Home Lab.",
"icon": "https://example.com/logo-mon-application.png",
"screenshots": [
"https://example.com/screenshot1.png"
],
"category": "productivity",
"version": "1.0.0",
"developer": "Nom du Créateur ou Projet Open Source",
"developer": "Nom du Développeur ou Équipe Open Source",
"website": "https://mon-application.org",
"rating": 4.9,
"downloads": "500K",
"sizeMb": 250,
"downloads": "250K",
"sizeMb": 180,
"license": "MIT",
"image": "mon-organisation/mon-application:latest",
"defaultPort": 8080,
"icon": "icon.png",
"screenshots": [
"screenshot1.png",
"screenshot2.png"
],
"firstStartTip": "Lors du premier accès, utilisez l'identifiant par défaut 'admin' et suivez l'assistant de configuration initial pour sécuriser vos accès.",
"composeFile": "docker-compose.yml",
"nginx": {
"recommendedSubdomain": "monapp",
"enableSsl": true,
"mainPort": 80
},
"ports": [
{
"privatePort": 8080,
"name": "Interface Web",
"description": "Port HTTP principal d'administration",
"privatePort": 80,
"defaultPublicPort": 8080,
"description": "Interface Web d'administration",
"type": "tcp"
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": true
},
{
"name": "API & WebSocket",
"description": "Flux temps réel et synchronisation",
"privatePort": 3000,
"defaultPublicPort": 3000,
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": false
}
],
"volumes": [
{
"defaultHostPath": "/mnt/storage/mon-application/data",
"containerPath": "/data",
"description": "Dossier de stockage persistant",
"description": "Données persistantes de l'application",
"required": true
},
{
"defaultHostPath": "/mnt/storage/configs/mon-application",
"containerPath": "/config",
"description": "Fichiers de configuration",
"required": false
}
],
"env": [
{
"key": "ADMIN_USER",
"defaultValue": "admin",
"label": "Nom d'utilisateur administrateur",
"required": true
},
{
"key": "TZ",
"defaultValue": "Europe/Paris",
"label": "Fuseau Horaire",
"label": "Fuseau horaire",
"required": false
},
{
"key": "ADMIN_PASSWORD",
"defaultValue": "",
"label": "Mot de passe administrateur initial",
"required": true
}
]
}
@@ -93,22 +132,30 @@ Voici un modèle complet commenté :
---
## 🏷️ Catégories supportées
## 🐳 2. Modèle de `docker-compose.yml`
- `media` : Streaming, serveurs multimédia (Plex, Jellyfin, Navidrome...)
- `cloud` : Stockage distant, synchronisation (Nextcloud, Owncloud, Seafile...)
- `productivity` : Bureautique, notes, automatisation (Home Assistant, N8N...)
- `security` : Mots de passe, VPN, gestionnaires de secrets (Vaultwarden, WireGuard...)
- `utilities` : Téléchargements, sauvegardes, bases de données (qBittorrent, Duplicati...)
- `development` : Outils de dev, IDE web, CI/CD (Gitea, Code-Server...)
- `home_automation` : Domotique, gestion IoT (Zigbee2MQTT, Node-RED...)
- `network` : Serveurs DNS, proxys, pare-feu (AdGuard Home, Nginx Proxy Manager...)
```yaml
services:
mon-application:
image: mon-organisation/mon-application:latest
container_name: mon-application
restart: unless-stopped
ports:
- "${MON_APP_PORT:-8080}:80"
- "${MON_APP_API_PORT:-3000}:3000"
volumes:
- "${MON_APP_DATA_PATH:-/mnt/storage/mon-application/data}:/data"
environment:
- ADMIN_USER=${ADMIN_USER:-admin}
- TZ=${TZ:-Europe/Paris}
```
---
## 🔒 Règles et Bonnes Pratiques
## 🔒 3. Critères d'Acceptation d'une Pull Request
- **Images Docker vérifiées** : Utilisez de préférence les images officielles Docker Hub ou LinuxServer.io (`lscr.io/linuxserver/...`, `ghcr.io/...`).
- **Chemins de volumes** : Les chemins hôtes par défaut doivent impérativement commencer par `/mnt/storage/` afin d'exploiter la partition de stockage principale du NAS.
- **Ports sans collision** : Veillez à ce que le `defaultPort` n'entre pas en conflit direct avec les services système fondamentaux d'Irbis OS (`4000`, `22`, `80`, `443`).
- **Icône de qualité** : Fournissez une URL HTTPS directe vers une image PNG ou SVG au format carré (au moins 128x128 px).
Pour être validée et publiée, toute application doit :
- Utiliser une image Docker publique, réputée et maintenue.
- Ne pas nécessiter de droits root privilégiés (`privileged: true`) sauf besoin matériel justifié.
- Persister ses données sous `/mnt/storage/<id>/` pour garantir la compatibilité avec les snapshots Btrfs et les sauvegardes du NAS.
- Être validée avec succès par `pnpm validate:apps`.

View File

@@ -0,0 +1,76 @@
{
"$schema": "../../schemas/app-template.schema.json",
"id": "adguard-home",
"name": "AdGuard Home",
"tagline": "Serveur DNS anti-publicités et protection réseau",
"description": "Bloquez les publicités, trackers et logiciels malveillants sur l'ensemble de votre réseau local sans installer d'extension.",
"longDescription": "AdGuard Home fonctionne comme un résolveur DNS local qui redirige les domaines publicitaires et espions vers un trou noir. Contrôle parental, chiffrement DNS-over-HTTPS (DoH) et DNS-over-TLS (DoT) intégrés.",
"category": "network",
"version": "v0.107.52",
"developer": "AdGuard",
"website": "https://adguard.com/adguard-home.html",
"rating": 4.9,
"downloads": "2.1M",
"sizeMb": 95,
"license": "GPLv3",
"icon": "https://lh3.googleusercontent.com/aida-public/AB6AXuCBj60zmHuzKE1qGtiHzWbH-r-GphCWZzJ38IEgFQU7bjZjZVmDasLyDQNkw6nx7k_z-fil8QsDR_6FGAMYzV3ZUSkadmoELAxpSLzc3zM5mejhGTJaO4PnPmSGwz0l6PfEEC7JSWREk2-ZVqjW9ZCmNrmYsYsjseUJD1eMZgaCxJbM6T6WXvSkkpq3V2P8jR-aAhVNkcQWyaS7R1wYwS7jHi5ZJEpJ_HxYwCaUmsXCXkzlEB1x8zCH8Wc5zee3oPoZQMw",
"screenshots": [],
"firstStartTip": "Accédez au port 3000 lors du premier lancement pour suivre l'assistant d'installation et configurer vos règles de filtrage.",
"composeFile": "docker-compose.yml",
"nginx": {
"recommendedSubdomain": "adguard",
"enableSsl": true,
"mainPort": 80
},
"ports": [
{
"name": "Assistant Initial",
"description": "Assistant de bienvenue",
"privatePort": 3000,
"defaultPublicPort": 3000,
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": false
},
{
"name": "Web UI",
"description": "Tableau de bord d'administration",
"privatePort": 80,
"defaultPublicPort": 8086,
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": true
},
{
"name": "Serveur DNS",
"description": "Port DNS standard",
"privatePort": 53,
"defaultPublicPort": 53,
"type": "udp",
"protocol": "udp",
"isDefaultNginxTarget": false
}
],
"volumes": [
{
"defaultHostPath": "/mnt/storage/configs/adguard/work",
"containerPath": "/opt/adguardhome/work",
"description": "Statistiques et base de données de filtrage",
"required": true
},
{
"defaultHostPath": "/mnt/storage/configs/adguard/conf",
"containerPath": "/opt/adguardhome/conf",
"description": "Configuration YAML AdGuard",
"required": true
}
],
"env": [
{
"key": "TZ",
"defaultValue": "Europe/Paris",
"label": "Fuseau Horaire",
"required": false
}
]
}

View File

@@ -0,0 +1,12 @@
services:
adguard-home:
image: adguard/adguardhome:latest
container_name: adguard-home
restart: unless-stopped
ports:
- "${ADGUARD_SETUP_PORT:-3000}:3000"
- "${ADGUARD_WEBUI_PORT:-8086}:80"
- "53:53/udp"
volumes:
- "${ADGUARD_WORK_PATH:-/mnt/storage/adguard/work}:/opt/adguardhome/work"
- "${ADGUARD_CONF_PATH:-/mnt/storage/adguard/conf}:/opt/adguardhome/conf"

View File

@@ -0,0 +1,52 @@
{
"$schema": "../../schemas/app-template.schema.json",
"id": "homeassistant",
"name": "Home Assistant",
"tagline": "Domotique open-source et automatisation résidentielle locale",
"description": "Contrôlez vos objets connectés et automatisez votre maison avec un respect total de la vie privée.",
"longDescription": "Home Assistant est la référence de la domotique open-source axée sur le contrôle local et la confidentialité. Compatible avec Zigbee, Z-Wave, Matter, Thread, Philips Hue, Shelly et plus de 2000 intégrations.",
"category": "productivity",
"version": "2024.9.0",
"developer": "Nabu Casa",
"website": "https://home-assistant.io",
"rating": 4.9,
"downloads": "1.8M",
"sizeMb": 720,
"license": "Apache-2.0",
"icon": "https://lh3.googleusercontent.com/aida/AEtjO1WjnP_HXgGADBVTJOn5RqmjguJrbPFWKEFCaOvwv0rLwfj-RewhnFICVeVLWTXcCYR1nMfkOUpyJElogpPjD1PF6RQyGuTXroITu211LaHhu0Pq5PUMn5aOUz8XpZGyLRhjqL4MLwIS4ysK6TVBwcJGwTJ3Nnqh3Gn3ZR4jpzGO3DE8eNOvTgqJo8JDbJVKulZpsp8P--d3l1xIdRpEZkVvl_H_ESPZ5iI0Pwe_w3X8iUuv3PmxIrM75fM",
"screenshots": [],
"firstStartTip": "La découverte automatique des appareils de votre réseau local démarrera dès que vous aurez créé votre compte administrateur.",
"composeFile": "docker-compose.yml",
"nginx": {
"recommendedSubdomain": "domotique",
"enableSsl": true,
"mainPort": 8123
},
"ports": [
{
"name": "Web UI",
"description": "Interface Web Lovelace",
"privatePort": 8123,
"defaultPublicPort": 8123,
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": true
}
],
"volumes": [
{
"defaultHostPath": "/mnt/storage/configs/homeassistant",
"containerPath": "/config",
"description": "Fichiers YAML et intégrations",
"required": true
}
],
"env": [
{
"key": "TZ",
"defaultValue": "Europe/Paris",
"label": "Fuseau Horaire",
"required": false
}
]
}

View File

@@ -0,0 +1,11 @@
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
container_name: homeassistant
restart: unless-stopped
ports:
- "${HASS_PORT:-8123}:8123"
volumes:
- "${HASS_CONFIG_PATH:-/mnt/storage/homeassistant}:/config"
environment:
- TZ=${TZ:-Europe/Paris}

View File

@@ -0,0 +1,64 @@
{
"$schema": "../../schemas/app-template.schema.json",
"id": "immich",
"name": "Immich",
"tagline": "Solution de sauvegarde et gestion de photos auto-hébergée haute performance",
"description": "Alternative moderne à Google Photos avec reconnaissance faciale IA, géolocalisation et sauvegarde mobile transparente.",
"longDescription": "Immich est une solution ultra-rapide de sauvegarde et de gestion de photos et vidéos conçue pour les serveurs NAS. Elle intègre des algorithmes d'apprentissage automatique pour la détection des visages, la recherche sémantique par mots-clés et l'affichage chronologique instantané.",
"category": "media",
"version": "v1.118.0",
"developer": "FUTO / Immich Team",
"website": "https://immich.app",
"rating": 4.9,
"downloads": "1.4M",
"sizeMb": 850,
"license": "AGPLv3",
"icon": "https://lh3.googleusercontent.com/aida-public/AB6AXuAy_b2LhyUHS-M_nrXk8hHugSt-bppiAhq8zmutrhlxbvrjvwluPLGolxCoPWALQt6I66jPVrEiIrrbDLH_mmuKSriJLUOGh2dYOlGA6lgfXNQEYKHSektq5UmPU0lLaG6u8TWE9m9VDeQM2MwD_jSg60NFvQUNwYRkgJzt0Fj-HFrAI401LhBpZIXikMI1JR9k2-GL2qIOnbNYWqc8tRiQ2zPvJDlJ_wYmNMeGdv-Rfg89FEBjuKA9_g",
"screenshots": [],
"firstStartTip": "Téléchargez l'application mobile Immich (iOS / Android) et connectez-vous avec l'URL de votre serveur pour activer la sauvegarde automatique de vos photos.",
"composeFile": "docker-compose.yml",
"nginx": {
"recommendedSubdomain": "photos",
"enableSsl": true,
"mainPort": 2283
},
"ports": [
{
"name": "Web UI & API",
"description": "Interface Web et API mobile",
"privatePort": 2283,
"defaultPublicPort": 2283,
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": true
}
],
"volumes": [
{
"defaultHostPath": "/mnt/storage/photos",
"containerPath": "/usr/src/app/upload",
"description": "Dossier de stockage principal des photos",
"required": true
},
{
"defaultHostPath": "/mnt/storage/database/immich",
"containerPath": "/var/lib/postgresql/data",
"description": "Base de données PostgreSQL/pgvector",
"required": true
}
],
"env": [
{
"key": "DB_DATABASE_NAME",
"defaultValue": "immich",
"label": "Nom de base de données",
"required": true
},
{
"key": "TZ",
"defaultValue": "Europe/Paris",
"label": "Fuseau Horaire",
"required": false
}
]
}

View File

@@ -0,0 +1,13 @@
services:
immich:
image: ghcr.io/immich-app/immich-server:release
container_name: immich
restart: unless-stopped
ports:
- "${IMMICH_PORT:-2283}:2283"
volumes:
- "${IMMICH_PHOTOS_PATH:-/mnt/storage/photos}:/usr/src/app/upload"
- "${IMMICH_DB_PATH:-/mnt/storage/database/immich}:/var/lib/postgresql/data"
environment:
- DB_DATABASE_NAME=${DB_DATABASE_NAME:-immich}
- TZ=${TZ:-Europe/Paris}

View File

@@ -0,0 +1,58 @@
{
"$schema": "../../schemas/app-template.schema.json",
"id": "jellyfin",
"name": "Jellyfin Media Server",
"tagline": "Système multimédia 100% open-source sans abonnement",
"description": "Streamez tous vos films, séries, musiques et livres audio sur n'importe quel appareil sans tracking ni frais.",
"longDescription": "Jellyfin est le système multimédia gratuit qui vous donne le contrôle total de vos médias. Aucune formule payante, aucune collecte de données télémétriques, transcodage matériel Nvidia/Intel/VAAPI inclus.",
"category": "media",
"version": "10.9.11",
"developer": "Jellyfin Project",
"website": "https://jellyfin.org",
"rating": 4.9,
"downloads": "1.1M",
"sizeMb": 390,
"license": "GPLv2",
"icon": "https://lh3.googleusercontent.com/aida-public/AB6AXuAy_b2LhyUHS-M_nrXk8hHugSt-bppiAhq8zmutrhlxbvrjvwluPLGolxCoPWALQt6I66jPVrEiIrrbDLH_mmuKSriJLUOGh2dYOlGA6lgfXNQEYKHSektq5UmPU0lLaG6u8TWE9m9VDeQM2MwD_jSg60NFvQUNwYRkgJzt0Fj-HFrAI401LhBpZIXikMI1JR9k2-GL2qIOnbNYWqc8tRiQ2zPvJDlJ_wYmNMeGdv-Rfg89FEBjuKA9_g",
"screenshots": [],
"firstStartTip": "Suivez l'assistant de configuration initial pour désigner vos dossiers de films, séries et musiques situés sur /mnt/storage.",
"composeFile": "docker-compose.yml",
"nginx": {
"recommendedSubdomain": "media",
"enableSsl": true,
"mainPort": 8096
},
"ports": [
{
"name": "Web UI",
"description": "Interface Web Jellyfin HTTP",
"privatePort": 8096,
"defaultPublicPort": 8096,
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": true
}
],
"volumes": [
{
"defaultHostPath": "/mnt/storage/media",
"containerPath": "/media",
"description": "Dossier de stockage des médias",
"required": true
},
{
"defaultHostPath": "/mnt/storage/configs/jellyfin",
"containerPath": "/config",
"description": "Configurations & Cache",
"required": true
}
],
"env": [
{
"key": "JELLYFIN_PUBLISHED_SERVER_URL",
"defaultValue": "",
"label": "URL publique du serveur",
"required": false
}
]
}

View File

@@ -0,0 +1,12 @@
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
ports:
- "${JELLYFIN_PORT:-8096}:8096"
volumes:
- "${JELLYFIN_CONFIG_PATH:-/mnt/storage/jellyfin/config}:/config"
- "${JELLYFIN_MEDIA_PATH:-/mnt/storage/media}:/media"
environment:
- TZ=${TZ:-Europe/Paris}

View File

@@ -0,0 +1,64 @@
{
"$schema": "../../schemas/app-template.schema.json",
"id": "nextcloud",
"name": "Nextcloud Hub",
"tagline": "Suite collaborative complète et cloud souverain privé",
"description": "Stockage de fichiers sécurisé, partage, agenda, contacts, suite bureautique et synchronisation multi-appareils.",
"longDescription": "Nextcloud Hub offre une plateforme de productivité sécurisée et souveraine sur votre propre matériel. Synchronisez automatiquement vos documents, photos et projets en toute confidentialité avec chiffrement de bout en bout.",
"category": "cloud",
"version": "29.0.5",
"developer": "Nextcloud GmbH",
"website": "https://nextcloud.com",
"rating": 4.9,
"downloads": "3.2M",
"sizeMb": 520,
"license": "AGPLv3",
"icon": "https://lh3.googleusercontent.com/aida/AEtjO1VKuphtTswgrzdubG5GP40se6rWNSEDBpT8yQaRKXCe1I4viol3q2Mf8MfVnMl7zLeHPaLKIKYiHxqE3e6wDEch1xMM4UL64N6nb-g1TaPZKldlBTdBl13Acbg7Yj1S1nRZWEToR6HcqdipU2wKDL3OJskj2RDyhWO0eQ_WsjGevNiB8CJ8l76mcBY6Oq1LEEqcg6NuUArWe5tV-wEYlnf33Rpdz5hwAK8J3giORtJIW5ewwRdW",
"screenshots": [],
"firstStartTip": "Lors de la première ouverture, créez votre compte administrateur. Vos fichiers sont automatiquement sauvegardés sur /mnt/storage/cloud.",
"composeFile": "docker-compose.yml",
"nginx": {
"recommendedSubdomain": "cloud",
"enableSsl": true,
"mainPort": 80
},
"ports": [
{
"name": "Interface Web",
"description": "Port HTTP Nextcloud",
"privatePort": 80,
"defaultPublicPort": 8080,
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": true
}
],
"volumes": [
{
"defaultHostPath": "/mnt/storage/cloud/data",
"containerPath": "/var/www/html/data",
"description": "Répertoire des fichiers utilisateurs",
"required": true
},
{
"defaultHostPath": "/mnt/storage/cloud/config",
"containerPath": "/var/www/html/config",
"description": "Configuration du serveur",
"required": true
}
],
"env": [
{
"key": "MYSQL_DATABASE",
"defaultValue": "nextcloud",
"label": "Base de données",
"required": true
},
{
"key": "OVERWRITEPROTOCOL",
"defaultValue": "https",
"label": "Protocole forcé",
"required": false
}
]
}

View File

@@ -0,0 +1,13 @@
services:
nextcloud:
image: nextcloud:apache
container_name: nextcloud
restart: unless-stopped
ports:
- "${NEXTCLOUD_PORT:-8080}:80"
volumes:
- "${NEXTCLOUD_DATA_PATH:-/mnt/storage/cloud/data}:/var/www/html/data"
- "${NEXTCLOUD_CONFIG_PATH:-/mnt/storage/cloud/config}:/var/www/html/config"
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE:-nextcloud}
- OVERWRITEPROTOCOL=${OVERWRITEPROTOCOL:-https}

View File

@@ -0,0 +1,70 @@
{
"$schema": "../../schemas/app-template.schema.json",
"id": "plex",
"name": "Plex Media Server",
"tagline": "Plateforme multimédia de streaming personnel et transcodage",
"description": "Organisez vos collections vidéo et audio avec transcodage matériel haute définition et accès à distance.",
"longDescription": "Plex organise vos vidéos, musiques et photos et vous permet de les diffuser sur smart TV, smartphones, tablettes et ordinateurs avec récupération automatique des jaquettes et résumés.",
"category": "media",
"version": "1.40.4",
"developer": "Plex Inc.",
"website": "https://plex.tv",
"rating": 4.8,
"downloads": "2.5M",
"sizeMb": 450,
"license": "Propriétaire",
"icon": "https://lh3.googleusercontent.com/aida-public/AB6AXuDie89CF9NDXhXh2iF45jSzhlPVthvKISdkuigCYrgE2MDuWB9vM5PDXW9YveUs6cYM3N7jcJeIc65oJA0o3RdU7zkxBxfMyrkY-ptnzW0oXmrabRFTNjb-yZhouMULt5WPh6VkbJikBwx4UlY-w5Nq9Dgn1HpG2n9VQQ_gC9mX38oC3J2PucdHllx8ar_NpLd5VwRI76ay0YCV8fwy9-B8MdkeDjvKcCn4ty9O5_te_7Cj32fLFDH8eQ",
"screenshots": [],
"firstStartTip": "Connectez votre compte Plex et associez votre serveur pour profiter du transcodage et de l'accès distant.",
"composeFile": "docker-compose.yml",
"nginx": {
"recommendedSubdomain": "plex",
"enableSsl": true,
"mainPort": 32400
},
"ports": [
{
"name": "Web UI",
"description": "Interface Web Plex",
"privatePort": 32400,
"defaultPublicPort": 32400,
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": true
}
],
"volumes": [
{
"defaultHostPath": "/mnt/storage/media/movies",
"containerPath": "/movies",
"description": "Films & Vidéos",
"required": true
},
{
"defaultHostPath": "/mnt/storage/media/tv",
"containerPath": "/tv",
"description": "Séries TV",
"required": true
},
{
"defaultHostPath": "/mnt/storage/configs/plex",
"containerPath": "/config",
"description": "Métadonnées et base Plex",
"required": true
}
],
"env": [
{
"key": "VERSION",
"defaultValue": "docker",
"label": "Version channel",
"required": false
},
{
"key": "PLEX_CLAIM",
"defaultValue": "",
"label": "Code Claim Plex.tv",
"required": false
}
]
}

View File

@@ -0,0 +1,14 @@
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
restart: unless-stopped
ports:
- "${PLEX_PORT:-32400}:32400"
volumes:
- "${PLEX_CONFIG_PATH:-/mnt/storage/plex/config}:/config"
- "${PLEX_MEDIA_PATH:-/mnt/storage/media}:/media"
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ:-Europe/Paris}

View File

@@ -0,0 +1,51 @@
{
"$schema": "../../schemas/app-template.schema.json",
"id": "portainer",
"name": "Portainer CE",
"tagline": "Gestionnaire et tableau de bord de conteneurs Docker",
"description": "Interface graphique intuitive pour gérer vos conteneurs, images, volumes et réseaux Docker.",
"longDescription": "Portainer Community Edition est l'outil visuel le plus populaire pour gérer facilement les environnements Docker. Déployez des stacks Docker Compose, visualisez les logs en temps réel et surveillez l'utilisation des ressources.",
"category": "utilities",
"version": "2.21.3",
"developer": "Portainer.io",
"website": "https://portainer.io",
"rating": 4.9,
"downloads": "4.5M",
"sizeMb": 280,
"license": "zlib",
"icon": "https://lh3.googleusercontent.com/aida/AEtjO1VKuphtTswgrzdubG5GP40se6rWNSEDBpT8yQaRKXCe1I4viol3q2Mf8MfVnMl7zLeHPaLKIKYiHxqE3e6wDEch1xMM4UL64N6nb-g1TaPZKldlBTdBl13Acbg7Yj1S1nRZWEToR6HcqdipU2wKDL3OJskj2RDyhWO0eQ_WsjGevNiB8CJ8l76mcBY6Oq1LEEqcg6NuUArWe5tV-wEYlnf33Rpdz5hwAK8J3giORtJIW5ewwRdW",
"screenshots": [],
"firstStartTip": "Créez votre mot de passe administrateur dans les 5 minutes suivant le premier démarrage pour sécuriser l'accès.",
"composeFile": "docker-compose.yml",
"nginx": {
"recommendedSubdomain": "portainer",
"enableSsl": true,
"mainPort": 9443
},
"ports": [
{
"name": "Web UI",
"description": "Interface d'administration HTTPS",
"privatePort": 9443,
"defaultPublicPort": 9443,
"type": "tcp",
"protocol": "https",
"isDefaultNginxTarget": true
}
],
"volumes": [
{
"defaultHostPath": "/var/run/docker.sock",
"containerPath": "/var/run/docker.sock",
"description": "Socket Docker de l'hôte",
"required": true
},
{
"defaultHostPath": "/mnt/storage/configs/portainer",
"containerPath": "/data",
"description": "Données et configuration de Portainer",
"required": true
}
],
"env": []
}

View File

@@ -0,0 +1,10 @@
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped
ports:
- "${PORTAINER_PORT:-9443}:9443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "${PORTAINER_DATA_PATH:-/mnt/storage/portainer/data}:/data"

View File

@@ -0,0 +1,58 @@
{
"$schema": "../../schemas/app-template.schema.json",
"id": "qbittorrent",
"name": "qBittorrent Web",
"tagline": "Client BitTorrent haute performance avec interface web",
"description": "Téléchargez vos fichiers et distributions Linux avec gestion avancée des vitesses et planificateur.",
"longDescription": "Client BitTorrent open source écrit en C++ avec interface web réactive, support du chiffrement, gestion des flux RSS et moteur de recherche intégré.",
"category": "utilities",
"version": "4.6.6",
"developer": "qBittorrent Project",
"website": "https://qbittorrent.org",
"rating": 4.8,
"downloads": "1.3M",
"sizeMb": 110,
"license": "GPLv2",
"icon": "https://lh3.googleusercontent.com/aida-public/AB6AXuCT_RD64GcIA6XYx304uhwSN58YeNQYcgKoGBcwIaVjUusiCgx6GeRuwQ8D58ToYJhxmiS-mJynVz630mZ3kT1bgJe4-qtEbJsMWZYSIxb7aPk-Q3zpoDxfBkEk3vrUM1qznvIDP6KMVounJoAVpka5oKZSrk6pZxlXV3mIMg5yDNqkD39D_Fg4tTStU2T5k2F1SyIYrHRcyAswaevLJDGxlEujRu6GP1CadLUl9gul1c4MheqSMKE4eg",
"screenshots": [],
"firstStartTip": "Identifiants par défaut : Nom d'utilisateur 'admin' et mot de passe temporaire affiché dans les logs du conteneur.",
"composeFile": "docker-compose.yml",
"nginx": {
"recommendedSubdomain": "torrents",
"enableSsl": true,
"mainPort": 8080
},
"ports": [
{
"name": "Web UI",
"description": "Interface Web qBittorrent",
"privatePort": 8080,
"defaultPublicPort": 8085,
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": true
}
],
"volumes": [
{
"defaultHostPath": "/mnt/storage/downloads",
"containerPath": "/downloads",
"description": "Dossier des téléchargements",
"required": true
},
{
"defaultHostPath": "/mnt/storage/configs/qbittorrent",
"containerPath": "/config",
"description": "Configuration client",
"required": true
}
],
"env": [
{
"key": "WEBUI_PORT",
"defaultValue": "8080",
"label": "Port interne WebUI",
"required": false
}
]
}

View File

@@ -0,0 +1,17 @@
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
restart: unless-stopped
security_opt:
- apparmor:unconfined
ports:
- "${QBIT_WEBUI_PORT:-8085}:8080"
volumes:
- "${QBIT_CONFIG_PATH:-/mnt/storage/qbittorrent/config}:/config"
- "${QBIT_DOWNLOADS_PATH:-/mnt/storage/downloads}:/downloads"
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ:-Europe/Paris}
- WEBUI_PORT=8080

View File

@@ -0,0 +1,79 @@
{
"$schema": "../../schemas/app-template.schema.json",
"id": "retroarch",
"name": "RetroArch Cloud Gaming",
"tagline": "Émulateur multi-système avec streaming Web & saves serveur",
"description": "Jouez à vos classiques rétro (SNES, GBA, PS1, Mega Drive, Arcade) directement dans votre navigateur avec vos sauvegardes centralisées sur Irbis OS.",
"longDescription": "RetroArch est le frontend de référence pour les émulateurs de jeux vidéo. Cette intégration Docker conteneurisée pour Irbis OS permet de lancer vos jeux stockés sur le serveur tout en conservant toutes vos sauvegardes et savestates sur votre NAS, avec accès web KasmVNC/WebGL et support complet des manettes de jeu.",
"category": "media",
"version": "1.19.1",
"developer": "Libretro Team",
"website": "https://www.retroarch.com",
"rating": 4.9,
"downloads": "850K",
"sizeMb": 420,
"license": "GPLv3",
"icon": "/icons/apps/app_retroarch.webp",
"screenshots": [],
"firstStartTip": "Ouvrez l'application Irbis Games pour configurer votre dossier de jeux et lancer vos ROMs d'un simple clic.",
"image": "lscr.io/linuxserver/retroarch:latest",
"composeFile": "docker-compose.yml",
"nginx": {
"recommendedSubdomain": "games",
"enableSsl": true,
"mainPort": 3000
},
"ports": [
{
"name": "Web UI",
"description": "Interface Web RetroArch KasmVNC HTTP",
"privatePort": 3000,
"defaultPublicPort": 3000,
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": true
},
{
"name": "HTTPS UI",
"description": "Interface Web RetroArch HTTPS",
"privatePort": 3001,
"defaultPublicPort": 3001,
"type": "tcp",
"protocol": "https"
}
],
"volumes": [
{
"defaultHostPath": "/mnt/storage/games/roms",
"containerPath": "/roms",
"description": "Dossier des ROMs de jeux",
"required": true
},
{
"defaultHostPath": "/mnt/storage/games/saves",
"containerPath": "/saves",
"description": "Dossier des sauvegardes de jeux",
"required": true
},
{
"defaultHostPath": "/mnt/storage/configs/retroarch",
"containerPath": "/config",
"description": "Configuration & Cores RetroArch",
"required": true
}
],
"env": [
{
"key": "CUSTOM_USER",
"defaultValue": "",
"label": "Utilisateur KasmVNC (Optionnel)",
"required": false
},
{
"key": "PASSWORD",
"defaultValue": "",
"label": "Mot de passe Web (Optionnel)",
"required": false
}
]
}

View File

@@ -0,0 +1,32 @@
services:
retroarch:
image: lscr.io/linuxserver/retroarch:latest
container_name: retroarch
restart: unless-stopped
security_opt:
- seccomp:unconfined
- apparmor:unconfined
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ:-Europe/Paris}
- CUSTOM_USER=${CUSTOM_USER:-}
- PASSWORD=${PASSWORD:-}
- CUSTOM_RES_W=${CUSTOM_RES_W:-1280}
- CUSTOM_RES_H=${CUSTOM_RES_H:-720}
- WIDTH=${WIDTH:-1280}
- HEIGHT=${HEIGHT:-720}
- VNC_RESOLUTION=${VNC_RESOLUTION:-1280x720}
- FRAME_RATE=${FRAME_RATE:-60}
- KASM_SVC_ENCODER_FPS=${KASM_SVC_ENCODER_FPS:-60}
- NO_FULL=true
volumes:
- "${RETROARCH_CONFIG_PATH:-/mnt/storage/configs/retroarch}:/config"
- "${RETROARCH_ROMS_PATH:-/mnt/storage/games/roms}:/roms"
- "${RETROARCH_SAVES_PATH:-/mnt/storage/games/saves}:/saves"
- "${RETROARCH_STATES_PATH:-/mnt/storage/games/states}:/states"
- "${RETROARCH_BIOS_PATH:-/mnt/storage/games/bios}:/root/.config/retroarch/system"
ports:
- "${RETROARCH_PORT:-3000}:3000"
- "${RETROARCH_HTTPS_PORT:-3001}:3001"
shm_size: "1gb"

View File

@@ -0,0 +1,67 @@
{
"$schema": "../../schemas/app-template.schema.json",
"id": "vaultwarden",
"name": "Vaultwarden",
"tagline": "Gestionnaire de mots de passe Bitwarden auto-hébergé léger",
"description": "Coffre-fort chiffré de bout en bout pour vos identifiants, cartes bancaires et notes sécurisées.",
"longDescription": "Implémentation alternative et ultra-légère de l'API Bitwarden en Rust. Compatible avec toutes les extensions officielles de navigateur, applications iOS, Android et ordinateurs de bureau.",
"category": "security",
"version": "1.32.1",
"developer": "Dani Garcia",
"website": "https://github.com/dani-garcia/vaultwarden",
"rating": 4.9,
"downloads": "950K",
"sizeMb": 85,
"license": "AGPLv3",
"icon": "https://lh3.googleusercontent.com/aida-public/AB6AXuCBj60zmHuzKE1qGtiHzWbH-r-GphCWZzJ38IEgFQU7bjZjZVmDasLyDQNkw6nx7k_z-fil8QsDR_6FGAMYzV3ZUSkadmoELAxpSLzc3zM5mejhGTJaO4PnPmSGwz0l6PfEEC7JSWREk2-ZVqjW9ZCmNrmYsYsjseUJD1eMZgaCxJbM6T6WXvSkkpq3V2P8jR-aAhVNkcQWyaS7R1wYwS7jHi5ZJEpJ_HxYwCaUmsXCXkzlEB1x8zCH8Wc5zee3oPoZQMw",
"screenshots": [],
"firstStartTip": "Pour une sécurité optimale, utilisez un nom de domaine avec SSL (HTTPS obligatoire pour le chiffrement Bitwarden). Créez ensuite votre coffre-fort.",
"composeFile": "docker-compose.yml",
"nginx": {
"recommendedSubdomain": "vault",
"enableSsl": true,
"mainPort": 80
},
"ports": [
{
"name": "Web UI & API",
"description": "Interface Web & API Vault",
"privatePort": 80,
"defaultPublicPort": 8000,
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": true
},
{
"name": "WebSocket",
"description": "Notifications temps réel",
"privatePort": 3012,
"defaultPublicPort": 3012,
"type": "tcp",
"protocol": "http",
"isDefaultNginxTarget": false
}
],
"volumes": [
{
"defaultHostPath": "/mnt/storage/vaultwarden/data",
"containerPath": "/data",
"description": "Base SQLite chiffrée",
"required": true
}
],
"env": [
{
"key": "WEBSOCKET_ENABLED",
"defaultValue": "true",
"label": "Support WebSocket en direct",
"required": false
},
{
"key": "SIGNUPS_ALLOWED",
"defaultValue": "true",
"label": "Autoriser les inscriptions",
"required": false
}
]
}

View File

@@ -0,0 +1,13 @@
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
ports:
- "${VAULTWARDEN_PORT:-8000}:80"
- "${VAULTWARDEN_WS_PORT:-3012}:3012"
volumes:
- "${VAULTWARDEN_DATA_PATH:-/mnt/storage/vaultwarden/data}:/data"
environment:
- WEBSOCKET_ENABLED=${WEBSOCKET_ENABLED:-true}
- SIGNUPS_ALLOWED=${SIGNUPS_ALLOWED:-true}

View File

@@ -0,0 +1,244 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://irbis-os.org/schemas/app-template.schema.json",
"title": "Irbis OS Application Template",
"description": "Schéma de définition pour les applications communautaires de l'App Store Irbis OS",
"type": "object",
"required": [
"id",
"name",
"tagline",
"description",
"category",
"version",
"developer"
],
"additionalProperties": false,
"properties": {
"$schema": {
"type": "string",
"description": "URI du schéma JSON utilisé pour l'auto-complétion et la validation"
},
"id": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"minLength": 2,
"maxLength": 64,
"description": "Identifiant unique de l'application en minuscules (ex: nextcloud, homeassistant)"
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 100,
"description": "Nom complet d'affichage de l'application"
},
"tagline": {
"type": "string",
"minLength": 5,
"maxLength": 150,
"description": "Accroche courte résumant la fonction principale de l'application"
},
"description": {
"type": "string",
"minLength": 10,
"maxLength": 500,
"description": "Description concise de l'application (affichée sur la carte)"
},
"longDescription": {
"type": "string",
"minLength": 20,
"maxLength": 4000,
"description": "Description détaillée affichée dans la modale de l'App Store"
},
"icon": {
"type": "string",
"description": "Nom du fichier d'icône/image de garde (ex: icon.png) ou URL directe"
},
"screenshots": {
"type": "array",
"items": {
"type": "string"
},
"description": "Noms des fichiers de captures d'écran de démo (ex: screenshot1.png) ou URLs directes"
},
"firstStartTip": {
"type": "string",
"description": "Astuce et guide de premier démarrage affichés après l'installation"
},
"composeFile": {
"type": "string",
"description": "Nom du fichier Docker Compose dans le dossier de l'app (défaut: docker-compose.yml)"
},
"nginx": {
"type": "object",
"description": "Configuration du domaine et reverse proxy Nginx automatique",
"properties": {
"recommendedSubdomain": {
"type": "string",
"description": "Sous-domaine recommandé (ex: cloud, vault, media)"
},
"enableSsl": {
"type": "boolean",
"description": "Activer le certificat SSL Let's Encrypt / HTTPS par défaut"
},
"mainPort": {
"type": "integer",
"description": "Port cible principal pour le reverse proxy Nginx"
}
}
},
"category": {
"type": "string",
"enum": ["media", "cloud", "productivity", "security", "utilities", "development", "home_automation", "network"],
"description": "Catégorie de l'application dans l'App Store"
},
"version": {
"type": "string",
"pattern": "^[a-zA-Z0-9.-]+$",
"description": "Version du paquet ou du conteneur (ex: 1.0.0, stable, 2024.9.0)"
},
"developer": {
"type": "string",
"minLength": 2,
"maxLength": 100,
"description": "Nom de l'auteur, de l'entreprise ou du projet open source"
},
"website": {
"type": "string",
"format": "uri",
"description": "Site web officiel ou dépôt GitHub de l'application"
},
"rating": {
"type": "number",
"minimum": 1.0,
"maximum": 5.0,
"description": "Note moyenne indicative (entre 1.0 et 5.0)"
},
"downloads": {
"type": "string",
"description": "Indication du volume d'utilisateurs ou téléchargements (ex: 1.2M, 500K)"
},
"sizeMb": {
"type": "number",
"minimum": 1,
"maximum": 50000,
"description": "Taille estimée de l'image Docker en mégaoctets"
},
"license": {
"type": "string",
"description": "Licence logicielle (ex: MIT, AGPLv3, Apache-2.0, Propriétaire)"
},
"image": {
"type": "string",
"minLength": 3,
"maxLength": 255,
"description": "Image Docker officielle ou vérifiée (ex: nextcloud:apache, lscr.io/linuxserver/plex:latest)"
},
"defaultPort": {
"type": "integer",
"minimum": 1,
"maximum": 65535,
"description": "Port d'écoute public principal par défaut"
},
"ports": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["privatePort", "defaultPublicPort"],
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "Nom lisible du service réseau (ex: Web UI, API, DNS)"
},
"privatePort": {
"type": "integer",
"minimum": 1,
"maximum": 65535,
"description": "Port interne du conteneur Docker"
},
"defaultPublicPort": {
"type": "integer",
"minimum": 1,
"maximum": 65535,
"description": "Port hôte suggéré par défaut"
},
"description": {
"type": "string",
"description": "Description du rôle du port (ex: Interface Web, Flux RTSP, WebSocket)"
},
"type": {
"type": "string",
"enum": ["tcp", "udp"],
"description": "Protocole de transport réseau du port"
},
"protocol": {
"type": "string",
"enum": ["http", "https", "tcp", "udp"],
"description": "Protocole applicatif pour la redirection Nginx"
},
"isDefaultNginxTarget": {
"type": "boolean",
"description": "Indique si ce port est la cible principale du domaine Nginx automatique"
}
}
}
},
"volumes": {
"type": "array",
"items": {
"type": "object",
"required": ["defaultHostPath", "containerPath", "required"],
"additionalProperties": false,
"properties": {
"defaultHostPath": {
"type": "string",
"pattern": "^/.*",
"description": "Chemin hôte recommandé pour les données persistantes (généralement sous /mnt/storage/...)"
},
"containerPath": {
"type": "string",
"pattern": "^/.*",
"description": "Chemin absolu de destination à l'intérieur du conteneur"
},
"description": {
"type": "string",
"description": "Explication de la destination (ex: Répertoire des photos, Base de données)"
},
"required": {
"type": "boolean",
"description": "Indique si ce volume est indispensable au bon fonctionnement"
}
}
}
},
"env": {
"type": "array",
"items": {
"type": "object",
"required": ["key", "defaultValue", "label", "required"],
"additionalProperties": false,
"properties": {
"key": {
"type": "string",
"pattern": "^[A-Z0-9_]+$",
"description": "Nom de la variable d'environnement (ex: TZ, DB_NAME)"
},
"defaultValue": {
"type": "string",
"description": "Valeur par défaut ou exemple"
},
"label": {
"type": "string",
"description": "Nom convivial affiché dans l'interface"
},
"required": {
"type": "boolean",
"description": "Indique si la variable est obligatoire"
}
}
}
}
}
}