mirror of
https://github.com/YunoHost-Apps/monica_ynh.git
synced 2024-09-03 19:46:23 +02:00
Merge pull request #16 from anmol26s/master
Updated app to working state
This commit is contained in:
commit
70e4dc5c9a
15 changed files with 409 additions and 580 deletions
BIN
37693034-5783b3d6-2c93-11e8-80ea-bd78438dcd51.png
Normal file
BIN
37693034-5783b3d6-2c93-11e8-80ea-bd78438dcd51.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 142 KiB |
145
LICENSE
145
LICENSE
|
@ -1,5 +1,5 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
|
@ -7,17 +7,15 @@
|
|||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
The GNU Affero General Public License is a free, copyleft license for
|
||||
software and other kinds of works, specifically designed to ensure
|
||||
cooperation with the community in the case of network server software.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
our General Public Licenses are intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
software for all its users.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
|
@ -26,44 +24,34 @@ them if you wish), that you receive source code or can get it if you
|
|||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
Developers that use our General Public Licenses protect your rights
|
||||
with two steps: (1) assert copyright on the software, and (2) offer
|
||||
you this License which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
A secondary benefit of defending all users' freedom is that
|
||||
improvements made in alternate versions of the program, if they
|
||||
receive widespread use, become available for other developers to
|
||||
incorporate. Many developers of free software are heartened and
|
||||
encouraged by the resulting cooperation. However, in the case of
|
||||
software used on network servers, this result may fail to come about.
|
||||
The GNU General Public License permits making a modified version and
|
||||
letting the public access it on a server without ever releasing its
|
||||
source code to the public.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
The GNU Affero General Public License is designed specifically to
|
||||
ensure that, in such cases, the modified source code becomes available
|
||||
to the community. It requires the operator of a network server to
|
||||
provide the source code of the modified version running there to the
|
||||
users of that server. Therefore, public use of a modified version, on
|
||||
a publicly accessible server, gives the public access to the source
|
||||
code of the modified version.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
An older license, called the Affero General Public License and
|
||||
published by Affero, was designed to accomplish similar goals. This is
|
||||
a different license, not a version of the Affero GPL, but Affero has
|
||||
released a new version of the Affero GPL which permits relicensing under
|
||||
this license.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
@ -72,7 +60,7 @@ modification follow.
|
|||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
"This License" refers to version 3 of the GNU Affero General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
@ -549,35 +537,45 @@ to collect a royalty for further conveying from those to whom you convey
|
|||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
13. Remote Network Interaction; Use with the GNU General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, if you modify the
|
||||
Program, your modified version must prominently offer all users
|
||||
interacting with it remotely through a computer network (if your version
|
||||
supports such interaction) an opportunity to receive the Corresponding
|
||||
Source of your version by providing access to the Corresponding Source
|
||||
from a network server at no charge, through some standard or customary
|
||||
means of facilitating copying of software. This Corresponding Source
|
||||
shall include the Corresponding Source for any work covered by version 3
|
||||
of the GNU General Public License that is incorporated pursuant to the
|
||||
following paragraph.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
under version 3 of the GNU General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
but the work with which it is combined will remain governed by version
|
||||
3 of the GNU General Public License.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
the GNU Affero General Public License from time to time. Such new versions
|
||||
will be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Program specifies that a certain numbered version of the GNU Affero General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
GNU Affero General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
versions of the GNU Affero General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
|
@ -631,44 +629,33 @@ to attach them to the start of each source file to most effectively
|
|||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
{one line to give the program's name and a brief idea of what it does.}
|
||||
Copyright (C) {year} {name of author}
|
||||
The software is called Monica and is a personal relationship management system.
|
||||
Copyright (C) 2017 Regis Freyd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
{project} Copyright (C) {year} {fullname}
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
If your software can interact with users remotely through a computer
|
||||
network, you should also make sure that it provides a way for users to
|
||||
get its source. For example, if your program is a web application, its
|
||||
interface could display a "Source" link that leads users to an archive
|
||||
of the code. There are many ways you could offer source, and different
|
||||
solutions will be better for different programs; see section 13 for the
|
||||
specific requirements.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
For more information on this, and how to apply and follow the GNU AGPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
|
|
40
README.md
40
README.md
|
@ -1,28 +1,44 @@
|
|||
# Unmaintained
|
||||
|
||||
This project is unmaintained. If anyone wants to take over, please open an issue!
|
||||
|
||||
# Monica app for YunoHost
|
||||
[![Installer Monica with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=monica)
|
||||
|
||||
**Shipped version:** v2.1.1
|
||||
<p align="center"><img src="37693034-5783b3d6-2c93-11e8-80ea-bd78438dcd51.png"></p>
|
||||
<h1 align="center">Personal Relationship Manager</h1>
|
||||
|
||||
|
||||
- [Yunohost project](https://yunohost.org)
|
||||
- [Monica](https://monicahq.com/)
|
||||
- [Monica source code at Github](https://github.com/monicahq/monica)
|
||||
|
||||
Personal Relationship Manager - a new kind of CRM to organize interactions with your friends and family.
|
||||
## Introduction
|
||||
|
||||
## TODO
|
||||
Monica is an open-source web application to organize the interactions with your loved ones. I call it a PRM, or Personal Relationship Management. Think of it as a [CRM](https://en.wikipedia.org/wiki/Customer_relationship_management) (a popular tool used by sales teams in the corporate world) for your friends or family.
|
||||
|
||||
## Install
|
||||
##### This app will install PHP7.1
|
||||
```
|
||||
sudo yunohost app install https://github.com/YunoHost-Apps/monica_ynh
|
||||
```
|
||||
**First User Registraion:** Visit the app **domain** after the installtion is complete to register as **first user**. After the first user is registerd the registration will be **locked**. You can open the register for all by chaning the value **APP_DISABLE_SIGNUP** to **false** in **.env**. There is **no admin interface** in the Monica app currently.
|
||||
|
||||
## Updae
|
||||
```
|
||||
sudo yunohost app upgrade -u https://github.com/YunoHost-Apps/monica_ynh monica
|
||||
```
|
||||
#### Change the settigs of the app by changing the values in .env
|
||||
|
||||
## What works ?
|
||||
* [X] Update and remove script
|
||||
* [X] Upgrade script
|
||||
* [X] Backup and restore script (**Need testing**)
|
||||
* [X] Multi-instance (**Need testing**)
|
||||
* [x] make root domain redirect to index.php
|
||||
* [ ] LDAP/SSO support
|
||||
* As for now, the specified admin user with the password `admin` is created in monica
|
||||
* [ ] Make monica installable into subdirectory (eg. https://example.com/monica/)
|
||||
* Currently it is only possible to install monica into the root of a domain (eg. https://example.com/)
|
||||
* This is due to a limitation in monica, not yunohost!
|
||||
* See [here](https://github.com/monicahq/monica/issues/139) for the current progress.
|
||||
* [x] make root domain redirect to index.php
|
||||
|
||||
|
||||
## Notes for Upgrading
|
||||
|
||||
* Check for changes in .env
|
||||
|
||||
## License
|
||||
|
||||
|
|
|
@ -6,15 +6,10 @@
|
|||
;; Test complete
|
||||
; Manifest
|
||||
domain="domain.tld" (DOMAIN)
|
||||
path="/path" (PATH)
|
||||
path="/" (PATH)
|
||||
admin="john" (USER)
|
||||
language="fr"
|
||||
is_public=1 (PUBLIC|public=1|private=0)
|
||||
admin_name="john" (USER)
|
||||
admin_pass="08jtiig45f88r7" (PASSWORD)
|
||||
admin_email="abc@example.com"
|
||||
password="pass"
|
||||
port="666" (PORT)
|
||||
language="fr"
|
||||
; Checks
|
||||
pkg_linter=1
|
||||
setup_sub_dir=0
|
||||
|
@ -26,7 +21,7 @@
|
|||
backup_restore=1
|
||||
multi_instance=1
|
||||
incorrect_path=0
|
||||
port_already_use=1
|
||||
port_already_use=0
|
||||
change_url=0
|
||||
;;; Levels
|
||||
Level 1=auto
|
||||
|
@ -41,3 +36,6 @@
|
|||
Level 8=0
|
||||
Level 9=0
|
||||
Level 10=0
|
||||
;;; Options
|
||||
Email=
|
||||
Notification=none
|
||||
|
|
89
conf/.env
89
conf/.env
|
@ -1,7 +1,8 @@
|
|||
# Two choices: local|production.
|
||||
APP_ENV=production
|
||||
# Two choices: local|production. Use local if you want to install Monica as a
|
||||
# development version. Use production otherwise.
|
||||
APP_ENV=local
|
||||
|
||||
# true if you want to show debug information on error. For production, put this
|
||||
# true if you want to show debug information on errors. For production, put this
|
||||
# to false.
|
||||
APP_DEBUG=false
|
||||
|
||||
|
@ -11,56 +12,71 @@ APP_DEBUG=false
|
|||
# Use `php artisan key:generate` to generate a random key.
|
||||
APP_KEY=ChangeMeBy32KeyLengthOrGenerated
|
||||
|
||||
# The URL of your application.
|
||||
APP_URL=yunodomainyunopath
|
||||
# Prevent information leakage by referring to IDs with hashIds instead of
|
||||
# the actual IDs used in the database.
|
||||
HASH_SALT=ChangeMeBy20+KeyLength
|
||||
HASH_LENGTH=18
|
||||
|
||||
# Frequency of creation of new log files.
|
||||
# Possible values: single|daily|syslog|errorlog
|
||||
APP_LOG=daily
|
||||
# The URL of your application.
|
||||
APP_URL=
|
||||
|
||||
# Database information
|
||||
# To keep this information secure, we urge you to change the default password
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=3306
|
||||
# You can use mysql unix socket if available, it overrides DB_HOST and DB_PORT values.
|
||||
#DB_UNIX_SOCKET=/var/run/mysqld/mysqld.sock
|
||||
DB_DATABASE=yunobase
|
||||
DB_USERNAME=yunouser
|
||||
DB_PASSWORD=yunopass
|
||||
DB_PREFIX=
|
||||
DB_TEST_DATABASE=monica_test
|
||||
DB_TEST_USERNAME=homestead
|
||||
DB_TEST_PASSWORD=secret
|
||||
|
||||
# Mail credentials used to send emails from the application.
|
||||
MAIL_DRIVER=smtp
|
||||
MAIL_DRIVER=mail
|
||||
MAIL_HOST=127.0.0.1
|
||||
MAIL_PORT=25
|
||||
MAIL_USERNAME=
|
||||
MAIL_PASSWORD=
|
||||
MAIL_ENCRYPTION=
|
||||
MAIL_FROM_ADDRESS=yunomail
|
||||
MAIL_FROM_NAME="Monica@Yunohost"
|
||||
MAIL_FROM_ADDRESS=monica@yunodomain
|
||||
MAIL_FROM_NAME="Monica"
|
||||
APP_EMAIL_NEW_USERS_NOTIFICATION=yunomail
|
||||
|
||||
# Default timezone for new users. Users can change this setting inside the
|
||||
# application at their leisure.
|
||||
# Must be exactly one of the timezones used in this list:
|
||||
# https://github.com/monicahq/monica/blob/master/resources/views/settings/index.blade.php#L70
|
||||
APP_DEFAULT_TIMEZONE=America/New_York
|
||||
APP_DEFAULT_TIMEZONE=US/Eastern
|
||||
|
||||
# Default locale used in the application.
|
||||
APP_DEFAULT_LOCALE=language
|
||||
|
||||
# Ability to disable signups on your instance. Can be true or false. Default to false.
|
||||
APP_DISABLE_SIGNUP=true
|
||||
|
||||
# Specific to the hosted version on .com. You probably don't need those.
|
||||
# Let them empty if you don't need them.
|
||||
GOOGLE_ANALYTICS_APP_ID=
|
||||
INTERCOM_APP_ID=
|
||||
SENTRY_APP_ID=
|
||||
# Set trusted proxy IP addresses.
|
||||
# To trust all proxies that connect directly to your server, use a "*".
|
||||
# To trust one or more specific proxies that connect directly to your server, use a comma separated list of IP addresses.
|
||||
APP_TRUSTED_PROXIES=
|
||||
|
||||
# Frequency of creation of new log files. Logs are written when an error occurs.
|
||||
# Refer to config/logging.php for the possible values.
|
||||
LOG_CHANNEL=daily
|
||||
|
||||
# Error tracking. Specific to hosted version on .com. You probably don't need
|
||||
# those.
|
||||
SENTRY_SUPPORT=false
|
||||
SENTRY_DSN=
|
||||
|
||||
# Send a daily ping to https://version.monicahq.com to check if a new version
|
||||
# is available. When a new version is detected, you will have a message in the
|
||||
# UI, as well as the release notes for the new changes. Can be true or false.
|
||||
# Default to true.
|
||||
CHECK_VERSION=false
|
||||
CHECK_VERSION=true
|
||||
|
||||
# Have access to paid features available on https://monicahq.com, for free.
|
||||
# Can be true or false. Default to false.
|
||||
|
@ -72,12 +88,43 @@ REQUIRES_SUBSCRIPTION=false
|
|||
# Leave blank unless you know what you are doing.
|
||||
STRIPE_KEY=
|
||||
STRIPE_SECRET=
|
||||
PAID_PLAN_FRIENDLY_NAME=
|
||||
PAID_PLAN_ID=
|
||||
PAID_PLAN_PRICE=
|
||||
PAID_PLAN_MONTHLY_FRIENDLY_NAME=
|
||||
PAID_PLAN_MONTHLY_ID=
|
||||
PAID_PLAN_MONTHLY_PRICE=
|
||||
PAID_PLAN_ANNUAL_FRIENDLY_NAME=
|
||||
PAID_PLAN_ANNUAL_ID=
|
||||
PAID_PLAN_ANNUAL_PRICE=
|
||||
|
||||
# Change this only if you know what you are doing
|
||||
CACHE_DRIVER=database
|
||||
SESSION_DRIVER=file
|
||||
SESSION_LIFETIME=120
|
||||
QUEUE_DRIVER=sync
|
||||
|
||||
# Default filesystem to store uploaded files.
|
||||
# Possible values: public|s3
|
||||
DEFAULT_FILESYSTEM=public
|
||||
|
||||
# AWS keys for S3 when using this storage method
|
||||
AWS_KEY=
|
||||
AWS_SECRET=
|
||||
AWS_REGION=us-east-1
|
||||
AWS_BUCKET=
|
||||
AWS_SERVER=
|
||||
|
||||
# Allow Two Factor Authentication feature on your instance
|
||||
2FA_ENABLED=false
|
||||
|
||||
# CLIENT ID and SECRET used for the official mobile application
|
||||
# This is to make sure that only the mobile application that you approve can
|
||||
# access the route to let your users sign in with their credentials
|
||||
MOBILE_CLIENT_ID=
|
||||
MOBILE_CLIENT_SECRET=
|
||||
|
||||
# Allow to access general statistics about your instance through a public API
|
||||
# call
|
||||
ALLOW_STATISTICS_THROUGH_PUBLIC_API_ACCESS=false
|
||||
|
||||
# Indicates that each user in the instance must comply to international policies
|
||||
# like CASL or GDPR
|
||||
POLICY_COMPLIANT=true
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
<?php
|
||||
|
||||
use App\Kid;
|
||||
use App\Event;
|
||||
use App\Contact;
|
||||
use App\Reminder;
|
||||
use Carbon\Carbon;
|
||||
use Faker\Factory as Faker;
|
||||
use App\Helpers\RandomHelper;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class CreateUser extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
// populate account table
|
||||
$accountID = DB::table('accounts')->insertGetId([
|
||||
'api_key' => str_random(30),
|
||||
]);
|
||||
|
||||
// populate user table
|
||||
$userId = DB::table('users')->insertGetId([
|
||||
'account_id' => $accountID,
|
||||
'first_name' => 'yuno_firstname',
|
||||
'last_name' => 'yuno_lastname',
|
||||
'email' => 'yuno_email',
|
||||
'password' => bcrypt('admin'),
|
||||
'timezone' => 'America/New_York',
|
||||
'remember_token' => str_random(10),
|
||||
]);
|
||||
|
||||
$faker = Faker::create();
|
||||
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
SOURCE_URL=https://github.com/monicahq/monica/archive/v2.0.1.tar.gz
|
||||
SOURCE_SUM=ca604063ce0e99576fc813fb7a5f3f34d3dec906d7ce214f3e4ae55f7b48b804
|
||||
SOURCE_URL=https://github.com/monicahq/monica/archive/v2.1.1.tar.gz
|
||||
SOURCE_SUM=be470d407c19854f08c1f8ff12829df0d36945a7923d78039abc63650105ac71
|
||||
SOURCE_SUM_PRG=sha256sum
|
||||
SOURCE_FORMAT=tar.gz
|
||||
SOURCE_IN_SUBDIR=true
|
||||
SOURCE_FILENAME=v2.0.1.tar.gz
|
||||
SOURCE_FILENAME=v2.1.1.tar.gz
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
location ^~ YNH_EXAMPLE_PATH {
|
||||
alias YNH_WWW_PATH;
|
||||
location ^~ __PATH__ {
|
||||
alias __FINALPATH__/public/;
|
||||
try_files $uri $uri/ @monica;
|
||||
index index.php;
|
||||
# Force https
|
||||
|
@ -8,7 +8,7 @@ location ^~ YNH_EXAMPLE_PATH {
|
|||
}
|
||||
location ~ \.php {
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
|
||||
fastcgi_pass unix:/var/run/php7.1-fpm-__NAME__.sock;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_param REMOTE_USER $remote_user;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; Start a new pool named 'www'.
|
||||
; the variable $pool can we used in any directive and will be replaced by the
|
||||
; pool name ('www' here)
|
||||
[YNH_WWW_APP]
|
||||
[__NAMETOCHANGE__]
|
||||
|
||||
; Per pool prefix
|
||||
; It only applies on the following directives:
|
||||
|
@ -24,7 +24,7 @@
|
|||
; specific port;
|
||||
; '/path/to/unix/socket' - to listen on a unix socket.
|
||||
; Note: This value is mandatory.
|
||||
listen = /var/run/php5-fpm-YNH_WWW_APP.sock
|
||||
listen = /var/run/php7.1-fpm-__NAMETOCHANGE__.sock
|
||||
|
||||
; Set listen(2) backlog. A value of '-1' means unlimited.
|
||||
; Default Value: 128 (-1 on FreeBSD and OpenBSD)
|
||||
|
@ -50,8 +50,8 @@ listen.mode = 0600
|
|||
; Unix user/group of processes
|
||||
; Note: The user is mandatory. If the group is not set, the default user's group
|
||||
; will be used.
|
||||
user = www-data
|
||||
group = www-data
|
||||
user = __USER__
|
||||
group = __USER__
|
||||
|
||||
; Choose how the process manager will control the number of child processes.
|
||||
; Possible Values:
|
||||
|
@ -170,7 +170,7 @@ request_slowlog_timeout = 5s
|
|||
; The log file for slow requests
|
||||
; Default Value: not set
|
||||
; Note: slowlog is mandatory if request_slowlog_timeout is set
|
||||
slowlog = /var/log/nginx/YNH_WWW_APP.slow.log
|
||||
slowlog = /var/log/nginx/__NAMETOCHANGE__.slow.log
|
||||
|
||||
; Set open file descriptor rlimit.
|
||||
; Default Value: system defined value
|
||||
|
@ -195,7 +195,7 @@ rlimit_core = 0
|
|||
; Chdir to this directory at the start.
|
||||
; Note: relative path can be used.
|
||||
; Default Value: current directory or / when chroot
|
||||
chdir = /var/www/YNH_WWW_ALIAS
|
||||
chdir = __FINALPATH__
|
||||
|
||||
; Redirect worker stdout and stderr into main error log. If not set, stdout and
|
||||
; stderr will be redirected to /dev/null according to FastCGI specs.
|
||||
|
@ -238,12 +238,12 @@ catch_workers_output = yes
|
|||
;php_admin_flag[log_errors] = on
|
||||
;php_admin_value[memory_limit] = 32M
|
||||
|
||||
# Common values to change to increase file upload limit
|
||||
; Common values to change to increase file upload limit
|
||||
;php_value[upload_max_filesize] = 50M
|
||||
;php_value[post_max_size] = 50M
|
||||
;php_value[mail.add_x_header] = Off
|
||||
|
||||
# Other common parameters
|
||||
; Other common parameters
|
||||
;php_value[max_execution_time] = 600
|
||||
;php_value[max_input_time] = 300
|
||||
;php_value[memory_limit] = 256M
|
||||
|
|
1
install
1
install
|
@ -1 +0,0 @@
|
|||
yunohost app install /vagrant/monica_ynh/ --debug -n -a "domain=monica.ynh.local&path=/&admin=basti&is_public=0&language=en"
|
|
@ -7,18 +7,19 @@
|
|||
},
|
||||
"url": "https://monica.com",
|
||||
"license": "GPL-3.0",
|
||||
"version": "2.0",
|
||||
"version": "2.1.1",
|
||||
"maintainer": {
|
||||
"name": "Sebastian Gumprich",
|
||||
"email": "yunohost@gumpri.ch",
|
||||
"url": "http://github.com/rndmh3ro/monica_ynh"
|
||||
},
|
||||
"requirements": {
|
||||
"yunohost": ">> 2.7.0"
|
||||
"yunohost": ">> 2.7.2"
|
||||
},
|
||||
"multi_instance": true,
|
||||
"services": [
|
||||
"nginx",
|
||||
"php7.1",
|
||||
"mysql"
|
||||
],
|
||||
"arguments": {
|
||||
|
@ -32,17 +33,6 @@
|
|||
},
|
||||
"example": "monica.com"
|
||||
},
|
||||
{
|
||||
"name": "path",
|
||||
"type": "path",
|
||||
"ask": {
|
||||
"en": "Currently it's only possible to install Monica on the root of a domain, eg. monica.example.com",
|
||||
"fr": "Attention: Only install Monica on the domain root, e.g. monica.example.com"
|
||||
},
|
||||
"example": "/",
|
||||
"default": "/",
|
||||
"choices": ["/"]
|
||||
},
|
||||
{
|
||||
"name": "admin",
|
||||
"type": "user",
|
||||
|
@ -59,7 +49,7 @@
|
|||
"en": "Is it a public application?",
|
||||
"fr": "Est-ce une application publique ?"
|
||||
},
|
||||
"default": false
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "language",
|
||||
|
@ -67,7 +57,7 @@
|
|||
"en": "Choose the application language",
|
||||
"fr": "Choisissez la langue de l'application"
|
||||
},
|
||||
"choices": ["fr", "en"],
|
||||
"choices": ["cs","de","en","es","fr","he","it","nl","pt","ru","zh"],
|
||||
"default": "en"
|
||||
}
|
||||
]
|
||||
|
|
|
@ -4,49 +4,16 @@
|
|||
# YUNOHOST 2.7 FORTHCOMING HELPERS
|
||||
# =============================================================================
|
||||
|
||||
# Create a dedicated nginx config
|
||||
#
|
||||
# usage: ynh_add_nginx_config
|
||||
ynh_add_nginx_config () {
|
||||
finalnginxconf="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
ynh_backup_if_checksum_is_different "$finalnginxconf"
|
||||
sudo cp ../conf/nginx.conf "$finalnginxconf"
|
||||
|
||||
# To avoid a break by set -u, use a void substitution ${var:-}. If the variable is not set, it's simply set with an empty variable.
|
||||
# Substitute in a nginx config file only if the variable is not empty
|
||||
if test -n "${path_url:-}"; then
|
||||
ynh_replace_string "__PATH__" "$path_url" "$finalnginxconf"
|
||||
fi
|
||||
if test -n "${domain:-}"; then
|
||||
ynh_replace_string "__DOMAIN__" "$domain" "$finalnginxconf"
|
||||
fi
|
||||
if test -n "${port:-}"; then
|
||||
ynh_replace_string "__PORT__" "$port" "$finalnginxconf"
|
||||
fi
|
||||
if test -n "${app:-}"; then
|
||||
ynh_replace_string "__NAME__" "$app" "$finalnginxconf"
|
||||
fi
|
||||
if test -n "${final_path:-}"; then
|
||||
ynh_replace_string "__FINALPATH__" "$final_path" "$finalnginxconf"
|
||||
fi
|
||||
ynh_store_file_checksum "$finalnginxconf"
|
||||
|
||||
sudo systemctl reload nginx
|
||||
}
|
||||
|
||||
# Remove the dedicated nginx config
|
||||
#
|
||||
# usage: ynh_remove_nginx_config
|
||||
ynh_remove_nginx_config () {
|
||||
ynh_secure_remove "/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
sudo systemctl reload nginx
|
||||
}
|
||||
|
||||
# Create a dedicated php-fpm config
|
||||
#
|
||||
# usage: ynh_add_fpm_config
|
||||
ynh_add_fpm_config () {
|
||||
finalphpconf="/etc/php5/fpm/pool.d/$app.conf"
|
||||
ynh_add_fpm7.1_config () {
|
||||
# Configure PHP-FPM 7.1 by default
|
||||
local fpm_config_dir="/etc/php/7.1/fpm"
|
||||
local fpm_service="php7.1-fpm"
|
||||
ynh_app_setting_set $app fpm_config_dir "$fpm_config_dir"
|
||||
ynh_app_setting_set $app fpm_service "$fpm_service"
|
||||
finalphpconf="$fpm_config_dir/pool.d/$app.conf"
|
||||
ynh_backup_if_checksum_is_different "$finalphpconf"
|
||||
sudo cp ../conf/php-fpm.conf "$finalphpconf"
|
||||
ynh_replace_string "__NAMETOCHANGE__" "$app" "$finalphpconf"
|
||||
|
@ -57,59 +24,27 @@ ynh_add_fpm_config () {
|
|||
|
||||
if [ -e "../conf/php-fpm.ini" ]
|
||||
then
|
||||
finalphpini="/etc/php5/fpm/conf.d/20-$app.ini"
|
||||
finalphpini="$fpm_config_dir/conf.d/20-$app.ini"
|
||||
ynh_backup_if_checksum_is_different "$finalphpini"
|
||||
sudo cp ../conf/php-fpm.ini "$finalphpini"
|
||||
sudo chown root: "$finalphpini"
|
||||
ynh_store_file_checksum "$finalphpini"
|
||||
fi
|
||||
|
||||
sudo systemctl reload php5-fpm
|
||||
sudo systemctl reload $fpm_service
|
||||
}
|
||||
|
||||
# Remove the dedicated php-fpm config
|
||||
#
|
||||
# usage: ynh_remove_fpm_config
|
||||
ynh_remove_fpm_config () {
|
||||
ynh_secure_remove "/etc/php5/fpm/pool.d/$app.conf"
|
||||
ynh_secure_remove "/etc/php5/fpm/conf.d/20-$app.ini" 2>&1
|
||||
sudo systemctl reload php5-fpm
|
||||
# usage: ynh_remove_fpm7.1_config
|
||||
ynh_remove_fpm7.1_config () {
|
||||
local fpm_config_dir=$(ynh_app_setting_get $app fpm_config_dir)
|
||||
local fpm_service=$(ynh_app_setting_get $app fpm_service)
|
||||
ynh_secure_remove "$fpm_config_dir/pool.d/$app.conf"
|
||||
ynh_secure_remove "$fpm_config_dir/conf.d/20-$app.ini" 2>&1
|
||||
sudo systemctl reload $fpm_service
|
||||
}
|
||||
|
||||
# Create a dedicated systemd config
|
||||
#
|
||||
# usage: ynh_add_systemd_config
|
||||
ynh_add_systemd_config () {
|
||||
finalsystemdconf="/etc/systemd/system/$app.service"
|
||||
ynh_backup_if_checksum_is_different "$finalsystemdconf"
|
||||
sudo cp ../conf/systemd.service "$finalsystemdconf"
|
||||
|
||||
# To avoid a break by set -u, use a void substitution ${var:-}. If the variable is not set, it's simply set with an empty variable.
|
||||
# Substitute in a nginx config file only if the variable is not empty
|
||||
if test -n "${final_path:-}"; then
|
||||
ynh_replace_string "__FINALPATH__" "$final_path" "$finalsystemdconf"
|
||||
fi
|
||||
if test -n "${app:-}"; then
|
||||
ynh_replace_string "__APP__" "$app" "$finalsystemdconf"
|
||||
fi
|
||||
ynh_store_file_checksum "$finalsystemdconf"
|
||||
|
||||
sudo chown root: "$finalsystemdconf"
|
||||
sudo systemctl enable $app
|
||||
sudo systemctl daemon-reload
|
||||
}
|
||||
|
||||
# Remove the dedicated systemd config
|
||||
#
|
||||
# usage: ynh_remove_systemd_config
|
||||
ynh_remove_systemd_config () {
|
||||
finalsystemdconf="/etc/systemd/system/$app.service"
|
||||
if [ -e "$finalsystemdconf" ]; then
|
||||
sudo systemctl stop $app
|
||||
sudo systemctl disable $app
|
||||
ynh_secure_remove "$finalsystemdconf"
|
||||
fi
|
||||
}
|
||||
|
||||
# Execute a command as another user
|
||||
# usage: exec_as USER COMMAND [ARG ...]
|
||||
|
@ -157,100 +92,10 @@ init_composer() {
|
|||
|| ynh_die "Unable to update monica core dependencies"
|
||||
}
|
||||
|
||||
#
|
||||
# NodeJS helpers
|
||||
#
|
||||
|
||||
sudo_path () {
|
||||
sudo env "PATH=$PATH" $@
|
||||
}
|
||||
|
||||
# INFOS
|
||||
# n (Node version management) utilise la variable PATH pour stocker le path de la version de node à utiliser.
|
||||
# C'est ainsi qu'il change de version
|
||||
# En attendant une généralisation de root, il est possible d'utiliser sudo avec le helper temporaire sudo_path
|
||||
# Il permet d'utiliser sudo en gardant le $PATH modifié
|
||||
# ynh_install_nodejs installe la version de nodejs demandée en argument, avec n
|
||||
# ynh_use_nodejs active une version de nodejs dans le script courant
|
||||
# 3 variables sont mises à disposition, et 2 sont stockées dans la config de l'app
|
||||
# - nodejs_path: Le chemin absolu de cette version de node
|
||||
# Utilisé pour des appels directs à node.
|
||||
# - nodejs_version: Simplement le numéro de version de nodejs pour cette application
|
||||
# - nodejs_use_version: Un alias pour charger une version de node dans le shell courant.
|
||||
# Utilisé pour démarrer un service ou un script qui utilise node ou npm
|
||||
# Dans ce cas, c'est $PATH qui contient le chemin de la version de node. Il doit être propagé sur les autres shell si nécessaire.
|
||||
|
||||
n_install_dir="/opt/node_n"
|
||||
ynh_use_nodejs () {
|
||||
nodejs_version=$(ynh_app_setting_get $app nodejs_version)
|
||||
|
||||
load_n_path="[[ :$PATH: == *\":$n_install_dir/bin:\"* ]] || PATH+=\":$n_install_dir/bin\""
|
||||
|
||||
nodejs_use_version="n $nodejs_version"
|
||||
|
||||
# "Load" a version of node
|
||||
eval $load_n_path; $nodejs_use_version
|
||||
eval $load_n_path; sudo env "PATH=$PATH" $nodejs_use_version
|
||||
|
||||
# Get the absolute path of this version of node
|
||||
nodejs_path="$(n bin $nodejs_version)"
|
||||
|
||||
# Make an alias for node use
|
||||
ynh_node_exec="eval $load_n_path; n use $nodejs_version"
|
||||
sudo_ynh_node_exec="eval $load_n_path; sudo env \"PATH=$PATH\" n use $nodejs_version"
|
||||
}
|
||||
|
||||
ynh_install_nodejs () {
|
||||
# Use n, https://github.com/tj/n to manage the nodejs versions
|
||||
local nodejs_version="$1"
|
||||
local n_install_script="https://git.io/n-install"
|
||||
|
||||
# Create $n_install_dir
|
||||
sudo mkdir -p "$n_install_dir"
|
||||
|
||||
# Load n path in PATH
|
||||
PATH+=":$n_install_dir/bin"
|
||||
|
||||
# If n is not previously setup, install it
|
||||
n --version > /dev/null 2>&1 || \
|
||||
( echo "Installation of N - Node.js version management" >&2; \
|
||||
curl -sL $n_install_script | sudo N_PREFIX="$n_install_dir" bash -s -- -y $nodejs_version )
|
||||
|
||||
# Install the requested version of nodejs (except for the first installation of n, which installed the requested version of node.)
|
||||
sudo env "PATH=$PATH" n $nodejs_version
|
||||
|
||||
# Use the real installed version. Sometimes slightly different
|
||||
nodejs_version=$(node --version | cut -c2-)
|
||||
|
||||
# Store the ID of this app and the version of node requested for it
|
||||
echo "$YNH_APP_ID:$nodejs_version" | sudo tee --append "$n_install_dir/ynh_app_version"
|
||||
|
||||
# Store nodejs_version into the config of this app
|
||||
ynh_app_setting_set $app nodejs_version $nodejs_version
|
||||
|
||||
ynh_use_nodejs
|
||||
}
|
||||
|
||||
ynh_remove_nodejs () {
|
||||
ynh_use_nodejs
|
||||
|
||||
# Remove the line for this app
|
||||
sudo sed --in-place "/$YNH_APP_ID:$nodejs_version/d" "$n_install_dir/ynh_app_version"
|
||||
|
||||
# If none another app uses this version of nodejs, remove it.
|
||||
if ! grep --quiet "$nodejs_version" "$n_install_dir/ynh_app_version"
|
||||
then
|
||||
n rm $nodejs_version
|
||||
fi
|
||||
|
||||
# If none another app uses n, remove n
|
||||
if [ ! -s "$n_install_dir/ynh_app_version" ]
|
||||
then
|
||||
ynh_secure_remove "$n_install_dir"
|
||||
sudo sed --in-place "/N_PREFIX/d" /root/.bashrc
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# PHP7 helpers
|
||||
#
|
||||
|
@ -274,4 +119,3 @@ ynh_remove_php7 () {
|
|||
sudo apt-key del 2048R/11A06851
|
||||
ynh_remove_app_dependencies php7.1 php7.1-zip php7.1-fpm php7.1-mysql php7.1-xml php7.1-intl php7.1-mbstring php7.1-gd php7.1-curl
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ ynh_abort_if_errors
|
|||
#=================================================
|
||||
|
||||
domain=$YNH_APP_ARG_DOMAIN
|
||||
path_url=$YNH_APP_ARG_PATH
|
||||
path_url="/"
|
||||
admin=$YNH_APP_ARG_ADMIN
|
||||
is_public=$YNH_APP_ARG_IS_PUBLIC
|
||||
language=$YNH_APP_ARG_LANGUAGE
|
||||
|
@ -70,7 +70,7 @@ ynh_app_setting_set $app language $language
|
|||
#=================================================
|
||||
|
||||
ynh_install_php7
|
||||
ynh_install_nodejs 6.10.3
|
||||
ynh_install_nodejs 9
|
||||
|
||||
#=================================================
|
||||
# CREATE A MYSQL DATABASE
|
||||
|
@ -94,9 +94,6 @@ init_composer $final_path
|
|||
# NGINX CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
sudo sed -i "s@YNH_EXAMPLE_PATH@$path_url@g" ../conf/nginx.conf
|
||||
sudo sed -i "s@YNH_WWW_PATH@$final_path\/public\/@g" ../conf/nginx.conf
|
||||
|
||||
# Create a dedicated nginx config
|
||||
ynh_add_nginx_config
|
||||
|
||||
|
@ -107,20 +104,20 @@ ynh_add_nginx_config
|
|||
# Create a system user
|
||||
ynh_system_user_create $app
|
||||
|
||||
#=================================================
|
||||
# PHP-FPM 7.1 CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
# Create a dedicated php-fpm7.1 config
|
||||
ynh_add_fpm7.1_config
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC SETUP
|
||||
#=================================================
|
||||
|
||||
# create a user
|
||||
first_name=$(ynh_user_get_info $admin 'firstname')
|
||||
last_name=$(ynh_user_get_info $admin 'lastname')
|
||||
email=$(ynh_user_get_info $admin 'mail')
|
||||
|
||||
sudo sed -i "s/yuno_firstname/$first_name/g" ../conf/CreateUser.php
|
||||
sudo sed -i "s/yuno_lastname/$last_name/g" ../conf/CreateUser.php
|
||||
sudo sed -i "s/yuno_email/$email/g" ../conf/CreateUser.php
|
||||
sudo cp ../conf/CreateUser.php $final_path/database/seeds/CreateUser.php
|
||||
|
||||
# setup application config
|
||||
sudo cp ../conf/.env $final_path/.env
|
||||
cd $final_path && sudo /usr/bin/php7.1 artisan -n key:generate --force
|
||||
|
@ -133,25 +130,24 @@ sudo sed -i "s/yunopass/$db_pwd/g" $final_path/.env
|
|||
sudo sed -i "s/yunobase/$db_name/g" $final_path/.env
|
||||
sudo sed -i "s/yunomail/$email/g" $final_path/.env
|
||||
sudo sed -i "s/yunodomain/$domain/g" $final_path/.env
|
||||
## uses commas because path url contains a slash
|
||||
sudo sed -i "s,yunopath,${path_url},g" $final_path/.env
|
||||
sudo sed -i "s/language/$language/g" $final_path/.env
|
||||
|
||||
|
||||
# Install nodejs packages
|
||||
cd $final_path && sudo_path npm install -g npm@4 pnpm
|
||||
cd $final_path && sudo_path pnpm install
|
||||
cd $final_path && sudo_path pnpm install -g bower gulp
|
||||
cd $final_path && sudo_path bower install -f --allow-root
|
||||
cd $final_path && sudo_path npm install
|
||||
cd $final_path && sudo_path npm run production
|
||||
|
||||
|
||||
# setup application config
|
||||
cd $final_path && sudo /usr/bin/php7.1 artisan -q migrate --force
|
||||
cd $final_path && sudo /usr/bin/php7.1 artisan -q storage:link
|
||||
cd $final_path && sudo /usr/bin/php7.1 artisan -q optimize
|
||||
cd $final_path && sudo /usr/bin/php7.1 artisan -q db:seed --class ActivityTypesTableSeeder --force
|
||||
cd $final_path && sudo /usr/bin/php7.1 artisan -q db:seed --class CountriesSeederTable --force
|
||||
cd $final_path && sudo /usr/bin/php7.1 artisan -q db:seed --class CreateUser --force
|
||||
cd $final_path && sudo /usr/bin/php7.1 artisan -q setup:production --force
|
||||
|
||||
|
||||
# create a cronjob to run the scheduler
|
||||
echo "* * * * * www-data cd $final_path && /usr/bin/php7.1 $final_path/artisan schedule:run >/dev/null 2>&1" > /tmp/cron$app
|
||||
echo "* * * * * sudo $app /usr/bin/php7.1 $final_path/artisan schedule:run" > /tmp/cron$app
|
||||
sudo mv /tmp/cron$app /etc/cron.d/$app
|
||||
sudo chown root /etc/cron.d/$app
|
||||
|
||||
|
@ -162,7 +158,7 @@ sudo chown root /etc/cron.d/$app
|
|||
#=================================================
|
||||
|
||||
# Set permissions to app files
|
||||
chown -R www-data: $final_path
|
||||
chown -R $app: $final_path
|
||||
|
||||
#=================================================
|
||||
# SETUP SSOWAT
|
||||
|
|
|
@ -16,21 +16,10 @@ source /usr/share/yunohost/helpers
|
|||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
domain=$(ynh_app_setting_get $app domain)
|
||||
port=$(ynh_app_setting_get $app port)
|
||||
db_name=$(ynh_app_setting_get $app db_name)
|
||||
|
||||
#=================================================
|
||||
# STANDARD REMOVE
|
||||
#=================================================
|
||||
# REMOVE SERVICE FROM ADMIN PANEL
|
||||
#=================================================
|
||||
|
||||
if yunohost service status | grep -q $app
|
||||
then
|
||||
echo "Remove $app service"
|
||||
yunohost service remove $app
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# REMOVE DEPENDENCIES
|
||||
#=================================================
|
||||
|
@ -59,6 +48,14 @@ ynh_secure_remove "/var/www/$app"
|
|||
# Remove the dedicated nginx config
|
||||
ynh_remove_nginx_config
|
||||
|
||||
#=================================================
|
||||
# REMOVE PHP-FPM 7.1 CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
# Remove the dedicated php-fpm7.1 config
|
||||
ynh_remove_fpm7.1_config
|
||||
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC REMOVE
|
||||
#=================================================
|
||||
|
|
|
@ -27,9 +27,8 @@ path_url=$(ynh_app_setting_get $app path)
|
|||
admin=$(ynh_app_setting_get $app admin)
|
||||
is_public=$(ynh_app_setting_get $app is_public)
|
||||
final_path=$(ynh_app_setting_get $app final_path)
|
||||
port=$(ynh_app_setting_get $app port)
|
||||
db_name=$(ynh_app_setting_get $app db_name)
|
||||
|
||||
language=$(ynh_app_setting_get $app language)
|
||||
#=================================================
|
||||
# ENSURE DOWNWARD COMPATIBILITY
|
||||
#=================================================
|
||||
|
@ -67,9 +66,6 @@ ynh_setup_source "$final_path"
|
|||
# NGINX CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
sudo sed -i "s@YNH_EXAMPLE_PATH@$path_url@g" ../conf/nginx.conf
|
||||
sudo sed -i "s@YNH_WWW_PATH@$final_path\/public\/@g" ../conf/nginx.conf
|
||||
|
||||
# Create a dedicated nginx config
|
||||
ynh_add_nginx_config
|
||||
|
||||
|
@ -80,6 +76,7 @@ ynh_add_nginx_config
|
|||
# Create a system user
|
||||
ynh_system_user_create $app
|
||||
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC UPGRADE
|
||||
#=================================================
|
||||
|
@ -89,15 +86,16 @@ ynh_system_user_create $app
|
|||
# install new dependencies
|
||||
ynh_install_app_dependencies php7.1 php7.1-zip php7.1-fpm php7.1-mysql php7.1-xml php7.1-intl php7.1-mbstring php7.1-gd php7.1-curl
|
||||
|
||||
# create a user
|
||||
first_name=$(ynh_user_get_info $admin 'firstname')
|
||||
last_name=$(ynh_user_get_info $admin 'lastname')
|
||||
email=$(ynh_user_get_info $admin 'mail')
|
||||
#=================================================
|
||||
# PHP-FPM 7.1 CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
sudo sed -i "s/yuno_firstname/$first_name/g" ../conf/CreateUser.php
|
||||
sudo sed -i "s/yuno_lastname/$last_name/g" ../conf/CreateUser.php
|
||||
sudo sed -i "s/yuno_email/$email/g" ../conf/CreateUser.php
|
||||
sudo cp ../conf/CreateUser.php $final_path/database/seeds/CreateUser.php
|
||||
# Create a dedicated php-fpm7.1 config
|
||||
ynh_add_fpm7.1_config
|
||||
|
||||
|
||||
# create a user
|
||||
email=$(ynh_user_get_info $admin 'mail')
|
||||
|
||||
# setup application config
|
||||
sudo cp ../conf/.env $final_path/.env
|
||||
|
@ -109,14 +107,12 @@ sudo sed -i "s/yunopass/$db_pwd/g" $final_path/.env
|
|||
sudo sed -i "s/yunobase/$db_name/g" $final_path/.env
|
||||
sudo sed -i "s/yunomail/$email/g" $final_path/.env
|
||||
sudo sed -i "s/yunodomain/$domain/g" $final_path/.env
|
||||
## uses commas because path url contains a slash
|
||||
sudo sed -i "s,yunopath,${path_url},g" $final_path/.env
|
||||
sudo sed -i "s/language/$language/g" $final_path/.env
|
||||
|
||||
exec_composer "$final_path" update --quiet --no-dev --prefer-dist
|
||||
|
||||
# setup application config
|
||||
cd $final_path && sudo /usr/bin/php7.1 artisan migrate --force
|
||||
cd $final_path && sudo /usr/bin/php7.1 artisan optimize
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
|
@ -125,7 +121,7 @@ cd $final_path && sudo /usr/bin/php7.1 artisan optimize
|
|||
#=================================================
|
||||
|
||||
# Set right permissions for curl installation
|
||||
chown -R www-data: $final_path
|
||||
chown -R $app: $final_path
|
||||
|
||||
#=================================================
|
||||
# SETUP SSOWAT
|
||||
|
|
Loading…
Reference in a new issue