diff --git a/moviepilot/.helmignore b/moviepilot/.helmignore new file mode 100644 index 00000000..e69de29b diff --git a/moviepilot/Chart.yaml b/moviepilot/Chart.yaml new file mode 100644 index 00000000..4c91f0c5 --- /dev/null +++ b/moviepilot/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +name: moviepilot +description: moviepilot + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: '1.0.3' + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: "2.1.7" diff --git a/moviepilot/OlaresManifest.yaml b/moviepilot/OlaresManifest.yaml new file mode 100644 index 00000000..0dba047a --- /dev/null +++ b/moviepilot/OlaresManifest.yaml @@ -0,0 +1,97 @@ +olaresManifest.version: '0.8.1' +olaresManifest.type: app +metadata: + name: moviepilot + description: NAS Media Library Automation Management Tool + icon: https://file.bttcdn.com/appstore/moviepilot/logo.png + appid: moviepilot + version: '1.0.3' + title: MoviePilot + categories: + - Productivity +permission: + appData: true + appCache: true + userData: + - Home + sysData: + - dataType: legacy_qbittorrent + appName: qbittorrent + port: 8001 + group: apiv2.qbittorrent + version: v2 + ops: + - All + - dataType: legacy_deluge + appName: deluge + port: 8112 + group: api.deluge + version: v2 + ops: + - All + - dataType: legacy_nzbget + appName: nzbget + port: 6789 + group: api.nzbget + version: v2 + ops: + - All + - dataType: legacy_transmission + appName: transmission + port: 9091 + group: api.transmission + version: v2 + ops: + - All +spec: + versionName: '2.1.7' + featuredImage: https://file.bttcdn.com/appstore/moviepilot/featured_image.jpg + fullDescription: | + MoviePilot has been redesigned based on NAS-tool code to focus on the core needs of automation, reducing problems while being easier to extend and maintain. + Note: to use this application, you need to pass a user authentication in one of the supported PT site. + + Key Features + Front-end and back-end separation, based on FastApi + Vue3 + Focus on the core requirements, simplify the functions and settings, some settings can directly use the default values. + Redesigned user interface, more beautiful and easy to use. + + upgradeDescription: | + Fixed the issue of catalog monitoring. + Fixed the problem of messy code in individual sites + Optimized the UI details of the plugin + Added several new authentication sites + + developer: MoviePilot + website: https://wiki.movie-pilot.org/ + sourceCode: https://github.com/jxxghp/MoviePilot + submitter: Olares + locale: + - en-US + - zh-CN + doc: https://wiki.movie-pilot.org/ + requiredMemory: 1Gi + limitedMemory: 1.5Gi + requiredDisk: 128Mi + limitedDisk: 256Mi + requiredCpu: 0.3 + limitedCpu: 1 + license: + - text: GPL-3.0 + url: https://github.com/jxxghp/MoviePilot?tab=GPL-3.0-1-ov-file#readme + supportArch: + - amd64 + - arm64 + runAsUser: true +options: + dependencies: + - name: olares + type: system + version: '>=1.10.1-0' +entrances: +- name: moviepilot + port: 3000 + host: moviepilot + title: MoviePilot + icon: https://file.bttcdn.com/appstore/moviepilot/logo.png + authLevel: private + openMethod: window diff --git a/moviepilot/i18n/en-US/OlaresManifest.yaml b/moviepilot/i18n/en-US/OlaresManifest.yaml new file mode 100644 index 00000000..617483ea --- /dev/null +++ b/moviepilot/i18n/en-US/OlaresManifest.yaml @@ -0,0 +1,18 @@ +metadata: + title: MoviePilot + description: NAS Media Library Automation Management Tool +spec: + fullDescription: | + MoviePilot has been redesigned based on NAS-tool code to focus on the core needs of automation, reducing problems while being easier to extend and maintain. + Note: to use this application, you need to pass a user authentication in one of the supported PT site. + + Key Features + Front-end and back-end separation, based on FastApi + Vue3 + Focus on the core requirements, simplify the functions and settings, some settings can directly use the default values. + Redesigned user interface, more beautiful and easy to use. + + upgradeDescription: | + Fixed the issue of catalog monitoring. + Fixed the problem of messy code in individual sites + Optimized the UI details of the plugin + Added several new authentication sites \ No newline at end of file diff --git a/moviepilot/i18n/zh-CN/OlaresManifest.yaml b/moviepilot/i18n/zh-CN/OlaresManifest.yaml new file mode 100644 index 00000000..e1256eba --- /dev/null +++ b/moviepilot/i18n/zh-CN/OlaresManifest.yaml @@ -0,0 +1,19 @@ +metadata: + title: MoviePilot + description: NAS媒体库自动化管理工具 +spec: + fullDescription: | + MoviePilot 基于 NAStool 部分代码重新设计,聚焦自动化核心需求,减少问题同时更易于扩展和维护。 + 注意:使用本软件需要先在支持的PT站点进行用户认证。 + + + 主要特性 + 前后端分离,基于FastApi + Vue3 + 聚焦核心需求,简化功能和设置,部分设置项可直接使用默认值。 + 重新设计了用户界面,更加美观易用。 + + upgradeDescription: | + 修复了目录监控的问题 + 修复了个别站点乱码的问题 + 优化了插件的UI细节 + 新增了多个认证站点 diff --git a/moviepilot/owners b/moviepilot/owners new file mode 100644 index 00000000..c90f45c3 --- /dev/null +++ b/moviepilot/owners @@ -0,0 +1,4 @@ +owners: +- 'LittleLollipop' +- 'TShentu' +- 'pengpeng' diff --git a/moviepilot/templates/moviepilot.yaml b/moviepilot/templates/moviepilot.yaml new file mode 100644 index 00000000..1b3799c9 --- /dev/null +++ b/moviepilot/templates/moviepilot.yaml @@ -0,0 +1,96 @@ +{{- $moviepilotDomainENV := split "," .Values.domain.moviepilot -}} +{{- $moviepilotDomain := index $moviepilotDomainENV "_0" -}} + +--- +apiVersion: v1 +kind: Service +metadata: + name: moviepilot + namespace: {{ .Release.Namespace }} +spec: + selector: + app: moviepilot + ports: + - protocol: TCP + port: 3000 + targetPort: 3000 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: moviepilot + namespace: {{ .Release.Namespace }} + labels: + app: moviepilot +spec: + replicas: 1 + selector: + matchLabels: + app: moviepilot + template: + metadata: + labels: + app: moviepilot + spec: + volumes: + - name: appcache + hostPath: + type: DirectoryOrCreate + path: {{ .Values.userspace.appCache}}/moviepilot + - name: moviepilot-config + hostPath: + type: DirectoryOrCreate + path: {{ .Values.userspace.appCache}}/moviepilot/config + - name: moviepilot-core + hostPath: + type: DirectoryOrCreate + path: {{ .Values.userspace.appCache}}/moviepilot/core + - name: home + hostPath: + type: Directory + path: {{ .Values.userspace.userData }}/ + initContainers: + - name: init-chmod-data + image: 'docker.io/aboveos/busybox:latest' + command: + - sh + - '-c' + - | + chown -R 1000:1000 /appcache + resources: {} + volumeMounts: + - name: appcache + mountPath: /appcache + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + imagePullPolicy: IfNotPresent + securityContext: + runAsUser: 0 + containers: + - name: moviepilot + image: aboveos/jxxghp-moviepilot:1.9.17 + resources: + requests: + cpu: 300m + memory: 1Gi + limits: + cpu: 1000m + memory: 1.5Gi + ports: + - containerPort: 3000 + env: + - name: PGID + value: "1000" + - name: PUID + value: "1000" + + securityContext: + runAsUser: 0 + runAsNonRoot: false + volumeMounts: + - mountPath: /config + name: moviepilot-config + - mountPath: /moviepilot/.cache/ms-playwright + name: moviepilot-core + - mountPath: /home + name: home diff --git a/moviepilot/values.yaml b/moviepilot/values.yaml new file mode 100644 index 00000000..e69de29b