mirror of
https://github.com/YunoHost/apps.git
synced 2024-09-03 20:06:07 +02:00
179 lines
7.4 KiB
Django/Jinja
179 lines
7.4 KiB
Django/Jinja
packaging_format = 2
|
|
|
|
id = "{{ parameters['app_id'] }}"
|
|
name = "{{ parameters['app_name'] }}"
|
|
|
|
{% if parameters['tutorial'] -%}
|
|
{% endif -%}
|
|
|
|
|
|
description.en = "{{ parameters['description_en'] }}"
|
|
description.fr = "{{ parameters['description_fr'] }}"
|
|
|
|
version = "{{ parameters['version'] }}"
|
|
|
|
maintainers = ["{{ parameters['maintainers'] }}"]
|
|
|
|
[upstream]
|
|
# NB: Only the "license" key is mandatory. Remove entries for which there's no relevant data
|
|
license = "{{ parameters['license'] }}"
|
|
website = "{{ parameters['website'] }}"
|
|
demo = "{{ parameters['demo'] }}"
|
|
admindoc = "{{ parameters['admindoc'] }}"
|
|
userdoc = "{{ parameters['userdoc'] }}"
|
|
code = "{{ parameters['code'] }}"
|
|
# 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 = "???"
|
|
|
|
|
|
[integration]
|
|
{% if parameters['yunohost_required_version'] -%}
|
|
yunohost = '>= {{ parameters['yunohost_required_version'] }}'
|
|
{% else -%}
|
|
yunohost = ">= 11.1.21"
|
|
{% endif -%}
|
|
|
|
{% if parameters['tutorial'] -%}
|
|
# List of supported archs using the dpkg --print-architecture nomenclature (amd64/i386/armhf/arm64), for example: ["amd64", "i386']
|
|
{% endif -%}
|
|
architectures = "{{ parameters['architectures'] }}" # TODO : handle the "all" option (no ["all"])
|
|
multi_instance = {{% if parameters['multi_instance'] -%} true {% else -%} false {% endif -%}
|
|
ldap = "{{ parameters['ldap'] }}"
|
|
sso = "{{ parameters['sso'] }}"
|
|
# FIXME: replace with an **estimate** minimum disk and RAM requirements. e.g. 20M, 400M, 1G... You may have have a look at CI results
|
|
disk = "50M"
|
|
ram.build = "50M"
|
|
ram.runtime = "50M"
|
|
|
|
[install]
|
|
[install.domain]
|
|
{% if parameters['tutorial'] -%}
|
|
# this is a generic question - ask strings are automatically handled by YunoHost's core
|
|
{% endif -%}
|
|
type = "domain"
|
|
|
|
{% if not parameters['use_whole_domain'] -%}
|
|
[install.path]
|
|
{% if parameters['tutorial'] -%}
|
|
# this is a generic question - ask strings are automatically handled by YunoHost's core
|
|
{% endif -%}
|
|
type = "path"
|
|
default = "/example"
|
|
{% endif -%}
|
|
|
|
[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 = "{{ parameters['visibility'] }}"
|
|
|
|
[install.language]
|
|
ask.en = "Choose the application language"
|
|
ask.fr = "Choisissez la langue de l'application"
|
|
type = "select"
|
|
choices = {{ parameters['language'] |safe }}
|
|
default = "{{ parameters['default_language'] }}"
|
|
|
|
[install.admin]
|
|
{% if parameters['tutorial'] -%}
|
|
# this is a generic question - ask strings are automatically handled by YunoHost's core
|
|
type = "user"
|
|
{% endif -%}
|
|
|
|
[install.password]
|
|
{% if parameters['tutorial'] -%}
|
|
# 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
|
|
{% endif -%}
|
|
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]
|
|
{% if parameters['tutorial'] -%}
|
|
# See the packaging documentation for the full set
|
|
# of explanation regarding the behavior and properties for each of those
|
|
{% endif -%}
|
|
|
|
[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 = "{{parameters['source_url']}}"
|
|
sha256 = "{{parameters['sha256sum']}}"
|
|
|
|
# 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
|
|
|
|
{% if parameters['auto_update'] -%}
|
|
autoupdate.strategy = "latest_github_tag"
|
|
{% else -%}
|
|
# autoupdate.strategy = "latest_github_tag"
|
|
{% endif -%}
|
|
|
|
[resources.system_user]
|
|
{% if parameters['tutorial'] -%}
|
|
# This will provision/deprovision a unix system user
|
|
{% endif -%}
|
|
|
|
[resources.install_dir]
|
|
{% if parameters['tutorial'] -%}
|
|
# This will create/remove the install dir as /var/www/$app
|
|
# and store the corresponding setting $install_dir
|
|
{% endif -%}
|
|
|
|
{% if parameters['data_dir'] %}
|
|
[resources.data_dir]
|
|
{% if parameters['tutorial'] -%}
|
|
# This will create/remove the data dir as /home/yunohost.app/$app
|
|
# and store the corresponding setting $data_dir
|
|
{% endif -%}
|
|
{% if parameters['data_subdirs'] -%}
|
|
subdirs = {{ parameters['data_subdirs'].split(",") |safe}}
|
|
{% endif -%}
|
|
{% endif -%}
|
|
|
|
[resources.permissions]
|
|
{% if parameters['tutorial'] -%}
|
|
# 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)
|
|
{% endif -%}
|
|
main.url = "/"
|
|
|
|
[resources.ports]
|
|
{% if parameters['tutorial'] -%}
|
|
# This will pick a random port for reverse-proxying and store it as the $port setting
|
|
{% endif -%}
|
|
|
|
{% if parameters['dependencies'] or parameters['use_nodejs_needs_yarn'] -%}
|
|
[resources.apt]
|
|
{% if parameters['tutorial'] -%}
|
|
# 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)
|
|
{% endif -%}
|
|
packages = "{{ parameters['dependencies'] }} {% if parameters['use_db'] != 'false' -%} {{ parameters['use_db'] }} {% endif -%} {% if parameters['use_python'] -%} python3-venv {% endif -%}"
|
|
{% endif -%}
|
|
|
|
{% if parameters['tutorial'] -%}
|
|
{% if parameters['use_nodejs_needs_yarn'] -%}
|
|
# This will configure an extra repository to install yarn dependency
|
|
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"
|
|
{% endif -%}
|
|
{% endif -%}
|
|
|
|
{% if parameters['use_db'] != 'false' -%}
|
|
[resources.database]
|
|
{% if parameters['tutorial'] -%}
|
|
# This will automatically provision/deprovison a database and store the corresponding credentials in settings $db_user, $db_name, $db_pwd
|
|
{% endif -%}
|
|
type = "{{ parameters['use_db'] }}"
|
|
{% endif -%}
|
|
|