From 9083d7b20eda28d8a592d1495d659906218c41b1 Mon Sep 17 00:00:00 2001 From: lapineige Date: Sun, 25 Jun 2023 20:14:14 +0200 Subject: [PATCH] First manifest.toml version --- manifest.toml | 121 +++++++++++++------------------------------------- 1 file changed, 32 insertions(+), 89 deletions(-) diff --git a/manifest.toml b/manifest.toml index a68f3b8..589de1b 100644 --- a/manifest.toml +++ b/manifest.toml @@ -1,119 +1,62 @@ packaging_format = 2 -id = "example" -name = "Example app" -description.en = "Explain in *a few (10~15) words* the purpose of the app or what it actually does (it is meant to give a rough idea to users browsing a catalog of 100+ apps)" -description.fr = "Expliquez en *quelques* (10~15) mots l'utilité de l'app ou ce qu'elle fait (l'objectif est de donner une idée grossière pour des utilisateurs qui naviguent dans un catalogue de 100+ apps)" +id = "peertube_remote_runner" +name = "PeerTube Remote Runner" +description.en = "Remote runner to offload high CPU/long job (such as transcoding) from Peertube main server" +description.fr = "Un runner distant pour décharger le travail intense en ressources CPU (comme le transcodage) d'un serveur PeerTube principal" version = "1.0~ynh1" -maintainers = ["johndoe"] +maintainers = ["Lapineige"] [upstream] -# NB: Only the "license" key is mandatory. Remove entries for which there's no relevant data -license = "free" -website = "https://example.com" -demo = "https://demo.example.com" -admindoc = "https://yunohost.org/packaging_apps" -userdoc = "https://yunohost.org/apps" -code = "https://some.forge.com/example/example" -# FIXME: optional but recommended if relevant, this is meant to contain the Common Platform Enumeration, which is sort of a standard id for applications defined by the NIST. In particular, YunoHost may use this is in the future to easily track CVE (=security reports) related to apps. The CPE may be obtained by searching here: https://nvd.nist.gov/products/cpe/search. For example, for Nextcloud, the CPE is 'cpe:2.3:a:nextcloud:nextcloud' (no need to include the version number) -cpe = "???" -# FIXME: optional but recommended (or remove if irrelevant / not applicable). This is meant to be an URL where people can financially support this app, especially when its development is based on volunteers and/or financed by its community. YunoHost may later advertise it in the webadmin. -fund = "???" +license = "AGPL-3.0-only" +website = "https://docs.joinpeertube.org/admin/remote-runners" +admindoc = "https://docs.joinpeertube.org/maintain/tools#peertube-runner" +code = "https://github.com/Chocobozzz/PeerTube/tree/develop/packages/peertube-runner" [integration] -yunohost = ">= 11.1.14" -# FIXME: can be replaced by a list of supported archs using the dpkg --print-architecture nomenclature (amd64/i386/armhf/arm64), for example: ["amd64", "i386"] +yunohost = ">= 11.1.21" architectures = "all" multi_instance = true -# FIXME: replace with true, false, or "not_relevant". Not to confuse with the "sso" key: the "ldap" key corresponds to wether or not a user *can* login on the app using its YunoHost credentials. -ldap = "?" -# FIXME: replace with true, false, or "not_relevant". Not to confuse with the "ldap" key: the "sso" key corresponds to wether or not a user is *automatically logged-in* on the app when logged-in on the YunoHost portal. -sso = "?" -# FIXME: replace with an **estimate** minimum disk and RAM requirements. e.g. 20M, 400M, 1G... -disk = "50M" +ldap = false +sso = false +disk = "500M" ram.build = "50M" -ram.runtime = "50M" +ram.runtime = "500M" [install] [install.domain] - # this is a generic question - ask strings are automatically handled by YunoHost's core type = "domain" - - [install.path] - # this is a generic question - ask strings are automatically handled by YunoHost's core - type = "path" - default = "/example" + full_domain = false [install.init_main_permission] - # this is a generic question - ask strings are automatically handled by YunoHost's core - # This won't be saved as setting and will instead be used to initialize the SSOwat permission type = "group" default = "visitors" - [install.language] - ask.en = "Choose the application language" - ask.fr = "Choisissez la langue de l'application" - type = "string" - choices = ["fr", "en"] - default = "fr" - [install.admin] - # this is a generic question - ask strings are automatically handled by YunoHost's core type = "user" - [install.password] - # this is a generic question - ask strings are automatically handled by YunoHost's core - # Note that user-provided passwords questions are not automatically saved as setting - help.en = "Use the help field to add an information for the admin about this question." - help.fr = "Utilisez le champ aide pour ajouter une information à l'intention de l'administrateur à propos de cette question." - type = "password" - [resources] - # See the packaging documentation for the full set - # of explanation regarding the behavior and properties for each of those - - [resources.sources] - [resources.sources.main] - # This will pre-fetch the asset which can then be deployed during the install/upgrade scripts with : - # ynh_setup_source --dest_dir="$install_dir" - # You can also define other assets than "main" and add --source_id="foobar" in the previous command - url = "https://github.com/foo/bar/archive/refs/tags/v1.2.3.tar.gz" - sha256 = "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" - - # These infos are used by https://github.com/YunoHost/apps/blob/master/tools/autoupdate_app_sources/autoupdate_app_sources.py - # to auto-update the previous asset urls and sha256sum + manifest version - # assuming the upstream's code repo is on github and relies on tags or releases - # See the 'sources' resource documentation for more details - - # autoupdate.strategy = "latest_github_tag" - - [resources.system_user] - # This will provision/deprovision a unix system user - - [resources.install_dir] - # This will create/remove the install dir as /var/www/$app - # and store the corresponding setting $install_dir - - [resources.data_dir] - # This will create/remove the data dir as /home/yunohost.app/$app - # and store the corresponding setting $data_dir - - [resources.permissions] - # This will configure SSOwat permission for $domain/$path/ - # The initial allowed group of user is configured via the init_main_permission question (public=visitors, private=all_users) - main.url = "/" + url = "https://github.com/Chocobozzz/PeerTube/releases/download/v5.2.0/peertube-v5.2.0.tar.xz" + sha256 = "42ed1f54cc2da810ceacc5c463c33c99d38d353ba6c055a2322be62d98131b88" + autoupdate.strategy = "latest_github_tag" [resources.ports] - # This will pick a random port for reverse-proxying and store it as the $port setting + main.exposed = "TCP" #FIXME + + [resources.system_user] + + [resources.install_dir] + + [resources.data_dir] + subdirs = ["storage"] + + [resources.permissions] + main.url = "/" [resources.apt] - # This will automatically install/uninstall the following apt packages - # and implicitly define the $phpversion setting as 8.0 (if phpX.Y-foobar dependencies are listed) - packages = "deb1, deb2, php8.0-foo, php8.0-bar" - - [resources.database] - # This will automatically provision/deprovison a MySQL DB and store the corresponding credentials in settings $db_user, $db_name, $db_pwd - type = "mysql" + extras.yarn.repo = "deb https://dl.yarnpkg.com/debian/ stable main" + extras.yarn.key = "https://dl.yarnpkg.com/debian/pubkey.gpg" + extras.yarn.packages = "yarn"