diff --git a/Apps/Docmost/docker-compose.yml b/Apps/Docmost/docker-compose.yml new file mode 100644 index 0000000..ebfe0be --- /dev/null +++ b/Apps/Docmost/docker-compose.yml @@ -0,0 +1,279 @@ +name: docmost + +services: + docmost-db: + image: postgres:16-alpine + container_name: docmost-db + restart: unless-stopped + user: "0:0" + volumes: + - /DATA/AppData/$AppID/pgdata/:/var/lib/postgresql/data + environment: + POSTGRES_DB: docmost + POSTGRES_USER: docmost + POSTGRES_PASSWORD: $PCS_DEFAULT_PASSWORD + POSTGRES_INITDB_ARGS: "--encoding=UTF-8" + healthcheck: + test: ["CMD-SHELL", "pg_isready -U docmost -d docmost"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + deploy: + resources: + limits: + memory: 512M + cpus: '0.5' + reservations: + memory: 256M + networks: + - docmost-network + cpu_shares: 50 + + docmost-redis: + image: redis:7.2-alpine + container_name: docmost-redis + restart: unless-stopped + user: "0:0" + volumes: + - /DATA/AppData/$AppID/redis/:/data + deploy: + resources: + limits: + memory: 256M + cpus: '0.25' + reservations: + memory: 128M + networks: + - docmost-network + cpu_shares: 30 + + docmost: + image: docmost/docmost:0.25.3 + container_name: docmost + restart: unless-stopped + user: "0:0" + depends_on: + docmost-db: + condition: service_healthy + docmost-redis: + condition: service_started + expose: + - "80" + labels: + - "caddy=docmost-${APP_DOMAIN}" + - "caddy.reverse_proxy={{upstreams 80}}" + volumes: + - /DATA/AppData/$AppID/storage/:/app/data/storage + environment: + APP_URL: https://docmost-${APP_DOMAIN} + APP_SECRET: "${PCS_DEFAULT_PASSWORD}${PCS_DEFAULT_PASSWORD}" + PORT: 80 + DATABASE_URL: postgresql://docmost:$PCS_DEFAULT_PASSWORD@docmost-db:5432/docmost?schema=public + REDIS_URL: redis://docmost-redis:6379 + deploy: + resources: + limits: + memory: 1G + cpus: '1.0' + reservations: + memory: 512M + networks: + - docmost-network + - pcs + cpu_shares: 70 + +networks: + docmost-network: + driver: bridge + pcs: + external: true + +x-casaos: + architectures: + - amd64 + - arm64 + main: docmost + webui_port: 80 + author: Yundera Team + category: Documents + developer: Docmost + store_app_id: docmost + icon: https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Docmost/icon.png + screenshot_link: + - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Docmost/screenshot-1.png + - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Docmost/screenshot-2.png + - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Docmost/screenshot-3.png + thumbnail: https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Docmost/screenshot-1.png + description: + en_us: | + **Open-source collaborative wiki and documentation software** + + Docmost is a self-hosted wiki and documentation tool, an open-source alternative to Confluence and Notion. Create, collaborate, and share knowledge with your team in real-time. + + **Key Features:** + - Real-time collaborative editing with rich text editor + - Spaces and pages for organized documentation + - Permissions and roles for team access control + - Nested pages with drag-and-drop organization + - Full-text search across all documents + - File attachments and image embedding + - Comments and discussions on pages + - Page history and version tracking + + **Perfect for:** + Teams that need a self-hosted knowledge base, project documentation, or internal wiki with full data ownership and privacy. + ko_kr: | + **오픈소스 협업 위키 및 문서 소프트웨어** + + Docmost는 셀프 호스팅 위키 및 문서 도구로, Confluence와 Notion의 오픈소스 대안입니다. 팀과 함께 실시간으로 지식을 생성, 협업, 공유하세요. + + **주요 기능:** + - 리치 텍스트 에디터를 통한 실시간 협업 편집 + - 체계적인 문서 관리를 위한 스페이스와 페이지 + - 팀 접근 제어를 위한 권한 및 역할 + - 드래그 앤 드롭으로 구성하는 중첩 페이지 + - 모든 문서에 걸친 전문 검색 + - 파일 첨부 및 이미지 삽입 + - 페이지 내 댓글 및 토론 + - 페이지 히스토리 및 버전 추적 + + **이런 분께 완벽해요:** + 완전한 데이터 소유권과 프라이버시를 갖춘 셀프 호스팅 지식 베이스, 프로젝트 문서화 또는 내부 위키가 필요한 팀. + zh_cn: | + **开源协作 Wiki 和文档软件** + + Docmost 是一个自托管的 Wiki 和文档工具,是 Confluence 和 Notion 的开源替代方案。与团队实时创建、协作和分享知识。 + + **主要功能:** + - 富文本编辑器的实时协作编辑 + - 用于组织文档的空间和页面 + - 团队访问控制的权限和角色 + - 支持拖放组织的嵌套页面 + - 跨所有文档的全文搜索 + - 文件附件和图片嵌入 + - 页面评论和讨论 + - 页面历史和版本跟踪 + + **非常适合:** + 需要具有完全数据所有权和隐私的自托管知识库、项目文档或内部 Wiki 的团队。 + fr_fr: | + **Logiciel wiki et documentation collaboratif open-source** + + Docmost est un outil wiki et documentation auto-hébergé, une alternative open-source à Confluence et Notion. Créez, collaborez et partagez les connaissances avec votre équipe en temps réel. + + **Fonctionnalités principales :** + - Édition collaborative en temps réel avec éditeur de texte riche + - Espaces et pages pour une documentation organisée + - Permissions et rôles pour le contrôle d'accès de l'équipe + - Pages imbriquées avec organisation par glisser-déposer + - Recherche plein texte dans tous les documents + - Pièces jointes et intégration d'images + - Commentaires et discussions sur les pages + - Historique des pages et suivi des versions + + **Parfait pour :** + Les équipes ayant besoin d'une base de connaissances auto-hébergée, de documentation de projet ou de wiki interne avec propriété et confidentialité complètes des données. + es_es: | + **Software wiki y documentación colaborativa de código abierto** + + Docmost es una herramienta wiki y de documentación auto-alojada, una alternativa de código abierto a Confluence y Notion. Crea, colabora y comparte conocimiento con tu equipo en tiempo real. + + **Características principales:** + - Edición colaborativa en tiempo real con editor de texto enriquecido + - Espacios y páginas para documentación organizada + - Permisos y roles para control de acceso del equipo + - Páginas anidadas con organización de arrastrar y soltar + - Búsqueda de texto completo en todos los documentos + - Archivos adjuntos e incrustación de imágenes + - Comentarios y discusiones en páginas + - Historial de páginas y seguimiento de versiones + + **Perfecto para:** + Equipos que necesitan una base de conocimiento auto-alojada, documentación de proyectos o wiki interna con propiedad completa de datos y privacidad. + tagline: + en_us: Open-source collaborative wiki and documentation platform + ko_kr: 오픈소스 협업 위키 및 문서 플랫폼 + zh_cn: 开源协作 Wiki 和文档平台 + fr_fr: Plateforme wiki et documentation collaborative open-source + es_es: Plataforma wiki y documentación colaborativa de código abierto + title: + en_us: Docmost + tips: + before_install: + en_us: | + **Getting Started:** + + 1. After installation, visit your Docmost instance + 2. Create your first admin account + 3. Set up your first workspace and start creating pages + + **Features:** + - Real-time collaborative editing + - Spaces for organizing documentation + - Rich text editor with markdown support + - File attachments and image embedding + - Full-text search + + **Note:** The first user to register becomes the workspace admin. + ko_kr: | + **시작하기:** + + 1. 설치 후 Docmost 인스턴스를 방문하세요 + 2. 첫 번째 관리자 계정을 생성하세요 + 3. 첫 번째 워크스페이스를 설정하고 페이지 작성을 시작하세요 + + **기능:** + - 실시간 협업 편집 + - 문서 정리를 위한 스페이스 + - 마크다운 지원 리치 텍스트 에디터 + - 파일 첨부 및 이미지 삽입 + - 전문 검색 + + **참고:** 첫 번째 등록 사용자가 워크스페이스 관리자가 됩니다. + zh_cn: | + **开始使用:** + + 1. 安装后,访问您的 Docmost 实例 + 2. 创建您的第一个管理员账户 + 3. 设置您的第一个工作空间并开始创建页面 + + **功能:** + - 实时协作编辑 + - 用于组织文档的空间 + - 支持 Markdown 的富文本编辑器 + - 文件附件和图片嵌入 + - 全文搜索 + + **注意:** 第一个注册的用户成为工作空间管理员。 + fr_fr: | + **Commencer :** + + 1. Après l'installation, visitez votre instance Docmost + 2. Créez votre premier compte administrateur + 3. Configurez votre premier espace de travail et commencez à créer des pages + + **Fonctionnalités :** + - Édition collaborative en temps réel + - Espaces pour organiser la documentation + - Éditeur de texte riche avec support Markdown + - Pièces jointes et intégration d'images + - Recherche plein texte + + **Note :** Le premier utilisateur à s'inscrire devient l'administrateur de l'espace de travail. + es_es: | + **Comenzar:** + + 1. Después de la instalación, visite su instancia de Docmost + 2. Cree su primera cuenta de administrador + 3. Configure su primer espacio de trabajo y comience a crear páginas + + **Características:** + - Edición colaborativa en tiempo real + - Espacios para organizar documentación + - Editor de texto enriquecido con soporte Markdown + - Archivos adjuntos e incrustación de imágenes + - Búsqueda de texto completo + + **Nota:** El primer usuario en registrarse se convierte en administrador del espacio de trabajo. + index: / diff --git a/Apps/Docmost/icon.png b/Apps/Docmost/icon.png new file mode 100644 index 0000000..2dd8662 Binary files /dev/null and b/Apps/Docmost/icon.png differ diff --git a/Apps/Docmost/screenshot-1.png b/Apps/Docmost/screenshot-1.png new file mode 100644 index 0000000..74f611f Binary files /dev/null and b/Apps/Docmost/screenshot-1.png differ diff --git a/Apps/Docmost/screenshot-2.png b/Apps/Docmost/screenshot-2.png new file mode 100644 index 0000000..43451b4 Binary files /dev/null and b/Apps/Docmost/screenshot-2.png differ diff --git a/Apps/Docmost/screenshot-3.png b/Apps/Docmost/screenshot-3.png new file mode 100644 index 0000000..7c6c388 Binary files /dev/null and b/Apps/Docmost/screenshot-3.png differ diff --git a/Apps/Duplicati/docker-compose.yml b/Apps/Duplicati/docker-compose.yml deleted file mode 100644 index 9fecaa8..0000000 --- a/Apps/Duplicati/docker-compose.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: duplicati -services: - duplicati: - container_name: duplicati - image: linuxserver/duplicati:2.1.0 - user: 0:0 - environment: - PGID: 0 - PUID: 0 - TZ: $TZ - SETTINGS_ENCRYPTION_KEY: '$default_pwd' - DUPLICATI__WEBSERVICE_PASSWORD: '$default_pwd' - expose: - - 8200 - cpu_shares: 10 - deploy: - resources: - limits: - memory: 256M - reservations: - memory: 64M - restart: unless-stopped - volumes: - - type: bind - source: /DATA/AppData/duplicati/config - target: /config - - type: bind - source: /DATA/ - target: /source/DATA - -x-casaos: - architectures: - - amd64 - - arm64 - main: duplicati - author: Yundera Team - category: Cloud - description: - en_us: Duplicati is a free, open source, backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers. - zh_cn: Duplicati是一个免费的开源备份客户端,它可以安全地存储加密的、增量的、压缩的备份文件到云存储服务和远程文件服务器。 - fr_fr: Duplicati est un client de sauvegarde gratuit et open source qui stocke de manière sécurisée des sauvegardes chiffrées, incrémentales et compressées sur des services de stockage dans le cloud et des serveurs de fichiers distants. - ko_kr: Duplicati는 클라우드 스토리지 서비스와 원격 파일 서버에 암호화되고 증분적이며 압축된 백업을 안전하게 저장하는 무료 오픈 소스 백업 클라이언트입니다. - es_es: Duplicati es un cliente de copia de seguridad gratuito y de código abierto que almacena de forma segura copias de seguridad cifradas, incrementales y comprimidas en servicios de almacenamiento en la nube y servidores de archivos remotos. - ar_sa: Duplicati هو عميل احتياطي مفتوح المصدر مجاني ، يخزن بشكل آمن ومشفر ، مضغوط ، متزايد ، مضغوط على خدمات تخزين السحابة وخوادم الملفات البعيدة. - de_de: Duplicati ist ein kostenloser Open-Source-Backup-Client, der verschlüsselte, inkrementelle, komprimierte Backups sicher auf Cloud-Speicherdiensten und Remote-Dateiservern speichert. - hu_hu: A Duplicati egy ingyenes és nyílt forráskódú biztonsági másolat kliens, amely biztonságosan tárolja az inkrementálisan, tömörített módon titkosított biztonsági mentéseket felhőtárhelyeken és távoli fájl szervereken. - it_it: Duplicati è un client di backup gratuito e open source che memorizza in modo sicuro backup crittografati, incrementali e compressi su servizi di archiviazione in cloud e server file remoti. - ru_ru: Duplicati - это бесплатный клиент резервного копирования с открытым исходным кодом, который безопасно хранит зашифрованные, инкрементальные, сжатые резервные копии на облачных службах хранения и удаленных файловых серверах. - pl_pl: Duplicati to darmowy klient kopii zapasowych open source, który bezpiecznie przechowuje zaszyfrowane, inkrementalne, skompresowane kopie zapasowe na usługach chmurowych i zdalnych serwerach plików. - pt_br: Duplicati é um cliente de backup gratuito e de código aberto que armazena de forma segura backups criptografados, incrementais e compactados em serviços de armazenamento em nuvem e servidores de arquivos remotos. - sv_se: Duplicati är en gratis, öppen källkod, backup-klient som säkert lagrar krypterade, inkrementella, komprimerade säkerhetskopior på molntjänster och fjärrfiler. - uk_ua: Duplicati - це безкоштовний клієнт резервного копіювання з відкритим вихідним кодом, який безпечно зберігає зашифровані, інкрементні, стиснені резервні копії на хмарних службах зберігання та віддалених файлових серверах. - developer: Duplicati Team - icon: https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Duplicati/icon.png - screenshot_link: - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Duplicati/screenshot-1.png - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Duplicati/screenshot-2.png - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Duplicati/screenshot-3.png - tagline: - en_us: Your Backup App. Encrypt and back up your data to the cloud, safely and automatically. Setup guide available on our website - zh_cn: 您的备份应用。安全自动地加密并备份您的数据到云端。网站上提供设置指南 - ar_sa: تطبيق النسخ الاحتياطي الخاص بك. قم بتشفير ونسخ بياناتك احتياطياً إلى السحابة، بأمان وتلقائياً. دليل الإعداد متوفر على موقعنا - de_de: Ihre Backup-App. Verschlüsseln und sichern Sie Ihre Daten sicher und automatisch in der Cloud. Einrichtungsanleitung auf unserer Website verfügbar - es_es: Su aplicación de respaldo. Cifre y haga copias de seguridad de sus datos en la nube, de forma segura y automática. Guía de configuración disponible en nuestro sitio web - fr_fr: Votre application de sauvegarde. Chiffrez et sauvegardez vos données dans le cloud, en toute sécurité et automatiquement. Guide de configuration disponible sur notre site web - hu_hu: Az Ön biztonsági mentő alkalmazása. Titkosítsa és mentse fel adatait a felhőbe, biztonságosan és automatikusan. Beállítási útmutató elérhető weboldalunkon - it_it: La tua app di backup. Crittografa e fai il backup dei tuoi dati nel cloud, in modo sicuro e automatico. Guida alla configurazione disponibile sul nostro sito web - ru_ru: Ваше приложение для резервного копирования. Шифруйте и создавайте резервные копии ваших данных в облаке безопасно и автоматически. Руководство по настройке доступно на нашем сайте - pl_pl: Twoja aplikacja do kopii zapasowych. Szyfruj i twórz kopie zapasowe danych w chmurze, bezpiecznie i automatycznie. Przewodnik konfiguracji dostępny na naszej stronie - pt_br: Seu aplicativo de backup. Criptografe e faça backup de seus dados na nuvem, com segurança e automaticamente. Guia de configuração disponível em nosso site - sv_se: Din backup-app. Kryptera och säkerhetskopiera dina data till molnet, säkert och automatiskt. Installationsguide tillgänglig på vår webbplats - uk_ua: Ваш додаток для резервного копіювання. Шифруйте та створюйте резервні копії ваших даних у хмарі безпечно та автоматично. Посібник з налаштування доступний на нашому веб-сайті - thumbnail: https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Duplicati/thumbnail.png - tips: - before_install: - en_us: | - Default Password : `$default_pwd` - Your Files will appear in the `Computer/source/DATA` directory inside duplicati source panel (3). - title: - en_us: Duplicati - index: / - webui_port: 8200 diff --git a/Apps/Duplicati/icon.png b/Apps/Duplicati/icon.png deleted file mode 100644 index 88c13f4..0000000 Binary files a/Apps/Duplicati/icon.png and /dev/null differ diff --git a/Apps/Duplicati/rationale.md b/Apps/Duplicati/rationale.md deleted file mode 100644 index 431f13e..0000000 --- a/Apps/Duplicati/rationale.md +++ /dev/null @@ -1,2 +0,0 @@ -## Root Access -Root access is required to function properly as a backup solution. Duplicati needs to access system files, user directories, and preserve file permissions across the entire filesystem during backup and restore operations. Using PUID/PGID would prevent access to system directories and break the ability to maintain proper file ownership during restores. \ No newline at end of file diff --git a/Apps/Duplicati/screenshot-1.png b/Apps/Duplicati/screenshot-1.png deleted file mode 100644 index ba7c725..0000000 Binary files a/Apps/Duplicati/screenshot-1.png and /dev/null differ diff --git a/Apps/Duplicati/screenshot-2.png b/Apps/Duplicati/screenshot-2.png deleted file mode 100644 index 2e9f2ed..0000000 Binary files a/Apps/Duplicati/screenshot-2.png and /dev/null differ diff --git a/Apps/Duplicati/screenshot-3.png b/Apps/Duplicati/screenshot-3.png deleted file mode 100644 index 812ff48..0000000 Binary files a/Apps/Duplicati/screenshot-3.png and /dev/null differ diff --git a/Apps/Duplicati/thumbnail.png b/Apps/Duplicati/thumbnail.png deleted file mode 100644 index 85e61d3..0000000 Binary files a/Apps/Duplicati/thumbnail.png and /dev/null differ diff --git a/Apps/FileBrowser/changelog.txt b/Apps/FileBrowser/changelog.txt deleted file mode 100644 index 588d6e0..0000000 --- a/Apps/FileBrowser/changelog.txt +++ /dev/null @@ -1,261 +0,0 @@ -2.20.1 (2021-12-21) -Build -revert to using the default alpine based docker image (46d8046) - -2.20.0 (2021-12-20) -Features -detect multiple subtitle languages (#1723) (c2e03bb) -use linuxserver based docker image (b8f35ce) -Bug Fixes -set correct default database path in the config (988d3e5) -upgrade vulnerable versions of the library (6eb3ab0) -Build -refactor makefile (f81857a) -remove deprecated goreleaser use_buildx param (4d1b9dd) - -2.19.0 (2021-11-24) -Features -prefetch previous and next images in preview. (#1627) (7401d16) -Bug Fixes -empty file listing on share (e082397) -relative font sizes (c29698d) - -2.18.0 (2021-10-31) -Features -add ability to select file modified time format (#1536) (0426629) -add manifest theme color param (#1542) (0358e42) -Bug Fixes -back button behaviour in preview (#1573) (deabc80) -fix sidebar navigation on mobile devices (#1618) (f09bf3e) -search box is misaligned when the browser preferred font size is other than 16px (#1613) (6f345be) -security issue in command runner (closes #1621) (74b7cd8) -set correct editor height regardless of preferred font size (#1614) (ddd4ffa) -zoom pics when dlclick at first time (#1561) (b6a51be) - -2.17.2 (2021-08-27) -Bug Fixes -bug with inlineLink not creating url properly (#1515) (43a4609) - -2.17.1 (2021-08-23) -Bug Fixes -internal server error if --disable-preview-resize flag is set (closes #1510) (4c3099a) - -2.17.0 (2021-08-21) -Features -open file option on preview (76add9e) -Bug Fixes -401 error in share view open file button (#1495) (25c8788) -escape quote on index template (23d646c), closes #1501 -file caching directive (c63cc5a) - -2.16.1 (2021-08-04) -Bug Fixes -check symlink target type (closes #1488) (76b466f) - -2.16.0 (2021-07-26) -Features -browser cache directives (190cb99) -display error messages on settings (6032038) -file name on page title (16a34de) -gzip encoding for static js files (aa172b8) -loading spinner on views navigation (976eb55) -message for connection error (5e6f14b) -mod time title on file info (7d1e030) -open file option on share (1c25f6e) -show more button on share (ba8c09f) -support for IE11 browser (7ec24d9) -Bug Fixes -break resource create/update handlers on error (closes #1464) (5072bbb) -copying files with special characters (20ebbf6) -delete image cache when moving (8973c45) -don't remove files on unsuccessful updates (closes #1456) (6b19ab6) -failure on broken symlink deletion (8650d2f) -inconsistent double click on listing item (ba7e71a) -no items displayed on file listing (18889ad) -omit file content (209f9fa) -short commit sha and typo fix in Makefile (#1411) (46ee595) - -2.15.0 (2021-04-06) -Features -add EXIF thumbnail support for JPEG files (#1234) (7dd5b34) -dynamic autoplay on previewer (a76e01d) -dynamic item count on file listing (6c8ee96) -dynamic zoom limit on previewer (e410272) -Bug Fixes -buttons without permission on header (1516d99) -check modify permission on file overwrite (59f9964) -empty archive name on directory download (2697093) -empty text file on editor (e9baf0c) -error causes panic on upload (e1a6f59) -hidden editor header on Safari (b521dec) -image quality switch on previewer (c0d85f3) -list item interactions on share (87f1881) -missing bold variation for Roboto font (98d79b8) -mouse wheel zoom on previewer (fcb115f) -no header button animations on file listing (fe80730) - -2.14.1 (2021-03-21) -Bug Fixes -display public routes with header proxy auth (da54bd6) - -2.14.0 (2021-03-21) -Features -add health check handler (a721dc1) -Bug Fixes -hide dotfile error on share (5f4a031) -prefix handling on http router (93a35ad) -qr code url on share (22f4be8) -text file detection on editor (eeadc53) - -2.13.0 (2021-03-14) -Features -dual pane settings view (db5aad8) -improved settings navbar (5b28aa0) -improved sharing prompt (1819377) -increased header button counter size (4fb832c) -larger previewer content (62fff5c) -Bug Fixes -archive contains parent path on Windows (54f3570) -check rules on http resource handlers (5bf1554) -download current dir on file listing (488d980) -encoded file path on share (7955e07) -full file path on share (e017a19) -header dropdown icon color on previewer (f8df76f) -item dragging on file listing (326b35a) -modified time on info prompt (11ebaec) -root path name on archive (426b38b) -stuck icon on header button (6a734c0) -update image cache when replacing (81b6f4d) -wait for async command exit (#1326) (6d5ceae) -Refactorings -migrate from rice to embed.FS (fc55061) - -2.12.1 (2021-03-07) -Bug Fixes -add missing default config into the docker image (7358b3f) - -2.12.0 (2021-03-04) -Features -add homebrew tap (2d2c598) -added tiff files preview support (#1222) (e8c9d1c) -allow disabling file detections by reading header (#1175) (6914063) -allow to password protect shares (#1252) (d8f415f) -build multi-arch docker images (cf4836d) -share management delete confirm (#1212) (b600b11) -Bug Fixes -don't allow to remove root user (019ce80) -double click to zoom pics in phone's browser (#1274) (f1b7bd5) -environmental variables not expanded in command (#1241) (f3afd5c) -fetch resource api once when sorting (closes #1172) (#1202) (05bb7c8) -Build -use make for building the project (#1304) (23f8464) - -2.11.0 (2020-12-28) -Features -add sharing management (#1178) (closes #1000) (677bce3) -download shared subdirectory (#1184) (fb5b28d) -Bug Fixes -check user input to prevent permission elevation (#1196) (closes #1195) (f62806f) -delete extra remove prefix (#1186) (7a5298a) -move files between different volumes (closes #1177) (58835b7) -recaptcha race condition (#1176) (ac3673e) - -2.10.0 (2020-11-24) -Features -add hide dotfiles param (#1148) (10e399b) -add single click mode (#1139) (e8b4e9a) -automatically jump to the next photo when deleting while previewing (#1143) (9515cee) -shared folder file listing (e119bc5) -shared item information (36cacdf) -Bug Fixes -empty folder in archive (7096b3d) -fix hanging when reading a named pipe file (closes #1155) (586d198) -previewer title overflow (4e48ffc) -resource rename action invalid path (1ce3068) - -2.9.0 (2020-10-21) -Features -support WKWebview custom protocol (#1113) (0ac80e8) -Bug Fixes -allow start from Windows explorer (f2c4e78) -file upload missing path slash (5e27ba5) -preview case sensitive file extension (05bff54) -search missing path slash (2bd163d) - -2.8.0 (2020-10-05) -Features -add disable exec flag (#1090) (97693cc) -Bug Fixes -empty commands setting (c6d4fcd) -file upload path encoding (babd778) -fix empty command name (#1106) (36fb9f5) -fix panic when accessing nonexistent .js file in static path (#1105) (ad99bf1) -preview key shortcut conflict (dd7b9dd) -search results absolute url (26d62e4) - -2.7.0 (2020-09-11) -Features -add --socket-perm flag to control unix socket file permissions (closes #1060) (65ac734) -preview mobile dropdown (7787344) -preview size button (3d2cb83) -put selected files in the root of the archive (closes #1065) (8142b32) - -2.6.2 (2020-08-05) -2.6.1 (2020-07-28) -Bug Fixes -delete cached previews when deleting file (f5d02cd) -escape special characters in preview url (closes #1002) (c9340af) - -2.6.0 (2020-07-27) -Features -add lazy load of image thumbnails (bc00165) -add param to disable img resizing (aa78e3a) -cache resized images (95bc929) -limit image resize workers (94ef596) -Bug Fixes -conflict handling on upload button (f228fa5) -drop feedback (f2d2c1c) -missing error message (d9be370) -parent verification on copy (727c63b) -path separator inconsistency on rename (34dfb49) - -2.5.0 (2020-07-17) -Features -add previewer title and loading indicator (716396a) -duplicate files in the same directory (43526d9) -file copy, move and paste conflict checking (eed9da1) -rename option on replace prompt (2636f87) -upload queue (6ec6a23) -Bug Fixes -blinking previewer (9a2ebba) -dark theme colors (b3b6445) -directory conflict checking (7e5beef) -prompt before closing window (194030f) -remove incomplete uploaded files (0727496) -reset clipboard after pasting cutted files (10570ad) - -2.4.0 (2020-07-07) -Features -full screen editor (0d665e5) -Bug Fixes -add preview bypass for .gif files (#1012) (453636d) -prompt key shortcut conflict (0d69fbd) - -2.3.0 (2020-06-26) -Features -add image thumbnails support (#980) (6b0d49b) -Bug Fixes -typo in image_templates (apline -> alpine) (#1005) (84da110) - -2.2.0 (2020-06-22) -Features -add alpine and debian docker images (66863b7) -add folder upload (#981) (8977344), closes filebrowser/filebrowser#741 -add key shortcuts (95316cb) -upload progress based on total size (#993) (cd454ba) -Bug Fixes -add a workaround to fix window freezing when viewing a large file #992 (2412016) -apply all fs user rulles (68f8348) -frontend token validation (dd40b0d), closes filebrowser/filebrowser#638 -multiple selection count (963837e) -save event hook (82c883f), closes filebrowser/filebrowser#696 \ No newline at end of file diff --git a/Apps/FileBrowser/docker-compose.yml b/Apps/FileBrowser/docker-compose.yml deleted file mode 100644 index 7c70f70..0000000 --- a/Apps/FileBrowser/docker-compose.yml +++ /dev/null @@ -1,123 +0,0 @@ -name: filebrowser -services: - filebrowser: - container_name: filebrowser - user: $PUID:$PGID - environment: - PGID: $PGID - PUID: $PUID - TZ: $TZ - FB_DATABASE: /db/database.db - image: filebrowser/filebrowser:v2.32.0 - network_mode: bridge - restart: unless-stopped - volumes: - - type: bind - source: /DATA/AppData/filebrowser/db/ - target: /db/ - - type: bind - source: /DATA - target: /srv - expose: - - 80 - cpu_shares: 10 - deploy: - resources: - limits: - memory: 256M -x-casaos: - pre-install-cmd: | - docker run --rm -v /DATA/AppData/filebrowser/db/:/db filebrowser/filebrowser:v2.32.0 config init --database /db/database.db && - docker run --rm -v /DATA/AppData/filebrowser/:/data ubuntu:22.04 chown -R $PUID:$PGID /data && - docker run --rm -v /DATA/AppData/filebrowser/db/:/db filebrowser/filebrowser:v2.32.0 users add admin $default_pwd --perm.admin --database /db/database.db - architectures: - - amd64 - - arm64 - - arm - main: filebrowser - author: Yundera Team - category: Cloud - description: - en_us: | - FileBrowser Your Private File Manager Made Easy - - FileBrowser transforms the way you manage files on your Yundera Private Cloud Server. Just like Google Drive or Windows Explorer, it gives you a full-featured file management experience right in your browser. No setup required, no subscriptions, no tracking. - - Upload, organize, preview and share files from any device—desktop or mobile. Edit text files, view images or videos, create folders, and even generate custom access links for others. Whether you're backing up documents, managing media, or collaborating on projects, FileBrowser gives you full control. - - Designed for local hosting, FileBrowser ensures your files stay on your server—with zero reliance on third parties. Ideal for creators, teams, and privacy-focused users. Multi‑user access and role‑based permissions make it fit for home or business. - - With FileBrowser on your Yundera PCS, enjoy the speed of local hosting, the freedom of open source, and the simplicity of a modern file explorer. - zh_cn: | - FileBrowser - 让私有文件管理变得简单 - - FileBrowser 重新定义了你在 Yundera 私有云服务器上管理文件的方式。就像使用 Google Drive 或 Windows 资源管理器一样,你可以直接在浏览器中享受完整的文件管理体验。无需配置,无需订阅,无需追踪。 - - 无论你使用电脑还是手机都可以轻松上传、组织、预览和分享文件。你可以编辑文本文件、查看图片或视频、创建文件夹,甚至生成自定义的共享链接。无论是备份文档、整理媒体内容,还是共享项目资料,FileBrowser 都能帮你轻松掌控一切。 - - FileBrowser 专为本地部署而设计,所有文件始终保留在你的服务器上,无需依赖外部服务。非常适合创作者、团队,以及注重隐私的用户。支持多用户访问和角色权限管理,从家庭文件存储到商业文件共享都能轻松应对。 - - 在你的 Yundera 私有云服务器上部署 FileBrowser,你将拥有本地部署的速度、开源工具的自由,以及现代文件浏览器的简洁体验。 - fr_fr: | - FileBrowser - Votre gestionnaire de fichiers privé simplifié - - FileBrowser transforme votre façon de gérer vos fichiers sur votre serveur cloud privé Yundera. Comme avec Google Drive ou l’Explorateur Windows, vous profitez d’une expérience complète de gestion directement dans votre navigateur. Pas besoin de configuration, pas d’abonnement, pas de suivi. - - Téléchargez, organisez, prévisualisez et partagez vos fichiers depuis n’importe quel appareil — ordinateur ou mobile. Éditez des fichiers texte, visualisez des images ou vidéos, créez des dossiers et générez des liens d’accès personnalisés. Que vous sauvegardiez des documents, gériez des médias ou collaboriez sur des projets, FileBrowser vous donne le contrôle total. - - Conçu pour l’hébergement local, FileBrowser garantit que vos fichiers restent sur votre serveur, sans dépendre de tiers. Idéal pour les créateurs, équipes et utilisateurs soucieux de leur vie privée. Accès multi‑utilisateur avec permissions par rôle. Parfait pour usage personnel ou professionnel. - - Avec FileBrowser sur votre PCS Yundera, profitez de la vitesse de l’hébergement local, de la liberté open source, et de la simplicité d’un explorateur moderne. - ko_kr: | - FileBrowser - 쉽고 강력한 개인 파일 관리자 - - FileBrowser는 Yundera 프라이빗 클라우드 서버에서 파일을 관리하는 방식을 완전히 새롭게 바꿉니다. Google Drive나 Windows 탐색기처럼 브라우저만으로도 완전한 파일 관리 경험을 제공합니다. 설치 불필요, 구독 없음, 추적 없음. - - 데스크탑이나 모바일에서 파일을 업로드, 정리, 미리보기, 공유할 수 있습니다. 텍스트 파일 편집, 이미지/영상 보기, 폴더 생성, 맞춤 공유 링크 생성도 가능합니다. 문서 백업, 미디어 관리, 프로젝트 협업에 이르기까지 FileBrowser는 당신의 모든 작업을 완벽히 제어합니다. - - 로컬 호스팅을 기반으로 설계되어 파일은 서버에만 저장되고 외부 서비스에 의존하지 않습니다. 창작자, 팀, 개인정보 중시 사용자 모두에게 이상적입니다. 다중 사용자 접근과 역할 기반 권한 설정을 지원하여 홈 또는 비즈니스 환경에 적합합니다. - - Yundera PCS에 FileBrowser를 설치하면 로컬 호스팅의 속도, 오픈 소스의 자유, 현대적인 파일 탐색기의 편리함을 모두 누릴 수 있습니다。 - ar_sa: متصفح الملفات - متصفح ملفات Webbased يشمل وظائف المشاركة وما إلى ذلك - de_de: Datei Browser - Webbasierte Datei Browser, einschließlich Sharing-Funktionen usw. - es_es: File Browser - Navegador de archivos Webbased que incluye funciones de compartición, etc. - hu_hu: File Browser - Webbased File Browser, beleértve a megosztási funkciókat stb. - it_it: File Browser - Browser di file Webbased che include funzioni di condivisione, ecc. - ru_ru: File Browser - Webbased File Browser, включая функции обмена, и т.д. - pl_pl: File Browser - Przeglądarka plików Webbased, w tym funkcje udostępniania itp. - pt_br: File Browser - Navegador de arquivos Webbased que inclui funções de compartilhamento, etc. - sv_se: File Browser - Webbaserad filbläddrare inklusive delningsfunktioner etc. - uk_ua: File Browser - Webbased File Browser, включаючи функції обміну, тощо - developer: File Browser - icon: https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/FileBrowser/icon.png - screenshot_link: - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/FileBrowser/screenshot-1.png - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/FileBrowser/screenshot-2.png - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/FileBrowser/screenshot-3.png - tagline: - en_us: This is your Cloud. Your own Drive alternative - upload, organize, and share files with full control and privacy. - zh_cn: 上传,删除,预览,重命名,编辑和共享您的文件。 - ar_sa: قم بتحميل، حذف، معاينة، إعادة تسمية، تحرير ومشاركة ملفاتك. - de_de: Hochladen, Löschen, Vorschau, Umbenennen, Bearbeiten und Freigeben Ihrer Dateien. - es_es: Subir, eliminar, previsualizar, renombrar, editar y compartir sus archivos. - fr_fr: Télécharger, supprimer, prévisualiser, renommer, modifier et partager vos fichiers. - hu_hu: Töltsön fel, törölje, előnézze, átnevezze, szerkessze és ossza meg fájljait. - it_it: Carica, elimina, anteprima, rinomina, modifica e condividi i tuoi file. - ru_ru: Загрузите, удалите, просмотрите, переименуйте, отредактируйте и поделитесь своими файлами. - pl_pl: Prześlij, usuń, podgląd, zmień nazwę, edytuj i udostępnij swoje pliki. - pt_br: Faça upload, exclua, visualize, renomeie, edite e compartilhe seus arquivos. - sv_se: Ladda upp, ta bort, förhandsgranska, byt namn, redigera och dela dina filer. - uk_ua: Завантажте, видаліть, перегляньте, перейменуйте, відредагуйте і поділіться своїми файлами. - ko_kr: 파일을 업로드, 삭제, 미리보기, 이름 변경, 편집 및 공유하세요. - thumbnail: https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/FileBrowser/thumbnail.png - tips: - before_install: - en_us: | - Default Account - | Username | Password | - | -------- | ------------ | - | `admin` | `$default_pwd` | - title: - en_us: FileBrowser - index: / - webui_port: 80 diff --git a/Apps/FileBrowser/icon.png b/Apps/FileBrowser/icon.png deleted file mode 100644 index ecf67f2..0000000 Binary files a/Apps/FileBrowser/icon.png and /dev/null differ diff --git a/Apps/FileBrowser/screenshot-1.png b/Apps/FileBrowser/screenshot-1.png deleted file mode 100644 index 172929a..0000000 Binary files a/Apps/FileBrowser/screenshot-1.png and /dev/null differ diff --git a/Apps/FileBrowser/screenshot-2.png b/Apps/FileBrowser/screenshot-2.png deleted file mode 100644 index a8a2d7d..0000000 Binary files a/Apps/FileBrowser/screenshot-2.png and /dev/null differ diff --git a/Apps/FileBrowser/screenshot-3.png b/Apps/FileBrowser/screenshot-3.png deleted file mode 100644 index 9e44833..0000000 Binary files a/Apps/FileBrowser/screenshot-3.png and /dev/null differ diff --git a/Apps/FileBrowser/thumbnail.png b/Apps/FileBrowser/thumbnail.png deleted file mode 100644 index 172929a..0000000 Binary files a/Apps/FileBrowser/thumbnail.png and /dev/null differ diff --git a/Apps/Immich/docker-compose.yml b/Apps/Immich/docker-compose.yml deleted file mode 100644 index bcb07f4..0000000 --- a/Apps/Immich/docker-compose.yml +++ /dev/null @@ -1,295 +0,0 @@ -name: immich - -services: - immich: - container_name: immich - hostname: immich - cpu_shares: 10 - deploy: - resources: - limits: - memory: 2048M - cpus: '1.0' - image: ghcr.io/immich-app/immich-server:v1.135.3 - user: $PUID:$PGID - volumes: - - /DATA/AppData/immich/upload:/usr/src/app/upload - - /etc/localtime:/etc/localtime:ro - environment: - DB_DATABASE_NAME: immich - DB_PASSWORD: postgres - DB_USERNAME: postgres - IMMICH_PORT: 80 - PGID: $PGID - PUID: $PUID - TZ: $TZ - expose: - - 80 - depends_on: - - redis - - database - restart: unless-stopped - networks: - - immich - - immich-machine-learning: - container_name: immich_machine_learning - hostname: immich-machine-learning - cpu_shares: 5 - deploy: - resources: - limits: - memory: 2048M - cpus: '0.5' - image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 - user: 0:0 - environment: - TZ: $TZ - PGID: 0 - PUID: 0 - restart: unless-stopped - volumes: - - /DATA/AppData/immich/model-cache:/cache - networks: - - immich - - redis: - container_name: immich-redis - hostname: immich-redis - cpu_shares: 10 - deploy: - resources: - limits: - memory: 256M - cpus: '0.25' - image: docker.io/redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8 - user: $PUID:$PGID - healthcheck: - test: redis-cli ping || exit 1 - environment: - PGID: $PGID - PUID: $PUID - TZ: $TZ - volumes: - - /DATA/AppData/immich/redis:/data - restart: unless-stopped - networks: - - immich - - database: - container_name: immich-postgres - hostname: immich-postgres - cpu_shares: 10 - deploy: - resources: - limits: - memory: 1024M - cpus: '0.5' - image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52 - user: $PUID:$PGID - environment: - POSTGRES_PASSWORD: postgres - POSTGRES_USER: postgres - POSTGRES_DB: immich - POSTGRES_INITDB_ARGS: '--data-checksums' - TZ: UTC - PGID: $PGID - PUID: $PUID - volumes: - - /DATA/AppData/immich/pgdata:/var/lib/postgresql/data - healthcheck: - test: pg_isready --dbname='immich' --username='postgres' || exit 1; Chksum="$$(psql --dbname='immich' --username='postgres' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1 - interval: 5m - start_interval: 30s - start_period: 5m - command: - [ - 'postgres', - '-c', - 'shared_preload_libraries=vectors.so', - '-c', - 'search_path="$$user", public, vectors', - '-c', - 'logging_collector=on', - '-c', - 'max_wal_size=2GB', - '-c', - 'shared_buffers=512MB', - '-c', - 'wal_compression=on', - ] - restart: unless-stopped - networks: - - immich - -networks: - immich: - name: immich - -x-casaos: - architectures: - - amd64 - - arm64 - main: immich - store_app_id: immich - category: Gallery - author: Cp0204 - developer: alextran1502 - icon: https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Immich/icon.png - screenshot_link: - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Immich/screenshot-1.png - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Immich/screenshot-2.png - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Immich/screenshot-3.png - thumbnail: https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Immich/thumbnail.png - description: - en_US: | - Immich: Revolutionizing Your Home Media Experience - - Immich is here to transform the way you manage and enjoy your media files across your home TV, smartphones, and other devices. Unlike traditional photo albums or mainstream cloud services, immich offers a seamless and modern platform for organizing, sharing, and accessing your photos and videos. Imagine effortlessly backing up your precious moments from your mobile devices and viewing them instantly on your TV or sharing them with family members—immich makes it all possible. - - Immich stands out with its automatic backup from mobile devices, a sleek web-based interface for easy media browsing, and advanced features like face recognition and object detection. You can organize your media by location, enjoy 4K video playback, and even manage RAW photos. Plus, with multi-user support, sharing memories with friends and family is a breeze. The best part? Immich offers these powerful features for low cost, ensuring you get a premium experience without breaking the bank. - - Deploying immich on a private cloud device like Zima brings unparalleled convenience. Enjoy unlimited storage capacity, blazing-fast local network speeds, and easy multi-device access. With immich on your Zima private cloud, your media is always at your fingertips, safe and secure in your home. - en_GB: | - Immich: Revolutionising Your Home Media Experience - - Immich is here to transform the way you manage and enjoy your media files across your home TV, smartphones, and other devices. Unlike traditional photo albums or mainstream cloud services, immich offers a seamless and modern platform for organising, sharing, and accessing your photos and videos. Imagine effortlessly backing up your precious moments from your mobile devices and viewing them instantly on your TV or sharing them with family members—immich makes it all possible. - - Immich stands out with its automatic backup from mobile devices, a sleek web-based interface for easy media browsing, and advanced features like face recognition and object detection. You can organise your media by location, enjoy 4K video playback, and even manage RAW photos. Plus, with multi-user support, sharing memories with friends and family is a breeze. The best part? Immich offers these powerful features at a low cost, ensuring you get a premium experience without breaking the bank. - - Deploying immich on a private cloud device like Zima brings unparalleled convenience. Enjoy unlimited storage capacity, blazing-fast local network speeds, and easy multi-device access. With immich on your Zima private cloud, your media is always at your fingertips, safe and secure in your home. - it_IT: | - Immich: Rivoluziona la tua esperienza multimediale domestica - - Immich è qui per trasformare il modo in cui gestisci e godi dei tuoi file multimediali su TV, smartphone e altri dispositivi. A differenza degli album fotografici tradizionali o dei servizi cloud mainstream, immich offre una piattaforma moderna e fluida per organizzare, condividere e accedere alle tue foto e video. Immagina di eseguire il backup dei tuoi momenti preziosi dai dispositivi mobili in modo semplice e di visualizzarli istantaneamente sulla tua TV o condividerli con i membri della famiglia: immich rende tutto questo possibile. - - Immich si distingue per il backup automatico dai dispositivi mobili, un'interfaccia web elegante per una facile navigazione dei contenuti e funzionalità avanzate come il riconoscimento facciale e il rilevamento di oggetti. Puoi organizzare i tuoi contenuti per posizione, goderti la riproduzione di video in 4K e persino gestire foto RAW. Inoltre, con il supporto multiutente, condividere ricordi con amici e familiari è semplicissimo. La parte migliore? Immich offre queste potenti funzionalità a basso costo, garantendo un'esperienza premium senza spendere una fortuna. - - Installare immich su un dispositivo cloud privato come Zima offre una comodità senza pari. Goditi una capacità di archiviazione illimitata, velocità di rete locale incredibilmente rapide e un facile accesso multi-dispositivo. Con immich sul tuo cloud privato Zima, i tuoi contenuti sono sempre a portata di mano, sicuri e protetti a casa tua. - nb_NO: | - Immich: Revolusjonerer din hjemmemedieopplevelse - - Immich er her for å forvandle måten du administrerer og nyter mediefilene dine på tvers av hjemme-TV, smarttelefoner og andre enheter. I motsetning til tradisjonelle fotoalbum eller vanlige skylagringstjenester, tilbyr immich en sømløs og moderne plattform for å organisere, dele og få tilgang til bildene og videoene dine. Forestill deg å enkelt sikkerhetskopiere dine dyrebare øyeblikk fra mobilenheter og se dem umiddelbart på TV-en eller dele dem med familiemedlemmer – immich gjør alt dette mulig. - - Immich skiller seg ut med automatisk sikkerhetskopiering fra mobilenheter, et elegant nettbasert grensesnitt for enkel medienavigering og avanserte funksjoner som ansiktsgjenkjenning og objektdeteksjon. Du kan organisere mediene dine etter sted, nyte 4K-videoplayback og til og med administrere RAW-bilder. Med støtte for flere brukere er det enkelt å dele minner med venner og familie. Det beste? Immich tilbyr disse kraftige funksjonene til en lav kostnad, slik at du får en førsteklasses opplevelse uten å sprenge budsjettet. - - Å distribuere immich på en privat skysenhet som Zima gir uovertruffen bekvemmelighet. Nyt ubegrenset lagringskapasitet, lynraske lokale nettverkshastigheter og enkel tilgang fra flere enheter. Med immich på din private Zima-sky er mediene dine alltid tilgjengelige, trygge og sikre hjemme hos deg. - zh_CN: | - Immich:革新您的家庭媒体体验 - - Immich 致力于改变您在家庭电视、智能手机和其他设备上管理和享受媒体文件的方式。与传统相册或主流云服务不同,Immich 提供了一个无缝且现代的平台,用于组织、分享和访问您的照片和视频。想象一下,从移动设备轻松备份您珍贵的时刻,立即在电视上观看,或与家人分享——Immich 让这一切成为可能。 - - Immich 以其从移动设备自动备份、优雅的基于网页的界面便于浏览媒体,以及人脸识别和物体检测等高级功能而脱颖而出。您可以按位置组织媒体,享受 4K 视频播放,甚至管理 RAW 格式照片。此外,通过多用户支持,与朋友和家人分享回忆变得轻而易举。最棒的是?Immich 以低成本提供这些强大功能,确保您无需花费过多即可获得优质体验。 - - 在 Zima 等私有云设备上部署 Immich 带来无与伦比的便利。享受无限存储容量、极快的本地网络速度和轻松的多设备访问。使用 Zima 私有云上的 Immich,您的媒体始终触手可及,在家中安全无忧。 - ja_JP: | - Immich:家庭メディア体験の革新 - - Immichは、家庭のテレビ、スマートフォン、その他のデバイスでメディアファイルを管理し、楽しむ方法を一変させます。従来のフォトアルバムや主流のクラウドサービスとは異なり、Immichは写真やビデオの整理、共有、アクセスを簡単に行える、シームレスでモダンなプラットフォームを提供します。モバイルデバイスから大切な瞬間を簡単にバックアップし、テレビで即座に視聴したり、家族と共有したりすることを想像してみてください—Immichがそれを実現します。 - - Immichは、モバイルデバイスからの自動バックアップ、メディアを簡単に閲覧できる洗練されたウェブベースのインターフェース、顔認識や物体検出などの高度な機能で際立っています。位置情報に基づいてメディアを整理したり、4Kビデオの再生を楽しんだり、RAW写真を管理したりできます。さらに、複数ユーザー対応により、友人や家族との思い出の共有が簡単です。最大の魅力は?Immichはこれらの強力な機能を低コストで提供し、予算を抑えながらプレミアムな体験を保証します。 - - ZimaのようなプライベートクラウドデバイスにImmichを導入することで、比類ない利便性が得られます。無制限のストレージ容量、超高速なローカルネットワーク速度、複数のデバイスからの簡単なアクセスが可能です。Zimaプライベートクラウド上のImmichを使えば、メディアは常に手の届くところにあり、家庭内で安全に保護されます。 - ko_KR: | - Immich: 가정 미디어 경험의 혁신 - - Immich는 가정용 TV, 스마트폰, 기타 디바이스에서 미디어 파일을 관리하고 즐기는 방식을 완전히 바꿔줍니다. 전통적인 사진 앨범이나 주류 클라우드 서비스와 달리, Immich는 사진과 비디오를 정리하고, 공유하고, 접근할 수 있는 매끄럽고 현대적인 플랫폼을 제공합니다. 모바일 디바이스에서 소중한 순간을 손쉽게 백업하고, TV에서 즉시 감상하거나 가족과 공유하는 모습을 상상해보세요—Immich가 이를 가능하게 합니다. - - Immich는 모바일 디바이스에서 자동 백업, 미디어 탐색을 위한 깔끔한 웹 기반 인터페이스, 얼굴 인식 및 객체 감지와 같은 고급 기능으로 돋보입니다. 위치별로 미디어를 정리하고, 4K 비디오 재생을 즐기며, RAW 사진도 관리할 수 있습니다. 또한, 다중 사용자 지원으로 친구와 가족과 추억을 공유하는 것이 매우 간편합니다. 가장 좋은 점은? Immich는 이러한 강력한 기능을 저렴한 비용으로 제공하여 예산을 초과하지 않으면서도 프리미엄 경험을 보장합니다. - - Zima와 같은 프라이빗 클라우드 디바이스에 Immich를 배포하면 비교할 수 없는 편리함을 누릴 수 있습니다. 무제한 저장 용량, 빠른 로컬 네트워크 속도, 그리고 간편한 다중 디바이스 접근이 가능합니다. Zima 프라이빗 클라우드의 Immich를 사용하면 미디어가 항상 손끝에 있으며, 집 안에서 안전하고 보호됩니다. - fr_FR: | - Immich : Révolutionnez votre expérience multimédia à domicile - - Immich est là pour transformer la façon dont vous gérez et profitez de vos fichiers multimédias sur votre télévision, smartphones et autres appareils. Contrairement aux albums photo traditionnels ou aux services cloud grand public, immich offre une plateforme moderne et fluide pour organiser, partager et accéder à vos photos et vidéos. Imaginez sauvegarder sans effort vos précieux moments depuis vos appareils mobiles et les visualiser instantanément sur votre télévision ou les partager avec vos proches—immich rend tout cela possible. - - Immich se distingue par sa sauvegarde automatique depuis les appareils mobiles, une interface web élégante pour naviguer facilement dans vos contenus, et des fonctionnalités avancées comme la reconnaissance faciale et la détection d'objets. Vous pouvez organiser vos médias par localisation, profiter de la lecture de vidéos en 4K, et même gérer des photos RAW. De plus, avec le support multi-utilisateur, partager des souvenirs avec vos amis et votre famille est un jeu d'enfant. Le meilleur ? Immich propose ces puissantes fonctionnalités à faible coût, vous offrant une expérience premium sans vous ruiner. - - Déployer immich sur un appareil cloud privé comme Zima offre une commodité inégalée. Profitez d'une capacité de stockage illimitée, de vitesses de réseau local ultra-rapides, et d'un accès multi-appareils simplifié. Avec immich sur votre cloud privé Zima, vos médias sont toujours à portée de main, en sécurité chez vous. - de_DE: | - Immich: Revolutionieren Sie Ihr Medien-Erlebnis zu Hause - - Immich ist da, um die Art und Weise, wie Sie Ihre Mediendateien auf Ihrem Heim-TV, Smartphones und anderen Geräten verwalten und genießen, zu verändern. Im Gegensatz zu traditionellen Fotoalben oder gängigen Cloud-Diensten bietet immich eine nahtlose und moderne Plattform zum Organisieren, Teilen und Abrufen Ihrer Fotos und Videos. Stellen Sie sich vor, Sie sichern mühelos Ihre wertvollen Momente von Ihren mobilen Geräten und können sie sofort auf Ihrem Fernseher ansehen oder mit Familienmitgliedern teilen – immich macht all das möglich. - - Immich hebt sich durch automatische Backups von Mobilgeräten, eine elegante webbasierte Benutzeroberfläche für einfaches Medienbrowsing und fortschrittliche Funktionen wie Gesichtserkennung und Objekterkennung ab. Sie können Ihre Medien nach Standort organisieren, 4K-Videowiedergabe genießen und sogar RAW-Fotos verwalten. Mit der Unterstützung für mehrere Benutzer ist das Teilen von Erinnerungen mit Freunden und Familie kinderleicht. Das Beste daran? Immich bietet diese leistungsstarken Funktionen zu geringen Kosten, sodass Sie ein Premium-Erlebnis erhalten, ohne Ihr Budget zu sprengen. - - Das Bereitstellen von immich auf einem privaten Cloud-Gerät wie Zima bietet unvergleichlichen Komfort. Genießen Sie unbegrenzte Speicherkapazität, blitzschnelle lokale Netzwerkgeschwindigkeiten und einfachen Zugriff von mehreren Geräten. Mit immich auf Ihrer privaten Zima-Cloud sind Ihre Medien immer griffbereit, sicher und geschützt in Ihrem Zuhause. - sv_SE: | - Immich: Revolutionerar din hemmamediaupplevelse - - Immich är här för att förändra hur du hanterar och njuter av dina mediefiler på din hemmabio-TV, smarttelefoner och andra enheter. Till skillnad från traditionella fotoalbum eller vanliga molntjänster erbjuder immich en smidig och modern plattform för att organisera, dela och komma åt dina bilder och videor. Föreställ dig att enkelt säkerhetskopiera dina värdefulla ögonblick från mobila enheter och omedelbart visa dem på din TV eller dela dem med familjemedlemmar – immich gör allt detta möjligt. - - Immich sticker ut med sin automatiska säkerhetskopiering från mobila enheter, ett elegant webbaserat gränssnitt för enkel medienavigering och avancerade funktioner som ansiktsigenkänning och objektdetektering. Du kan organisera dina medier efter plats, njuta av 4K-videouppspelning och till och med hantera RAW-foton. Med stöd för flera användare är det enkelt att dela minnen med vänner och familj. Det bästa? Immich erbjuder dessa kraftfulla funktioner till en låg kostnad, vilket garanterar en premiumupplevelse utan att spräcka budgeten. - - Att distribuera immich på en privat molnenhet som Zima ger oöverträffad bekvämlighet. Njut av obegränsad lagringskapacitet, blixtsnabba lokala nätverkshastigheter och enkel åtkomst från flera enheter. Med immich på din privata Zima-moln är dina medier alltid inom räckhåll, säkra och skyddade i ditt hem. - el_GR: | - Immich: Επανάσταση στην εμπειρία οικιακών μέσων - - Το Immich είναι εδώ για να μεταμορφώσει τον τρόπο που διαχειρίζεστε και απολαμβάνετε τα αρχεία πολυμέσων σας σε οικιακή τηλεόραση, smartphones και άλλες συσκευές. Σε αντίθεση με τα παραδοσιακά φωτογραφικά άλμπουμ ή τις mainstream υπηρεσίες cloud, το Immich προσφέρει μια απρόσκοπτη και σύγχρονη πλατφόρμα για την οργάνωση, κοινή χρήση και πρόσβαση στις φωτογραφίες και τα βίντεό σας. Φανταστείτε να δημιουργείτε αντίγραφα ασφαλείας των πολύτιμων στιγμών σας από τις κινητές συσκευές σας χωρίς κόπο και να τα βλέπετε αμέσως στην τηλεόρασή σας ή να τα μοιράζεστε με μέλη της οικογένειας—το Immich τα κάνει όλα δυνατά. - - Το Immich ξεχωρίζει με την αυτόματη δημιουργία αντιγράφων ασφαλείας από κινητές συσκευές, μια κομψή διαδικτυακή διεπαφή για εύκολη περιήγηση στα μέσα και προηγμένες λειτουργίες όπως αναγνώριση προσώπων και ανίχνευση αντικειμένων. Μπορείτε να οργανώσετε τα μέσα σας ανά τοποθεσία, να απολαύσετε αναπαραγωγή βίντεο 4K και ακόμα να διαχειριστείτε φωτογραφίες RAW. Επιπλέον, με την υποστήριξη πολλαπλών χρηστών, η κοινή χρήση αναμνήσεων με φίλους και οικογένεια είναι παιχνιδάκι. Το καλύτερο; Το Immich προσφέρει αυτές τις ισχυρές λειτουργίες σε χαμηλό κόστος, εξασφαλίζοντας μια premium εμπειρία χωρίς να ξοδέψετε πολλά. - - Η ανάπτυξη του Immich σε μια ιδιωτική συσκευή cloud όπως το Zima προσφέρει απαράμιλλη ευκολία. Απολαύστε απεριόριστη χωρητικότητα αποθήκευσης, αστραπιαίες ταχύτητες τοπικού δικτύου και εύκολη πρόσβαση από πολλαπλές συσκευές. Με το Immich στο ιδιωτικό σας cloud Zima, τα μέσα σας είναι πάντα στα χέρια σας, ασφαλή και προστατευμένα στο σπίτι σας. - hr_HR: | - Immich: Revolucioniranje vašeg iskustva s medijima kod kuće - - Immich je tu da promijeni način na koji upravljate i uživate u svojim medijskim datotekama na kućnom televizoru, pametnim telefonima i drugim uređajima. Za razliku od tradicionalnih fotoalbuma ili mainstream cloud usluga, immich nudi besprijekornu i modernu platformu za organizaciju, dijeljenje i pristup vašim fotografijama i videima. Zamislite jednostavno sigurnosno kopiranje dragocjenih trenutaka s vaših mobilnih uređaja i trenutno gledanje na televizoru ili dijeljenje s članovima obitelji—immich to sve omogućuje. - - Immich se ističe automatskim sigurnosnim kopiranjem s mobilnih uređaja, elegantnim web-baziranim sučeljem za jednostavno pregledavanje medija i naprednim značajkama poput prepoznavanja lica i detekcije objekata. Možete organizirati svoje medije po lokaciji, uživati u reprodukciji 4K videa i čak upravljati RAW fotografijama. Uz podršku za više korisnika, dijeljenje uspomena s prijateljima i obitelji je jednostavno. Najbolji dio? Immich nudi ove snažne značajke po niskoj cijeni, osiguravajući vrhunsko iskustvo bez velikih troškova. - - Razmještanje immicha na privatnom cloud uređaju poput Zime donosi neusporedivu praktičnost. Uživajte u neograničenom kapacitetu pohrane, munjevitim brzinama lokalne mreže i jednostavnom pristupu s više uređaja. S immichom na vašem privatnom Zima cloudu, vaši mediji su uvijek nadohvat ruke, sigurni i zaštićeni u vašem domu. - pt_PT: | - Immich: Revolucionando a Sua Experiência Multimédia em Casa - - O Immich está aqui para transformar a forma como gere e desfruta dos seus ficheiros multimédia na televisão de casa, smartphones e outros dispositivos. Ao contrário dos álbuns de fotos tradicionais ou dos serviços de nuvem convencionais, o immich oferece uma plataforma moderna e fluida para organizar, partilhar e aceder às suas fotos e vídeos. Imagine fazer o backup dos seus momentos preciosos a partir dos seus dispositivos móveis sem esforço e visualizá-los instantaneamente na sua televisão ou partilhá-los com membros da família—o immich torna tudo isso possível. - - O Immich destaca-se pelo backup automático a partir de dispositivos móveis, uma interface web elegante para uma navegação fácil pelos conteúdos e funcionalidades avançadas como reconhecimento facial e deteção de objetos. Pode organizar os seus conteúdos por localização, desfrutar da reprodução de vídeos em 4K e até gerir fotos RAW. Além disso, com suporte multiutilizador, partilhar memórias com amigos e família é extremamente simples. A melhor parte? O Immich oferece estas funcionalidades poderosas a baixo custo, garantindo uma experiência premium sem gastar muito. - - Implementar o immich num dispositivo de nuvem privada como o Zima proporciona uma conveniência incomparável. Desfrute de capacidade de armazenamento ilimitada, velocidades de rede local extremamente rápidas e acesso fácil a partir de múltiplos dispositivos. Com o immich na sua nuvem privada Zima, os seus conteúdos estão sempre ao seu alcance, seguros e protegidos em sua casa. - ru_RU: | - Immich: Революция в управлении домашними медиа - - Immich меняет подход к управлению и наслаждению медиафайлами на вашем домашнем телевизоре, смартфонах и других устройствах. В отличие от традиционных фотоальбомов или популярных облачных сервисов, Immich предлагает бесшовную и современную платформу для организации, обмена и доступа к вашим фотографиям и видео. Представьте, как легко создавать резервные копии ваших драгоценных моментов с мобильных устройств и мгновенно просматривать их на телевизоре или делиться ими с членами семьи — Immich делает это возможным. - - Immich выделяется автоматическим резервным копированием с мобильных устройств, стильным веб-интерфейсом для удобного просмотра медиа и продвинутыми функциями, такими как распознавание лиц и обнаружение объектов. Вы можете организовывать медиа по местоположению, наслаждаться воспроизведением видео в 4K и даже управлять фотографиями в формате RAW. Благодаря поддержке нескольких пользователей делиться воспоминаниями с друзьями и семьей проще простого. И самое лучшее? Immich предлагает эти мощные функции по низкой цене, обеспечивая премиальный опыт без лишних затрат. - - Развертывание Immich на частном облачном устройстве, таком как Zima, обеспечивает непревзойденное удобство. Наслаждайтесь неограниченной емкостью хранилища, молниеносной скоростью локальной сети и легким доступом с нескольких устройств. С Immich на вашем частном облаке Zima ваши медиа всегда под рукой, надежно и безопасно в вашем доме. - tr_TR: | - Immich: Ev Medya Deneyiminizi Devrimleştiriyor - - Immich, ev televizyonunuzda, akıllı telefonlarınızda ve diğer cihazlarınızda medya dosyalarınızı yönetme ve keyfini çıkarma şeklinizi dönüştürmek için burada. Geleneksel fotoğraf albümlerinden veya ana akım bulut hizmetlerinden farklı olarak, immich fotoğraflarınızı ve videolarınızı düzenlemek, paylaşmak ve erişmek için kusursuz ve modern bir platform sunar. Değerli anlarınızı mobil cihazlarınızdan kolayca yedeklemeyi ve anında televizyonunuzda görüntülemeyi ya da aile üyeleriyle paylaşmayı hayal edin—immich tüm bunları mümkün kılar. - - Immich, mobil cihazlardan otomatik yedekleme, medya tarama için şık bir web tabanlı arayüz ve yüz tanıma ile nesne algılama gibi gelişmiş özellikleriyle öne çıkar. Medyalarınızı konuma göre düzenleyebilir, 4K video oynatımının keyfini çıkarabilir ve hatta RAW fotoğrafları yönetebilirsiniz. Ayrıca, çok kullanıcılı destek sayesinde arkadaşlarınız ve ailenizle anıları paylaşmak çok kolay. En iyi yanı? Immich, bu güçlü özellikleri düşük maliyetle sunarak bütçenizi zorlamadan birinci sınıf bir deneyim sağlar. - - Immich'i Zima gibi özel bir bulut cihazına kurmak, eşsiz bir kolaylık sunar. Sınırsız depolama kapasitesinin, yıldırım hızında yerel ağ hızlarının ve birden fazla cihazdan kolay erişimin keyfini çıkarın. Zima özel bulutunuzdaki immich ile medyalarınız her zaman parmaklarınızın ucunda, evinizde güvenli ve emniyettedir. - - tagline: - en_US: Self-hosted media management solution - en_GB: Self-hosted media management solution - it_IT: Soluzione di gestione multimediale self-hosted - nb_NO: Selvdrevet løsning for mediefilbehandling - zh_CN: 自托管媒体管理解决方案 - ja_JP: セルフホスト型メディア管理ソリューション - ko_KR: 자체 호스팅 미디어 관리 솔루션 - fr_FR: Solution de gestion multimédia auto-hébergée - de_DE: Selbstgehostete Medienverwaltungslösung - sv_SE: Självhostad lösning för mediahantering - el_GR: Αυτο-φιλοξενούμενη λύση διαχείρισης μέσων - hr_HR: Samostalna rješenja za upravljanje medijima - pt_PT: Solução de gestão de multimédia auto-hospedada - ru_RU: Самоуправляемое решение для управления медиа - tr_TR: Kendi kendine barındırılan medya yönetimi çözümü - title: - en_us: Immich - tips: - before_install: - en_us: | - **Setup Information:** - - 📱 **Mobile App**: After installation, you can download the Immich mobile app by scanning the QR code from the web interface settings page. - - ⏰ **Startup Time**: Immich takes approximately 5 minutes to fully start up. Please wait before accessing the web panel to ensure all services are ready. - - 🔐 **First Setup**: Create your admin account on first visit to the web interface. - index: / - webui_port: 80 diff --git a/Apps/Immich/icon.png b/Apps/Immich/icon.png deleted file mode 100644 index ea8dc04..0000000 Binary files a/Apps/Immich/icon.png and /dev/null differ diff --git a/Apps/Immich/rationale.md b/Apps/Immich/rationale.md deleted file mode 100644 index d75966c..0000000 --- a/Apps/Immich/rationale.md +++ /dev/null @@ -1,12 +0,0 @@ -# Immich Rationale - -## Authentication - -Authentication is directly managed by Immich itself. The application provides its own built-in user management system with secure login functionality, including: - -- User registration and login system -- Password-based authentication -- Multi-user support with individual libraries -- Admin panel for user management - -No additional authentication layer is required as Immich handles all security aspects internally through its web interface. \ No newline at end of file diff --git a/Apps/Immich/screenshot-1.png b/Apps/Immich/screenshot-1.png deleted file mode 100644 index 26f780d..0000000 Binary files a/Apps/Immich/screenshot-1.png and /dev/null differ diff --git a/Apps/Immich/screenshot-2.png b/Apps/Immich/screenshot-2.png deleted file mode 100644 index 8627eb0..0000000 Binary files a/Apps/Immich/screenshot-2.png and /dev/null differ diff --git a/Apps/Immich/screenshot-3.png b/Apps/Immich/screenshot-3.png deleted file mode 100644 index 51d1da1..0000000 Binary files a/Apps/Immich/screenshot-3.png and /dev/null differ diff --git a/Apps/Immich/thumbnail.png b/Apps/Immich/thumbnail.png deleted file mode 100644 index b86362c..0000000 Binary files a/Apps/Immich/thumbnail.png and /dev/null differ diff --git a/Apps/Jellyfin/docker-compose.yml b/Apps/Jellyfin/docker-compose.yml deleted file mode 100644 index bbd06b2..0000000 --- a/Apps/Jellyfin/docker-compose.yml +++ /dev/null @@ -1,64 +0,0 @@ -name: jellyfin - -services: - jellyfin: - image: jellyfin/jellyfin:10.10.7 - container_name: jellyfin - restart: unless-stopped - #ports: - # Port mappings can be uncommented when the ip feature is available - # - "8920:8920" - # - "7359:7359/udp" - # - "1900:1900/udp" - expose: - - 8096 - volumes: - - /DATA/AppData/jellyfin/config:/config - - /DATA/AppData/jellyfin/cache:/cache - - /DATA/Media/Movies:/media/movies - - /DATA/Media/TV Shows:/media/tvshows - - /DATA/Media/Music:/media/music - - /DATA/Downloads:/media/downloads - user: $PUID:$PGID - environment: - PGID: $PGID - PUID: $PUID - TZ: $TZ - cpu_shares: 50 - deploy: - resources: - limits: - memory: 256M - -x-casaos: - architectures: - - amd64 - - arm64 - author: Yundera Team - category: Media - developer: Jellyfin Project - description: - en_us: Jellyfin - The Free Software Media System that puts you in control of managing and streaming your media. Stream to any device from your own server. - fr_fr: Jellyfin - Le système multimédia libre qui vous donne le contrôle total de la gestion et du streaming de vos médias. Diffusez vers n'importe quel appareil depuis votre propre serveur. - es_es: Jellyfin - El sistema multimedia de software libre que te da control total sobre la gestión y transmisión de tus medios. Transmite a cualquier dispositivo desde tu propio servidor. - zh_cn: Jellyfin - 免费开源媒体系统,让您完全控制媒体的管理和流媒体播放。从您自己的服务器流式传输到任何设备。 - ko_kr: Jellyfin - 미디어 관리 및 스트리밍을 완전히 제어할 수 있는 무료 오픈소스 미디어 시스템입니다. 자체 서버에서 모든 기기로 스트리밍하세요. - icon: https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Jellyfin/icon.png - screenshot_link: - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Jellyfin/screenshot-1.png - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Jellyfin/screenshot-2.png - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Jellyfin/screenshot-3.png - thumbnail: https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/Jellyfin/thumbnail.png - index: / - tagline: - en_us: This is your Movie Hub. Watch your own movies, shows, and live TV - just like a streaming app, but fully hosted by you. - fr_fr: Votre serveur de streaming multimédia personnel sans contraintes - es_es: Tu servidor personal de transmisión multimedia sin ataduras - zh_cn: 您的个人媒体流媒体服务器,完全自由 - ko_kr: 완전히 자유로운 개인 미디어 스트리밍 서버 - title: - en_us: Jellyfin - store_app_id: jellyfin - main: jellyfin - is_uncontrolled: false - webui_port: 8096 \ No newline at end of file diff --git a/Apps/Jellyfin/icon.png b/Apps/Jellyfin/icon.png deleted file mode 100644 index 3c249c0..0000000 Binary files a/Apps/Jellyfin/icon.png and /dev/null differ diff --git a/Apps/Jellyfin/screenshot-1.png b/Apps/Jellyfin/screenshot-1.png deleted file mode 100644 index 2951abb..0000000 Binary files a/Apps/Jellyfin/screenshot-1.png and /dev/null differ diff --git a/Apps/Jellyfin/screenshot-2.png b/Apps/Jellyfin/screenshot-2.png deleted file mode 100644 index d541935..0000000 Binary files a/Apps/Jellyfin/screenshot-2.png and /dev/null differ diff --git a/Apps/Jellyfin/screenshot-3.png b/Apps/Jellyfin/screenshot-3.png deleted file mode 100644 index 02646fa..0000000 Binary files a/Apps/Jellyfin/screenshot-3.png and /dev/null differ diff --git a/Apps/Jellyfin/thumbnail.png b/Apps/Jellyfin/thumbnail.png deleted file mode 100644 index eb77df8..0000000 Binary files a/Apps/Jellyfin/thumbnail.png and /dev/null differ diff --git a/Apps/qBittorrent/docker-compose.yml b/Apps/qBittorrent/docker-compose.yml deleted file mode 100644 index 5019c7a..0000000 --- a/Apps/qBittorrent/docker-compose.yml +++ /dev/null @@ -1,71 +0,0 @@ -name: qbittorrent - -services: - qbittorrent: - user: $PUID:$PGID - image: lscr.io/linuxserver/qbittorrent:5.1.1 - container_name: qbittorrent - restart: unless-stopped - expose: - - 80 - # Uncomment the ports section if you want to expose the service on specific ports - #ports: - # - 6881:6881 - # - 6881:6881/udp - environment: - TZ: $TZ - WEBUI_PORT: 80 - TORRENTING_PORT: 6881 - volumes: - - /DATA/AppData/qbittorrent/config:/config - - /DATA/Downloads:/downloads - cpu_shares: 10 - deploy: - resources: - limits: - memory: 512M - -x-casaos: - main: qbittorrent - webui_port: 80 - pre-install-cmd: | - mkdir -p /DATA/AppData/qbittorrent/config/qBittorrent && - docker run --rm \ - -v /DATA/AppData/qbittorrent/config/qBittorrent:/output \ - -e QB_PASSWORD="${default_pwd:-adminadmin}" \ - -e QB_USERNAME=admin \ - ghcr.io/worph/qbittorrent-config:1.0.2 - tips: - before_install: - en_us: | - Login : `admin` - Password : `$default_pwd` - The download directory is `/DATA/Downloads` - architectures: - - amd64 - - arm64 - author: Yundera Team - category: Downloader - developer: qBittorrent Project - description: - en_us: qBittorrent is a cross-platform free and open-source BitTorrent client with a clean, simple interface and powerful features including sequential downloading, bandwidth scheduling, and RSS feed support. - fr_fr: qBittorrent est un client BitTorrent multiplateforme gratuit et open-source avec une interface propre et simple et des fonctionnalités puissantes incluant le téléchargement séquentiel, la planification de bande passante et le support des flux RSS. - es_es: qBittorrent es un cliente BitTorrent multiplataforma gratuito y de código abierto con una interfaz limpia y simple y características poderosas incluyendo descarga secuencial, programación de ancho de banda y soporte de feeds RSS. - zh_cn: qBittorrent是一个跨平台的免费开源BitTorrent客户端,具有简洁的界面和强大的功能,包括顺序下载、带宽调度和RSS源支持。 - ko_kr: qBittorrent는 깔끔하고 간단한 인터페이스와 순차 다운로드, 대역폭 스케줄링, RSS 피드 지원을 포함한 강력한 기능을 가진 크로스 플랫폼 무료 오픈소스 BitTorrent 클라이언트입니다. - icon: https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/qBittorrent/icon.png - screenshot_link: - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/qBittorrent/screenshot-1.png - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/qBittorrent/screenshot-2.png - - https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/qBittorrent/screenshot-3.png - index: / - tagline: - en_us: Powerful BitTorrent client with advanced features for managing your downloads efficiently and securely. - fr_fr: Client BitTorrent puissant avec des fonctionnalités avancées pour gérer vos téléchargements efficacement et en sécurité. - es_es: Potente cliente BitTorrent con características avanzadas para gestionar tus descargas de manera eficiente y segura. - zh_cn: 功能强大的BitTorrent客户端,具有高级功能,可高效安全地管理您的下载。 - ko_kr: 다운로드를 효율적이고 안전하게 관리할 수 있는 고급 기능을 갖춘 강력한 BitTorrent 클라이언트입니다. - title: - en_us: qBittorrent - store_app_id: qbittorrent - is_uncontrolled: false \ No newline at end of file diff --git a/Apps/qBittorrent/icon.png b/Apps/qBittorrent/icon.png deleted file mode 100644 index bbab3a3..0000000 Binary files a/Apps/qBittorrent/icon.png and /dev/null differ diff --git a/Apps/qBittorrent/screenshot-1.png b/Apps/qBittorrent/screenshot-1.png deleted file mode 100644 index ef25900..0000000 Binary files a/Apps/qBittorrent/screenshot-1.png and /dev/null differ diff --git a/Apps/qBittorrent/screenshot-2.png b/Apps/qBittorrent/screenshot-2.png deleted file mode 100644 index b740b36..0000000 Binary files a/Apps/qBittorrent/screenshot-2.png and /dev/null differ diff --git a/Apps/qBittorrent/screenshot-3.png b/Apps/qBittorrent/screenshot-3.png deleted file mode 100644 index 0fdd177..0000000 Binary files a/Apps/qBittorrent/screenshot-3.png and /dev/null differ diff --git a/Apps/qBittorrent/thumbnail.png b/Apps/qBittorrent/thumbnail.png deleted file mode 100644 index 390371e..0000000 Binary files a/Apps/qBittorrent/thumbnail.png and /dev/null differ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a2bc9f0..9bc346e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,21 +8,28 @@ This document describes how to contribute an app to the Yundera Compose AppStore Before submitting your PR, ensure your app meets these requirements: +### Tech Checklist +- [ ] Proper file permissions based on volume usage. See [Permission Strategy](#permission-strategy) for details +- [ ] Migration path from previous versions is tested - only incremental migration is supported (if a user wants to go from v1.1 to v1.4, they must execute v1.2 and v1.3 first) +- [ ] **Pre-install and Post-install commands security**: If using `pre-install-cmd` or `post-install-cmd`, ensure specific version tags (no `:latest`) and proper user permissions (`--user $PUID:$PGID` when writing to user directories) + ### Security Checklist - [ ] Default authentication (Basic Auth, OAuth, etc.) is enabled and documented - exceptions must be explained in rationale.md (e.g., public websites) - Example of valid exception: - A public website that does not require authentication - The app handle authentication configuration on first launch via an onboarding process (eg Jellyfin, Immich, etc.) - [ ] No hardcoded credentials in the compose file - use environment variables or secrets -- [ ] Proper file permissions based on volume usage. See [Permission Strategy](#permission-strategy) for details - [ ] Specific version tag (no `:latest`) -- [ ] Resource limits are mandatory and set appropriately (on all services in case of multiple services) - exceptions must be explained in rationale.md -- [ ] Migration path from previous versions is tested - only incremental migration is supported (if a user wants to go from v1.1 to v1.4, they must execute v1.2 and v1.3 first) ### Functionality Checklist - [ ] Works immediately after installation - no need to check logs or run commands - pre-install scripts create sensible defaults - [ ] Data is mapped to appropriate `/DATA` subdirectories - if things are mapped outside of /DATA, this should be explained in rationale.md - [ ] No manual configuration required for basic functionality - should work out of the box +- [ ] Data persistence requirements are met - see [Data Persistence](#data-persistence) section for details +- [ ] CPU field cpu_shares is set appropriately (on all services) +- [ ] fresh installation tested +- [ ] uninstall/reinstall tested - An application should be able to be uninstalled and reinstalled without losing user data or configuration (See the keep user data option when uninstalling) + ### Documentation Checklist - [ ] Clear description of the application @@ -56,6 +63,32 @@ To ensure easy testing, please follow these steps: ## Guidelines +### Data Persistence + +Applications must be designed to preserve user data across uninstallation and reinstallation cycles. This ensures users never lose their personal data when updating or reinstalling applications. + +**Requirements:** +- **Persistent Volume Mapping**: All user data, configurations, and databases must be stored in volumes mapped to `/DATA/AppData/[AppName]/` +- **Graceful Data Reuse**: Applications must detect and reuse existing data when reinstalled +- **No Data Erasure**: Container startup processes must never erase or overwrite existing user data +- **Configuration Preservation**: Settings, user accounts, and preferences should persist across container lifecycle + +**Implementation Guidelines:** +- Map all persistent data to `/DATA/AppData/[AppName]/` subdirectories +- Use initialization scripts that check for existing data before creating defaults +- Ensure database migrations are handled gracefully on version updates +- Test uninstall/reinstall scenarios to verify data persistence + +**Example Volume Mapping:** +```yaml +volumes: + - /DATA/AppData/myapp/config:/app/config + - /DATA/AppData/myapp/database:/var/lib/database + - /DATA/AppData/myapp/uploads:/app/uploads +``` + +This approach ensures that when users uninstall and reinstall applications, they can continue from where they left off without losing any personal data or configurations. + ### File Structure Understanding the directory structure is essential for proper app development and data management. All user data and application configurations are stored under `/DATA`: @@ -70,8 +103,8 @@ and Yundera uses a dual permission model to balance security and usability: Files owned by `PUID:PGID` (usually `1000:1000` for the 'pcs:pcs' user) -if no "user" field is specified in the compose file, the container will run as PUID:PGID (different behavior than the docker default so be carful) -if you need to run as root, you must specify `user: 0:0` in the compose file and set the `PUID` and `PGID` to `0:0` in the environment variables. +**if no "user" field is specified in the compose file, the container will run as PUID:PGID (different behavior than the docker default so be carful)** +if you need to run as root, you must specify `user: 0:0` in the compose file. **User-Friendly Directories** @@ -82,13 +115,27 @@ if you need to run as root, you must specify `user: 0:0` in the compose file and - Applications accessing these directories **must** use `user: $PUID:$PGID` **AppData Directories** -- Root ownership acceptable but preferably `PUID:PGID` to allow user to change configurations easily -- `/DATA/AppData/[AppName]/` - Application-specific data and configurations +Contains the App folder : `/DATA/AppData/[AppName]/` - Application-specific data and configurations + +- Root ownership withing the App folder is acceptable but preferably `PUID:PGID` to allow user to change configurations easily - Contains databases, config files, cache, logs, and internal app data -- Users should **not** directly modify these files (system-managed) - Root containers are acceptable when volumes map exclusively to AppData - Examples: `/DATA/AppData/immich/pgdata`, `/DATA/AppData/immich/model-cache` +The App folder should always be owned by `PUID:PGID` to allow the user to romove the folder if needed. +inside this folder the permission may vary depending on usage. + +example`: +``` +root@yundera:/DATA/AppData# ls -al +drwxr-xr-x 13 pcs pcs 4096 Sep 3 14:17 . +drwxrwxrwx 8 pcs pcs 4096 Sep 3 14:17 .. +drwxr-xr-x 5 pcs pcs 4096 Sep 4 12:12 casaos +drwxr-xr-x 3 pcs pcs 4096 Jun 25 10:30 duplicati +drwxr-xr-x 3 pcs pcs 4096 Aug 3 19:35 filebrowser +drwxr-xr-x 4 pcs pcs 4096 Jun 25 10:30 jellyfin +``` + **Mixed Usage Applications:** - If an app needs both AppData and user directory access, use `user: $PUID:$PGID` - Alternative: Use separate containers (one for system tasks, one for user file access) @@ -175,6 +222,61 @@ This structure ensures: - Easy backup and migration - Consistent file permissions with PUID/PGID +### CPU Share Guidelines + +It is mandatory to set CPU shares for all services in your compose file. This helps ensure fair resource allocation and prevents any single container from monopolizing CPU resources. + +CPU shares determine relative CPU priority between containers. Higher values get more CPU time when the system is under load. + +**Formula:** `cpu_shares: [value]` (relative weight, not percentage) + +#### CPU Share Allocation: +``` +**100 - System Critical** (Reserved) +- System services that must never be starved + +**90 - Administrative Critical** +- Applications that must always be responsive with no heavy background processes +- Examples: CasaOS, Portainer, admin dashboards, monitoring tools + +**80 - User-Facing Interactive** +- Real-time applications requiring immediate user responsiveness +- Examples: Web servers, frontend applications, API backends, reverse proxies + +**70 - Interactive with Heavy Tasks** +- Real-time applications that may have intensive background processes +- Examples: Nextcloud (web + background jobs), WebRTC servers, databases serving interactive apps + +**50 - Standard Applications** (Default) +- Regular applications without special performance requirements +- Examples: Most containerized applications, file servers, basic services + +**30 - Background Services** +- Non-interactive services that don't require immediate responsiveness +- Examples: Backup services (Duplicati), log aggregation, scheduled tasks + +**20 - Heavy Background Processing** +- Resource-intensive background tasks with no real-time requirements +- Examples: Machine learning services (Immich ML), video transcoding, batch processing + +**10 - System Background** (Reserved) +- Reserved for system maintenance tasks +``` + +#### Resource limits + +Optional +Only add if necessary to prevent resource exhaustion but most application don't need it. + +```yaml + deploy: + resources: + limits: + memory: 512M +``` + +3. **Testing**: Consider your server's typical load when choosing values + ### Project Structure ```shell @@ -237,18 +339,25 @@ Each directory under [Apps](Apps) corresponds to a Compose App. The directory sh source: /DATA/AppData/$AppID/config # $AppID = app name, e.g. syncthing ``` -- **System Variables**: CasaOS now provides additional system-wide variables for enhanced functionality: +- **System Variables**: CasaOS provides additional system-wide variables for enhanced functionality. These environment variables are automatically injected by CasaOS at container creation: ```yaml environment: - PGID: $PGID # Preset Group ID - PUID: $PUID # Preset User ID - TZ: $TZ # Current system timezone - PASSWORD: $default_pwd # Secure default password generated by CasaOS - DOMAIN: $domain # Domain (or subdomain) mapped to this container - PUBLIC_IP: $public_ip # Public IP used for port binding and announcements + # Standard system variables + PGID: $PGID # Preset Group ID + PUID: $PUID # Preset User ID + TZ: $TZ # Current system timezone + + # V2 system variables (recommended) + PCS_DEFAULT_PASSWORD: $PCS_DEFAULT_PASSWORD # Secure default password generated by CasaOS + PCS_DOMAIN: $PCS_DOMAIN # Domain without https:// (e.g., example.com) + PCS_DATA_ROOT: $PCS_DATA_ROOT # Data root directory (/DATA) + PCS_PUBLIC_IP: $PCS_PUBLIC_IP # Public IP for port binding and announcements + PCS_EMAIL: $PCS_EMAIL # Admin email (admin@DOMAIN) ``` + **Note:** The V2 variable names (prefixed with `PCS_`) are the current standard. Use these in new applications for consistency across the CasaOS ecosystem. + - CasaOS specific metadata, also called *store info*, are stored under the [extension](https://docs.docker.com/compose/compose-file/#extension) property `x-casaos`. #### Compose App Level Configuration @@ -288,9 +397,9 @@ x-casaos: before_install: en_us: | Default Account - | Username | Password | - | -------- | ------------ | - | `admin` | `$default_pwd` | + | Username | Password | + | -------- | ----------------------- | + | `admin` | `$PCS_DEFAULT_PASSWORD` | ``` ### Features @@ -309,13 +418,19 @@ x-casaos: When using `pre-install-cmd`, ensure the command is idempotent and does not require user interaction. Also ensure that versions are specified for any images used in the command to avoid unexpected changes. +**SECURITY REQUIREMENTS for pre-install-cmd:** +- [ ] **Specific version tags**: Never use `:latest` - always specify exact versions (e.g., `alpine:3.19`, `ubuntu:22.04`) +- [ ] **User specification**: Use `--user $PUID:$PGID` when creating files in user directories to ensure proper permissions +- [ ] **Idempotent operations**: Commands should be safe to run multiple times +- [ ] **No hardcoded credentials**: Use system variables like `$PCS_DEFAULT_PASSWORD` + Example: ```yaml x-casaos: pre-install-cmd: | docker run --rm -v /DATA/AppData/filebrowser/db/:/db filebrowser/filebrowser:v2.32.0 config init --database /db/database.db && docker run --rm -v /DATA/AppData/filebrowser/:/data ubuntu:22.04 chown -R $PUID:$PGID /data && - docker run --rm -v /DATA/AppData/filebrowser/db/:/db filebrowser/filebrowser:v2.32.0 users add admin $default_pwd --perm.admin --database /db/database.db + docker run --rm -v /DATA/AppData/filebrowser/db/:/db filebrowser/filebrowser:v2.32.0 users add admin $PCS_DEFAULT_PASSWORD --perm.admin --database /db/database.db ``` **Common use cases:** @@ -324,117 +439,124 @@ x-casaos: - Generate certificates or keys - Prepare the environment with sensible defaults -#### NSL Router Integration (Web UI Access) +#### Caddy Integration (Web UI Access) -The Yundera AppStore uses the NSL Router (mesh-router) system to provide clean HTTPS URLs for your applications. The mesh router automatically generates subdomains based on your compose configuration. +The Yundera AppStore uses Caddy reverse proxy with Docker labels for automatic HTTPS routing. Apps are accessible via free nsl.sh subdomains (e.g., `https://appname-username.nsl.sh`). -**How NSL Router Works:** -- The mesh router runs on nsl.sh domains and provides subdomain routing to Yundera users -- Each user gets a subdomain like `username.nsl.sh` -- Applications are accessible via clean URLs without port numbers +**How It Works:** +- Caddy watches Docker containers for specific labels +- Labels define the subdomain prefix and backend port +- Caddy automatically handles HTTPS certificates and routing +- nsl.sh provides free subdomains for all Yundera users -**URL Generation Pattern:** -``` -https://[port]-appname-username.nsl.sh/ +**Label Format:** +```yaml +labels: + - "caddy=-${APP_DOMAIN}" + - "caddy.reverse_proxy={{upstreams }}" ``` -**Compose File Requirements for NSL Router:** -- Use `expose` instead of `ports` for web UI services -- Set `webui_port` to port 80 when possible (recommended for clean URLs) -- Other ports are supported but will include the port in the URL -- The router automatically handles HTTPS termination and routing - -**Example - Before NSL Router:** -``` -http://server-ip:2283/ # Direct port access -``` +**Compose File Requirements:** +- Use `expose` to expose the web UI port (required for Caddy discovery) +- Add Caddy labels to the main web UI service only +- Use `${APP_DOMAIN}` variable (resolves to `username.nsl.sh` in production) -**Example - With NSL Router:** +**Example - Basic Caddy Configuration:** ```yaml services: immich: image: altran1502/immich-server:v1.135.3 expose: - - 80 # Expose port 80 internally + - 80 # Expose port for Caddy discovery + labels: + - "caddy=immich-${APP_DOMAIN}" + - "caddy.reverse_proxy={{upstreams 80}}" environment: - IMMICH_PORT: 80 # Configure app to use port 80 - + IMMICH_PORT: 80 + x-casaos: main: immich - webui_port: 80 # Must match exposed port + webui_port: 80 ``` -**Result:** `https://immich-username.nsl.sh/` (clean URL, no port numbers) +**Result:** `https://immich-username.nsl.sh/` -**Alternative - Non-80 Port Example:** +**Example - Non-Port-80 Service:** ```yaml services: - grafana: - image: grafana/grafana:latest + duplicati: + image: linuxserver/duplicati:latest expose: - - 3000 # Expose port 3000 internally - environment: - GF_SERVER_HTTP_PORT: 3000 - + - 8200 # Expose the service port + labels: + - "caddy=duplicati-${APP_DOMAIN}" + - "caddy.reverse_proxy={{upstreams 8200}}" + x-casaos: - main: grafana - webui_port: 3000 # Must match exposed port + main: duplicati + webui_port: 8200 ``` -**Result:** `https://3000-grafana-username.nsl.sh/` (includes port in URL) +**Result:** `https://duplicati-username.nsl.sh/` **Port Selection Guidelines:** -- **Port 80**: Clean URLs without port numbers (recommended) -- **Other ports**: Accessible but URL includes port prefix -- **Standard ports**: Use application defaults when port 80 conflicts with app requirements +- Configure applications to use port 80 when possible +- Any port works with Caddy - just match the `expose` and label port values +- The URL remains clean regardless of the backend port -The mesh router handles: -- HTTPS certificate management +Caddy handles: +- Automatic HTTPS certificate management (Let's Encrypt) - Subdomain routing to the correct container -- VPN-secured communication between router and containers -- Port-based subdomain generation for non-80 ports +- Load balancing and health checks +- WebSocket proxying -**Web UI Requirements (all three must be configured together):** -- The main service must `expose` the web UI port (using `expose`, not necessarily `ports`) +**Web UI Requirements (all must be configured together):** +- The main service must `expose` the web UI port +- Add Caddy labels to the service with `caddy=-${APP_DOMAIN}` and `caddy.reverse_proxy` - The `webui_port` field must match the exposed port number -- The `main` field must reference a valid service name under `services` +- The `main` field must reference the service with Caddy labels **Important Notes:** -- Only one web UI domain is supported per app (even with multiple containers) -- HTTPS unwrapping is handled automatically by nsl.sh mesh router - no certificate management needed at container level -- Other ports can still be bound directly to the public IP for non-web services -- the main app name and hostname should be a simple name without spaces or special characters, as it will be used in the URL. +- Add Caddy labels only to the main web UI service (not to database or backend services) +- The service name in the `caddy=` label should match the `main` field in x-casaos +- Use `${APP_DOMAIN}` for portability across different deployments +- The app name should be simple without spaces or special characters -**Example Configuration:** +**Example Multi-Service Configuration:** ```yaml services: database: image: postgres:13 - # Database service - no web UI - + # Database service - no Caddy labels needed + webui-service: image: myapp:latest expose: - 8080 # Must expose the web UI port + labels: + - "caddy=myapp-${APP_DOMAIN}" + - "caddy.reverse_proxy={{upstreams 8080}}" ports: - "9000:9000" # Direct port binding for API or other services depends_on: - database x-casaos: - main: webui-service # References the service with web UI - webui_port: 8080 # Must match the exposed port above + main: webui-service # References the service with Caddy labels + webui_port: 8080 # Must match the exposed port ``` #### System Variables CasaOS automatically provides several system variables for your compose files: -** Variables:** -- `$default_pwd`: A secure default password generated by CasaOS for applications requiring authentication -- `$domain`: The domain or subdomain mapped to this container for web UI access -- `$public_ip`: The public IP address used for port binding announcements and external access +**Available Variables:** +- `$PCS_DEFAULT_PASSWORD`: A secure default password generated by CasaOS for applications requiring authentication +- `$PCS_DOMAIN`: The domain (without https://) mapped to this container for web UI access +- `$PCS_PUBLIC_IP`: The public IP address used for port binding announcements and external access +- `$PCS_DATA_ROOT`: The data root directory (always `/DATA`) +- `$PCS_EMAIL`: Admin email in the format `admin@DOMAIN` - `$AppID`: The application name/ID - `$PUID/$PGID`: User/Group IDs for proper file permissions - `$TZ`: System timezone @@ -442,9 +564,11 @@ CasaOS automatically provides several system variables for your compose files: **Example Usage:** ```yaml environment: - - PASSWORD=$default_pwd - - DOMAIN=$domain - - PUBLIC_IP=$public_ip + - PASSWORD=$PCS_DEFAULT_PASSWORD + - DOMAIN=$PCS_DOMAIN + - PUBLIC_IP=$PCS_PUBLIC_IP + - EMAIL=$PCS_EMAIL + - DATA_ROOT=$PCS_DATA_ROOT - PUID=$PUID - PGID=$PGID - TZ=$TZ diff --git a/README.md b/README.md index 8bb8d5e..226b4db 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Yundera CasaOS 3rd-Party AppStore ## About -This AppStore provides a curated list of applications compatible with CasaOS running on Yundera servers. The apps are specifically configured to work with the nsl.sh mesh router service and are accessible over HTTPS by default. +This AppStore provides a curated list of applications compatible with CasaOS running on Yundera servers. The apps are specifically configured to work with Caddy reverse proxy and nsl.sh free subdomains, accessible over HTTPS by default. ### Key Differences from Official CasaOS AppStore Regular CasaOS app URL: @@ -11,18 +11,17 @@ Yundera app URL: ```https://memo-demo.nsl.sh``` All apps are designed to run on CasaIMG, a dockerized version of CasaOS. -All apps are accessible over HTTPS by default. -All apps are tested on Yundera servers using a nsl.sh routing domain. +All apps are accessible over HTTPS by default via Caddy reverse proxy. +All apps are tested on Yundera servers using nsl.sh routing domains. ## Related Projects -- [CasaIMG](https://github.com/yundera/casa-img) - Docker-based CasaOS image manager with mesh router compatibility -- [Mesh-Router](https://github.com/yundera/mesh-router) - Domain management system for containerized applications, integrated with CasaIMG +- [CasaIMG](https://github.com/yundera/casa-img) - Docker-based CasaOS image manager with Caddy integration ## Sponsors -* **Yundera** - [yundera.com](https://yundera.com) +* **Yundera** - [yundera.com](https://yundera.com) Easy to use cloud server for open source container applications -* **NSL.SH** - [nsl.sh](https://nsl.sh) - Free domain provider for open source projects +* **NSL.SH** - [nsl.sh](https://nsl.sh) + Free subdomain provider for open source projects ## Contributing We welcome contributions to help grow this AppStore: