diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..2729a6b --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,55 @@ +--- +name: Bug report +about: When creating a bug report, please use the following template to provide all the relevant information and help debugging efficiently. + +--- + +**How to post a meaningful bug report** +1. *Read this whole template first.* +2. *Determine if you are on the right place:* + - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* + - *Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.* + - *When in doubt, post here and we will figure it out together.* +3. *Delete the italic comments as you write over them below, and remove this guide.* +--- + +### Describe the bug + +*A clear and concise description of what the bug is.* + +### Context + +- Hardware: *VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...* +- YunoHost version: x.x.x +- I have access to my server: *Through SSH | through the webadmin | direct access via keyboard / screen | ...* +- Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: *no / yes* + - If yes, please explain: +- Using, or trying to install package version/branch: +- If upgrading, current package version: *can be found in the admin, or with `yunohost app info $app_id`* + +### Steps to reproduce + +- *If you performed a command from the CLI, the command itself is enough. For example:* + ```sh + sudo yunohost app install the_app + ``` +- *If you used the webadmin, please perform the equivalent command from the CLI first.* +- *If the error occurs in your browser, explain what you did:* + 1. *Go to '...'* + 2. *Click on '...'* + 3. *Scroll down to '...'* + 4. *See error* + +### Expected behavior + +*A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.* + +### Logs + +*When an operation fails, YunoHost provides a simple way to share the logs.* +- *In the webadmin, the error message contains a link to the relevant log page. On that page, you will be able to 'Share with Yunopaste'. If you missed it, the logs of previous operations are also available under Tools > Logs.* +- *In command line, the command to share the logs is displayed at the end of the operation and looks like `yunohost log display [log name] --share`. If you missed it, you can find the log ID of a previous operation using `yunohost log list`.* + +*After sharing the log, please copypaste directly the link provided by YunoHost (to help readability, no need to copypaste the entire content of the log here, just the link is enough...)* + +*If applicable and useful, add screenshots to help explain your problem.* diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ef70e18 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Problem + +- *Description of why you made this PR* + +## Solution + +- *And how do you fix that problem* + +## PR Status + +- [ ] Code finished and ready to be reviewed/tested +- [ ] The fix/enhancement were manually tested (if applicable) + +## Automatic tests + +Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ *after creating the PR*, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization) diff --git a/README.md b/README.md index 076d4ed..21fb55c 100644 --- a/README.md +++ b/README.md @@ -1,51 +1,38 @@ + + # Ampache for YunoHost [![Integration level](https://dash.yunohost.org/integration/ampache.svg)](https://dash.yunohost.org/appci/app/ampache) ![](https://ci-apps.yunohost.org/ci/badges/ampache.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/ampache.maintain.svg) [![Install Ampache with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=ampache) -> *This package allow you to install Ampache quickly and simply on a YunoHost server. -If you don't have YunoHost, please see [here](https://yunohost.org/install) to know how to install and enjoy it.* +*[Lire ce readme en français.](./README_fr.md)* + +> *This package allows you to install Ampache quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview + [Ampache](http://ampache.org) for the love of music. A web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device. -**Shipped version:** 4.4.2 - -## Screenshots - -![](http://ampache.org/img/previews/visualizer.jpg) - -## Demo - -* [YunoHost demo](https://demo.yunohost.org/ampache/) -* [Official demo](http://ampache.org/demo.html) - -## Configuration - -## Documentation - - * Official documentation: https://github.com/ampache/ampache/wiki - * YunoHost documentation: https://yunohost.org/en/app_ampache - -## YunoHost specific features - -In addition to Ampache core features, the following are made available with -this package: +### Features * Config for high quality streaming with high bandwith * Quick loading for mobile devices with potential low bandwith * Integrate with YunoHost users - same username and password * Allow one user to be the administrator (set at the installation) -#### Multi-users support +**Shipped version:** 5.4.0~ynh1 - * Ampache is connect to Yunohost LDAP - * No auto SSO yet +**Demo:** https://ampache.org/demo.html -#### Supported architectures +## Screenshots -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/ampache.svg)](https://ci-apps.yunohost.org/ci/apps/ampache/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/ampache.svg)](https://ci-apps-arm.yunohost.org/ci/apps/ampache/) +![](./doc/screenshots/visualizer.png) + +## Disclaimers / important information ## Limitations @@ -78,18 +65,17 @@ this package: * Full list of existings clients : https://github.com/ampache/ampache/wiki/Clients -## Links +## Documentation and resources - * Report a bug: https://github.com/YunoHost-Apps/ampache_ynh/issues - * Ampache website: http://ampache.org/ - * Ampache repository: https://github.com/ampache/ampache - * YunoHost website: https://yunohost.org/ +* Official app website: http://ampache.org +* Official admin documentation: https://github.com/ampache/ampache/wiki +* Upstream app code repository: https://github.com/ampache/ampache +* YunoHost documentation for this app: https://yunohost.org/app_ampache +* Report a bug: https://github.com/YunoHost-Apps/ampache_ynh/issues ---- +## Developer info -## Developers infos - -Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/ampache_ynh/tree/testing). +Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/ampache_ynh/tree/testing). To try the testing branch, please proceed like that. ``` @@ -97,3 +83,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/ampache_ynh/tree/test or sudo yunohost app upgrade ampache -u https://github.com/YunoHost-Apps/ampache_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md new file mode 100644 index 0000000..1b5d068 --- /dev/null +++ b/README_fr.md @@ -0,0 +1,83 @@ +# Ampache pour YunoHost + +[![Niveau d'intégration](https://dash.yunohost.org/integration/ampache.svg)](https://dash.yunohost.org/appci/app/ampache) ![](https://ci-apps.yunohost.org/ci/badges/ampache.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/ampache.maintain.svg) +[![Installer Ampache avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=ampache) + +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* + +> *Ce package vous permet d'installer Ampache rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* + +## Vue d'ensemble + +[Ampache](http://ampache.org) for the love of music. A web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device. + +### Features + + * Config for high quality streaming with high bandwith + * Quick loading for mobile devices with potential low bandwith + * Integrate with YunoHost users - same username and password + * Allow one user to be the administrator (set at the installation) + +**Version incluse :** 5.4.0~ynh1 + +**Démo :** https://ampache.org/demo.html + +## Captures d'écran + +![](./doc/screenshots/visualizer.png) + +## Avertissements / informations importantes + +## Limitations + +* Also, the SSO authentication not fully working from user panel, we have to work about this. In fact, it can disrupt external Ampache clients like Subsonic. + +## Additionnal informations + +### Getting started + + * **Add your first catalog to load music files** + * Go to *Admin panel* ![](https://raw.githubusercontent.com/ampache/ampache/develop/themes/reborn/images/icons/icon_admin.png) + * Click on *Add a Catalog* + * Fill up fields and click *Add Calalog* + * Next, enjoy :) + + * **Update a catalog for load new music files** + * Go to *Admin panel* ![](https://raw.githubusercontent.com/ampache/ampache/develop/themes/reborn/images/icons/icon_admin.png) + * Click on *Show Catalogs* + * Select *Update* in *Actions* list and click *Go* + + * **Change interface Language** + * Go to *Preferences panel* ![](https://raw.githubusercontent.com/ampache/ampache/develop/themes/reborn/images/icons/icon_edit.png) + * Click on *Interface* + * Change *Language* field + +### Ampache on mobile devices + + * [For Android](https://play.google.com/store/apps/details?id=com.antoniotari.reactiveampacheapp) + * [For iOS](http://iampache.com/) + + * Full list of existings clients : https://github.com/ampache/ampache/wiki/Clients + +## Documentations et ressources + +* Site officiel de l'app : http://ampache.org +* Documentation officielle de l'admin : https://github.com/ampache/ampache/wiki +* Dépôt de code officiel de l'app : https://github.com/ampache/ampache +* Documentation YunoHost pour cette app : https://yunohost.org/app_ampache +* Signaler un bug : https://github.com/YunoHost-Apps/ampache_ynh/issues + +## Informations pour les développeurs + +Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/ampache_ynh/tree/testing). + +Pour essayer la branche testing, procédez comme suit. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/ampache_ynh/tree/testing --debug +ou +sudo yunohost app upgrade ampache -u https://github.com/YunoHost-Apps/ampache_ynh/tree/testing --debug +``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/check_process b/check_process index 5990e26..51ee97e 100644 --- a/check_process +++ b/check_process @@ -1,9 +1,9 @@ ;; Test complet ; Manifest - domain="domain.tld" (DOMAIN) - path="/ampache" (PATH) - admin="john" (USER) - is_public=1 (PUBLIC|public=1|private=0) + domain="domain.tld" + path="/ampache" + admin="john" + is_public=1 ; Checks pkg_linter=1 setup_sub_dir=1 diff --git a/conf/ampache.cfg.php b/conf/ampache.cfg.php index 176d0ed..a10c81b 100644 --- a/conf/ampache.cfg.php +++ b/conf/ampache.cfg.php @@ -3,18 +3,31 @@ ; General Config # ;######################################################### -; This value is used to detect quickly -; if this config file is up to date -; this is compared against a value hard-coded -; into the init script -config_version = 40 +; This value is used to detect if this config file is up to date +; this is compared against a constant called CONFIG_VERSION +; that is located in src/Config/Init/InitializationHandlerConfig.php +config_version = 61 + +;######################################################### +; Auto Update # +;######################################################### ; Allow you to hard code a default git branch for Ampache ; If you set this value the inbuilt updater will use this branch for updates. ; POSSIBLE VALUES: master develop -; DEFAULT: "" +; DEFAULT: none ;github_force_branch = "develop" +; This value allows to override the composer binary path to distinguish between multiple composer versions +; Either a binary name in $PATH as well as a fully qualified path is possible +; DEFAULT: composer +;composer_binary_path = "composer" + +; We sometimes need to talk and will show a warning to admin users +; Enable this setting if you don't want to see warnings (When we enable them) +; DEFAULT: false +;hide_ampache_messages = "true" + ;######################################################### ; Path Vars # ;######################################################### @@ -22,22 +35,22 @@ config_version = 40 ; The public http host of your server. ; If not set, retrieved automatically from client request. ; This setting is required for WebSocket server -; DEFAULT: "" +; DEFAULT: none http_host = "__DOMAIN__" ; The public http port of your server. ; If not set, retrieved automatically from client request. -; DEFAULT: +; DEFAULT: none ;http_port = 80 -; The public path to your ampache install +; The public path to your Ampache install ; Do not put a trailing / on this path ; For example if your site is located at http://localhost ; than you do not need to enter anything for the web_path ; if it is located at http://localhost/music you need to ; set web_path to /music -; DEFAULT: "" -web_path = "__PATH__" +; DEFAULT: none +web_path = "__PATH__" ; The local http url of your server. ; This is used to access the server from within the @@ -47,10 +60,9 @@ web_path = "__PATH__" ; proxy, local_web_path would need to be changed ; to a localhost URL. ; If not set, retrieved automatically from server information. -; DEFAULT: "" +; DEFAULT: none ;local_web_path = "http://localhost/ampache" - ;######################################################### ; Database # ;######################################################### @@ -64,20 +76,36 @@ database_hostname = localhost ; DEFAULT: none ;database_port = 3306 -; Name of your ampache database -; DEFAULT: ampache +; Name of your Ampache database +; DEFAULT: none database_name = "__DB_NAME__" -; Username for your ampache database -; DEFAULT: "" +; Username for your Ampache database +; DEFAULT: none database_username = "__DB_USER__" -; Password for your ampache database, this can not be blank +; Password for your Ampache database, this can not be blank ; this is a 'forced' security precaution, the default value ; will not work (except if using socket authentication) -; DEFAULT: "" +; DEFAULT: none database_password = "__DB_PWD__" +; Set a default charset for your database +; Don't change this unless you understand how to BACKUP and RESTORE a database! +; +; DEFAULT: "utf8mb4" +;database_charset = "utf8mb4" + +; Set a default collation for your database +; Don't change this unless you understand how to BACKUP and RESTORE a database! +; +; There are a ton of options but you'll probably want one of these. +; "utf8_unicode_ci" = Regular unicode (3 bytes per character) +; "utf8mb4_unicode_ci" = 4 bytes per character +; "utf8mb4_unicode_520_ci" = Supports more characters and is based on UCA 5.2.0 weight keys +; http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt +; DEFAULT: "utf8mb4_unicode_ci" +;database_collation = "utf8mb4_unicode_ci" ;######################################################### ; Session and Security # @@ -118,7 +146,7 @@ session_cookielife = 0 ; Is the cookie a "secure" cookie? This should only be set to 1 (true) if you are ; running a secure site (HTTPS). ; DEFAULT: 0 -session_cookiesecure = 1 +session_cookiesecure = 0 ; Auth Methods ; This defines which auth methods Auth will attempt to use and in which order. @@ -137,44 +165,50 @@ auth_methods = "ldap" ; Determines whether successful authentication against an external source ; will result in an update to the password stored in the database. ; A locally stored password is needed for API access. -; DEFAULT: false +; DEFAULT: "false" auth_password_save = "true" -; Logout redirection target +; Log out redirection target ; Defaults to our own login.php, but we can override it here if, for instance, ; we want to redirect to an SSO provider instead. -; logout_redirect = "http://sso.example.com/logout" +;logout_redirect = "http://sso.example.com/logout" ; Use Access List -; Toggle this on if you want ampache to pay attention to the access list +; Toggle this on if you want Ampache to pay attention to the access list ; and only allow streaming/downloading/api-rpc from known hosts api-rpc ; will not work without this on. ; NOTE: Default Behavior is DENY FROM ALL -; DEFAULT: true -access_control = "true" +; DEFAULT: "true" +access_control = "true" ; Require Session -; If this is set to true ampache will make sure that the URL passed when +; If this is set to true Ampache will make sure that the URL passed when ; attempting to retrieve a song contains a valid Session ID This prevents ; others from guessing URL's. This setting is ignored if you have use_auth ; disabled. -; DEFAULT: true +; DEFAULT: "true" require_session = "true" ; Require LocalNet Session -; If this is set to true then ampache will require that a valid session +; If this is set to true then Ampache will require that a valid session ; is passed even on hosts defined in the Local Network ACL. This setting ; has no effect if access_control is not enabled -; DEFAULT: true +; DEFAULT: "true" require_localnet_session = "true" ; Multiple Logins ; Added by Vlet 07/25/07 ; When this setting is enabled a user may only be logged in from a single ; IP address at any one time, this is to prevent sharing of accounts -; DEFAULT: false -;prevent_multiple_logins = "false" +; DEFAULT: "false" +;prevent_multiple_logins = "true" +; Allow Embedding Ampache in Frames +; Whether a browser should be allowed to render a page in a ,