mirror of
https://github.com/YunoHost-Apps/invoiceninja_ynh.git
synced 2024-09-03 19:26:22 +02:00
commit
e5a0d35d95
14 changed files with 210 additions and 73 deletions
66
README.md
66
README.md
|
@ -1,67 +1,51 @@
|
|||
# Invoice Ninja 4 for YunoHost
|
||||
<!--
|
||||
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
|
||||
It shall NOT be edited by hand.
|
||||
-->
|
||||
|
||||
:warning: You are invited to look at [InvoiceNinja 5](https://github.com/YunoHost-Apps/invoiceninja5_ynh) :warning:
|
||||
# InvoiceNinja for YunoHost
|
||||
|
||||
[![Integration level](https://dash.yunohost.org/integration/invoiceninja.svg)](https://dash.yunohost.org/appci/app/invoiceninja) ![](https://ci-apps.yunohost.org/ci/badges/invoiceninja.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/invoiceninja.maintain.svg)
|
||||
[![Install InvoiceNinja with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=invoiceninja)
|
||||
|
||||
*[Lire ce readme en français.](./README_fr.md)*
|
||||
|
||||
> *This package allows you to install InvoiceNinja 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
|
||||
Invoice Ninja is the #1 open-source platform to create & email invoices, track payments and expenses, and time billable tasks & projects for clients.
|
||||
|
||||
**Shipped version:** v4.5.19
|
||||
Create and email invoices, track payments and expenses, and time tasks
|
||||
|
||||
**Shipped version:** 4.5.43~ynh1
|
||||
|
||||
**Demo:** https://app.invoiceninja.com/dashboard
|
||||
|
||||
## Screenshots
|
||||
|
||||
![](https://www.invoiceninja.com/wp-content/uploads/2015/11/Create-Invoices-in-Seconds.png)
|
||||
![](./doc/screenshots/screenshot.png)
|
||||
|
||||
## Demo
|
||||
## Disclaimers / important information
|
||||
|
||||
* [Official demo](https://app.invoiceninja.com/dashboard)
|
||||
|
||||
## Configuration
|
||||
|
||||
Configuration happens in the application itself.
|
||||
|
||||
## Documentation
|
||||
|
||||
* Official documentation: https://docs.invoiceninja.com/index.html
|
||||
|
||||
## YunoHost specific features
|
||||
|
||||
#### Multi-user support
|
||||
:warning: You are invited to look at [InvoiceNinja 5](https://github.com/YunoHost-Apps/invoiceninja5_ynh) :warning:
|
||||
|
||||
* Any known limitations, constrains or stuff not working, such as (but not limited to):
|
||||
* There is no official LDAP support
|
||||
* The first user gets created after installing Invoice Ninja
|
||||
* Other users can be created from inside the application
|
||||
|
||||
#### Supported architectures
|
||||
* Other infos that people should be aware of, such as:
|
||||
* Configuration happens in the application itself.
|
||||
|
||||
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/invoiceninja%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/invoiceninja/)
|
||||
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/invoiceninja%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/invoiceninja/)
|
||||
|
||||
## Limitations
|
||||
|
||||
* Any known limitations.
|
||||
|
||||
## Links
|
||||
## Documentation and resources
|
||||
|
||||
* Official app website: https://invoiceninja.org
|
||||
* Official admin documentation: https://docs.invoiceninja.com/index.html
|
||||
* Upstream app code repository: https://github.com/invoiceninja/invoiceninja
|
||||
* YunoHost documentation for this app: https://yunohost.org/app_invoiceninja
|
||||
* Report a bug: https://github.com/YunoHost-Apps/invoiceninja_ynh/issues
|
||||
* App website: https://www.invoiceninja.org/
|
||||
* Upstream app repository: https://github.com/invoiceninja/invoiceninja
|
||||
* YunoHost website: https://yunohost.org/
|
||||
|
||||
## TODOs
|
||||
|
||||
* If possible, create initial user
|
||||
* Test upgrade
|
||||
|
||||
---
|
||||
|
||||
Developer info
|
||||
----------------
|
||||
## Developer info
|
||||
|
||||
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/invoiceninja_ynh/tree/testing).
|
||||
|
||||
|
@ -71,3 +55,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/invoiceninja_ynh/tree
|
|||
or
|
||||
sudo yunohost app upgrade invoiceninja -u https://github.com/YunoHost-Apps/invoiceninja_ynh/tree/testing --debug
|
||||
```
|
||||
|
||||
**More info regarding app packaging:** https://yunohost.org/packaging_apps
|
55
README_fr.md
Normal file
55
README_fr.md
Normal file
|
@ -0,0 +1,55 @@
|
|||
# InvoiceNinja pour YunoHost
|
||||
|
||||
[![Niveau d'intégration](https://dash.yunohost.org/integration/invoiceninja.svg)](https://dash.yunohost.org/appci/app/invoiceninja) ![](https://ci-apps.yunohost.org/ci/badges/invoiceninja.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/invoiceninja.maintain.svg)
|
||||
[![Installer InvoiceNinja avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=invoiceninja)
|
||||
|
||||
*[Read this readme in english.](./README.md)*
|
||||
*[Lire ce readme en français.](./README_fr.md)*
|
||||
|
||||
> *Ce package vous permet d'installer InvoiceNinja 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
|
||||
|
||||
|
||||
|
||||
**Version incluse :** 4.5.43~ynh1
|
||||
|
||||
**Démo :** https://app.invoiceninja.com/dashboard
|
||||
|
||||
## Captures d'écran
|
||||
|
||||
![](./doc/screenshots/screenshot.png)
|
||||
|
||||
## Avertissements / informations importantes
|
||||
|
||||
:warning: You are invited to look at [InvoiceNinja 5](https://github.com/YunoHost-Apps/invoiceninja5_ynh) :warning:
|
||||
|
||||
* Any known limitations, constrains or stuff not working, such as (but not limited to):
|
||||
* There is no official LDAP support
|
||||
* The first user gets created after installing Invoice Ninja
|
||||
* Other users can be created from inside the application
|
||||
|
||||
* Other infos that people should be aware of, such as:
|
||||
* Configuration happens in the application itself.
|
||||
|
||||
## Documentations et ressources
|
||||
|
||||
* Site officiel de l'app : https://invoiceninja.org
|
||||
* Documentation officielle de l'admin : https://docs.invoiceninja.com/index.html
|
||||
* Dépôt de code officiel de l'app : https://github.com/invoiceninja/invoiceninja
|
||||
* Documentation YunoHost pour cette app : https://yunohost.org/app_invoiceninja
|
||||
* Signaler un bug : https://github.com/YunoHost-Apps/invoiceninja_ynh/issues
|
||||
|
||||
## Informations pour les développeurs
|
||||
|
||||
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/invoiceninja_ynh/tree/testing).
|
||||
|
||||
Pour essayer la branche testing, procédez comme suit.
|
||||
```
|
||||
sudo yunohost app install https://github.com/YunoHost-Apps/invoiceninja_ynh/tree/testing --debug
|
||||
ou
|
||||
sudo yunohost app upgrade invoiceninja -u https://github.com/YunoHost-Apps/invoiceninja_ynh/tree/testing --debug
|
||||
```
|
||||
|
||||
**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps
|
99
conf/.env
99
conf/.env
|
@ -1,16 +1,15 @@
|
|||
# do not run the setup wizard
|
||||
PRECONFIGURED_INSTALL=true
|
||||
|
||||
APP_ENV=production
|
||||
APP_DEBUG=false
|
||||
APP_LOCALE=__LANGUAGE__
|
||||
APP_URL=https://__DOMAIN____PATH__/index.php
|
||||
APP_KEY=__APP_KEY__
|
||||
APP_CIPHER=AES-256-CBC
|
||||
|
||||
# used to connect with the mobile app
|
||||
API_SECRET=__API_SECRET__
|
||||
|
||||
REQUIRE_HTTPS=true
|
||||
APP_LOCALE=__LANGUAGE__
|
||||
|
||||
DB_TYPE=mysql
|
||||
#DB_STRICT=false
|
||||
DB_HOST=localhost
|
||||
DB_DATABASE=__DB_NAME__
|
||||
DB_USERNAME=__DB_USER__
|
||||
|
@ -21,15 +20,91 @@ MAIL_PORT=25
|
|||
MAIL_ENCRYPTION=
|
||||
MAIL_HOST=localhost
|
||||
MAIL_USERNAME=
|
||||
MAIL_FROM_NAME="__MAIL_FROM_NAME__"
|
||||
MAIL_FROM_ADDRESS=__MAIL_FROM_ADDRESS__
|
||||
MAIL_FROM_NAME="__MAIL_FROM_NAME__"
|
||||
MAIL_PASSWORD=
|
||||
|
||||
PHANTOMJS_CLOUD_KEY=a-demo-key-with-low-quota-per-ip-address
|
||||
PHANTOMJS_SECRET=__PHANTOMJS_KEY__
|
||||
|
||||
MAILGUN_DOMAIN=
|
||||
MAILGUN_SECRET=
|
||||
|
||||
# do not run the setup wizard
|
||||
PRECONFIGURED_INSTALL=true
|
||||
#POSTMARK_API_TOKEN=
|
||||
|
||||
PHANTOMJS_CLOUD_KEY='a-demo-key-with-low-quota-per-ip-address'
|
||||
PHANTOMJS_SECRET=__PHANTOMJS_KEY__
|
||||
|
||||
LOG=single
|
||||
REQUIRE_HTTPS=true
|
||||
API_SECRET=__API_SECRET__
|
||||
|
||||
#TRUSTED_PROXIES=
|
||||
|
||||
#SESSION_DRIVER=
|
||||
#SESSION_DOMAIN=
|
||||
#SESSION_ENCRYPT=
|
||||
#SESSION_SECURE=
|
||||
|
||||
#CACHE_DRIVER=
|
||||
#CACHE_HOST=
|
||||
#REDIS_HOST=
|
||||
#CACHE_PORT1=
|
||||
#CACHE_PORT2=
|
||||
|
||||
#GOOGLE_CLIENT_ID=
|
||||
#GOOGLE_CLIENT_SECRET=
|
||||
#GOOGLE_OAUTH_REDIRECT=http://ninja.test/auth/google
|
||||
|
||||
GOOGLE_MAPS_ENABLED=true
|
||||
#GOOGLE_MAPS_API_KEY=
|
||||
|
||||
# Create a cookie to stay logged in
|
||||
#REMEMBER_ME_ENABLED=true
|
||||
|
||||
# Immediately expire cookie on the browser closing
|
||||
#SESSION_EXPIRE_ON_CLOSE=false
|
||||
|
||||
# The app automatically logs the user out after this number of seconds
|
||||
#AUTO_LOGOUT_SECONDS=28800
|
||||
|
||||
#S3_KEY=
|
||||
#S3_SECRET=
|
||||
#S3_REGION=
|
||||
#S3_BUCKET=
|
||||
|
||||
#RACKSPACE_USERNAME=
|
||||
#RACKSPACE_KEY=
|
||||
#RACKSPACE_CONTAINER=
|
||||
#RACKSPACE_REGION=
|
||||
|
||||
#RACKSPACE_TEMP_URL_SECRET=
|
||||
|
||||
# If this is set to anything, the URL secret will be set the next
|
||||
# time a file is downloaded through the client portal.
|
||||
# Only set this temporarily, as it slows things down.
|
||||
#RACKSPACE_TEMP_URL_SECRET_SET=
|
||||
|
||||
#DOCUMENT_FILESYSTEM=
|
||||
|
||||
#MAX_DOCUMENT_SIZE # KB
|
||||
#MAX_EMAIL_DOCUMENTS_SIZE # Total KB
|
||||
#MAX_ZIP_DOCUMENTS_SIZE # Total KB (uncompressed)
|
||||
#DOCUMENT_PREVIEW_SIZE # Pixels
|
||||
|
||||
#WEPAY_CLIENT_ID=
|
||||
#WEPAY_CLIENT_SECRET=
|
||||
#WEPAY_ENVIRONMENT=production # production or stage
|
||||
#WEPAY_AUTO_UPDATE=true # Requires permission from WePay
|
||||
#WEPAY_FEE_PAYER=payee
|
||||
#WEPAY_APP_FEE_CC_MULTIPLIER=0
|
||||
#WEPAY_APP_FEE_ACH_MULTIPLIER=0
|
||||
#WEPAY_APP_FEE_FIXED=0
|
||||
#WEPAY_THEME='{"name":"Invoice Ninja","primary_color":"0b4d78","secondary_color":"0b4d78","background_color":"f8f8f8","button_color":"33b753"}' # See https://www.wepay.com/developer/reference/structures#theme
|
||||
|
||||
|
||||
#BLUEVINE_PARTNER_UNIQUE_ID=
|
||||
#BLUEVINE_PARTNER_TOKEN=
|
||||
|
||||
#CLOUDFLARE_DNS_ENABLED=false
|
||||
#CLOUDFLARE_API_KEY=
|
||||
#CLOUDFLARE_EMAIL=
|
||||
#CLOUDFLARE_TARGET_IP_ADDRESS=
|
||||
#CLOUDFLARE_ZONE_IDS={}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
SOURCE_URL=https://download.invoiceninja.com/ninja-v4.5.19.zip
|
||||
SOURCE_SUM=5a3ec7ab747bb371e7788b215be290eb489b11dea2ba1e1bff7516e7c077364e
|
||||
SOURCE_URL=https://download.invoiceninja.com/ninja-v4.5.43.zip
|
||||
SOURCE_SUM=475562af870f6fed91a1d8edf9c2c159c0f404f6bf0d57ac9dfa93b80bade6b3
|
||||
SOURCE_SUM_PRG=sha256sum
|
||||
SOURCE_FORMAT=zip
|
||||
SOURCE_IN_SUBDIR=true
|
||||
SOURCE_FILENAME=invoiceninja-v4.5.19.zip
|
||||
SOURCE_FILENAME=invoiceninja-v4.5.43.zip
|
||||
|
|
0
doc/.gitkeep
Normal file
0
doc/.gitkeep
Normal file
9
doc/DISCLAIMER.md
Normal file
9
doc/DISCLAIMER.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
:warning: You are invited to look at [InvoiceNinja 5](https://github.com/YunoHost-Apps/invoiceninja5_ynh) :warning:
|
||||
|
||||
* Any known limitations, constrains or stuff not working, such as (but not limited to):
|
||||
* There is no official LDAP support
|
||||
* The first user gets created after installing Invoice Ninja
|
||||
* Other users can be created from inside the application
|
||||
|
||||
* Other infos that people should be aware of, such as:
|
||||
* Configuration happens in the application itself.
|
0
doc/screenshots/.gitkeep
Normal file
0
doc/screenshots/.gitkeep
Normal file
BIN
doc/screenshots/screenshot.png
Normal file
BIN
doc/screenshots/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 62 KiB |
|
@ -5,8 +5,15 @@
|
|||
"description": {
|
||||
"en": "Create and email invoices, track payments and expenses, and time tasks"
|
||||
},
|
||||
"version": "4.5.19~ynh1",
|
||||
"version": "4.5.43~ynh1",
|
||||
"url": "https://invoiceninja.org",
|
||||
"upstream": {
|
||||
"license": "AAL",
|
||||
"website": "https://invoiceninja.org",
|
||||
"demo": "https://app.invoiceninja.com/dashboard",
|
||||
"admindoc": "https://docs.invoiceninja.com/index.html",
|
||||
"code": "https://github.com/invoiceninja/invoiceninja"
|
||||
},
|
||||
"license": "AAL",
|
||||
"maintainer": {
|
||||
"name": "Sebastian Gumprich",
|
||||
|
@ -14,7 +21,7 @@
|
|||
"url": "https://github.com/YunoHost-Apps/invoiceninja_ynh/"
|
||||
},
|
||||
"requirements": {
|
||||
"yunohost": ">= 4.1.0"
|
||||
"yunohost": ">= 4.1.3"
|
||||
},
|
||||
"multi_instance": true,
|
||||
"services": [
|
||||
|
|
|
@ -58,7 +58,7 @@ ynh_backup --src_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
|
|||
#=================================================
|
||||
# SPECIFIC BACKUP
|
||||
#=================================================
|
||||
# BACKUP A CRON FILE
|
||||
# BACKUP VARIOUS FILES
|
||||
#=================================================
|
||||
|
||||
ynh_backup --src_path="/etc/cron.d/$app"
|
||||
|
|
|
@ -123,7 +123,7 @@ ynh_script_progression --message="Adding a configuration file..."
|
|||
|
||||
ynh_add_config --template="../conf/.env" --destination="$final_path/.env"
|
||||
|
||||
chmod 400 "$final_path/.env"
|
||||
chmod 600 "$final_path/.env"
|
||||
chown $app:$app "$final_path/.env"
|
||||
|
||||
#=================================================
|
||||
|
@ -135,6 +135,11 @@ pushd "$final_path"
|
|||
# Run the database migrations and initially fill the db
|
||||
php$phpversion artisan migrate --force
|
||||
php$phpversion artisan db:seed --force
|
||||
|
||||
# thanks to cloudron for this!
|
||||
# This comments the check at https://github.com/invoiceninja/invoiceninja/blob/cadd1a3b44aed3dc5bd28d623efd4bb51c6d895a/app/Http/Controllers/AppController.php#L47
|
||||
# We pre-setup various parts already thus the .env file has to exist
|
||||
sed -e "s/^.*app is already configured.*/ /" -i app/Http/Controllers/AppController.php
|
||||
popd
|
||||
|
||||
#=================================================
|
||||
|
|
|
@ -59,9 +59,9 @@ ynh_remove_fpm_config
|
|||
#=================================================
|
||||
# SPECIFIC REMOVE
|
||||
#=================================================
|
||||
# REMOVE THE CRON FILE
|
||||
# REMOVE VARIOUS FILES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Removing the cron file..."
|
||||
ynh_script_progression --message="Removing various files..."
|
||||
|
||||
# Remove a cron file
|
||||
ynh_secure_remove --file="/etc/cron.d/$app"
|
||||
|
|
|
@ -20,7 +20,7 @@ ynh_abort_if_errors
|
|||
#=================================================
|
||||
# LOAD SETTINGS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Loading settings..."
|
||||
ynh_script_progression --message="Loading installation settings..."
|
||||
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
|
@ -48,7 +48,7 @@ test ! -d $final_path \
|
|||
#=================================================
|
||||
# RESTORE THE NGINX CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Restoring the NGINX configuration..."
|
||||
ynh_script_progression --message="Restoring the NGINX web server configuration..."
|
||||
|
||||
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
|
@ -88,9 +88,9 @@ ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd
|
|||
ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE CRON FILE
|
||||
# RESTORE VARIOUS FILES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Restoring the cron file..."
|
||||
ynh_script_progression --message="Restoring various files..."
|
||||
|
||||
ynh_restore_file --origin_path="/etc/cron.d/$app"
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ ynh_script_progression --message="Backing up the app before upgrading (may take
|
|||
# Backup the current version of the app
|
||||
ynh_backup_before_upgrade
|
||||
ynh_clean_setup () {
|
||||
# restore it if the upgrade fails
|
||||
# Restore it if the upgrade fails
|
||||
ynh_restore_upgradebackup
|
||||
}
|
||||
# Exit if an error occurs during the execution of the script
|
||||
|
@ -82,7 +82,7 @@ fi
|
|||
ynh_script_progression --message="Making sure dedicated system user exists..."
|
||||
|
||||
# Create a dedicated user (if not existing)
|
||||
ynh_system_user_create --username=$app
|
||||
ynh_system_user_create --username=$app --home_dir=$final_path
|
||||
|
||||
#=================================================
|
||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||
|
|
Loading…
Reference in a new issue