Compare commits

..

3 commits

Author SHA1 Message Date
anmol26s df340949a8 Add path in systemd environment 2018-09-28 18:35:49 +05:30
anmol26s 030d06442b Add path in systemd environment 2018-09-28 17:17:15 +05:30
anmol26s 6d2b9bfca3 Upgrade to version 1.0.0-beta.14 2018-09-26 21:08:24 +05:30
10 changed files with 61 additions and 154 deletions

View file

@ -4,7 +4,8 @@
[![Install Peertube with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=peertube)<br><br> [![Install Peertube with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=peertube)<br><br>
======= =======
Shipped Version: **1.2.1** Shipped Version: **1.0.0-beta.14**
## What is Peertube ? ## What is Peertube ?
PeerTube is a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser, using <a href="https://github.com/feross/webtorrent">WebTorrent</a>. PeerTube is a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser, using <a href="https://github.com/feross/webtorrent">WebTorrent</a>.
@ -34,28 +35,28 @@ Want to see in action?
### Guidelines ### Guidelines
1. Require **dedicated domain** like **peertube.domain.tld**. 1. Require dedicated domain like **peertube.domain.tld**.
1. **No LDAP** support (blocked until Peertube core upstream implements it) 1. No LDAP support (blocked until upstream implements it)
1. URL can not be changed once selected. Choose the domain wisely. 1. URL can not be changed once selected.
1. You need more then **1GB** of ram. If you don't have it, please create a **swap memory**. 1. You need more then **1GB** of ram. If you don't have it, please create a **swap memory**.
$ dd if=/dev/zero of=/swapfile bs=1024 count=1048576 $ dd if=/dev/zero of=/swapfile bs=1024 count=1048576
$ mkswap /swapfile $ mkswap /swapfile
$ swapon /swapfile $ swapon /swapfile
$ echo "/swapfile swap swap defaults 0 0" >> /etc/fstab $ echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
1. This app is **multi-instance** (you can have more then one Peertube instance running on a YunoHost server) 1. This app is multi-instance (you can have more then one Peertube instance running on a YunoHost server)
### Installing guide ### Install
1. App can be installed by YunoHost **admin web-interface** or by **running following command**: 1. **App can be installed by YunoHost admin interface or by the following command:**
$ sudo yunohost app install https://github.com/YunoHost-Apps/peertube_ynh $ sudo yunohost app install https://github.com/YunoHost-Apps/peertube_ynh
1. Admin username is : **root**. 1. **root** is the admin username.
1. **Admin password** will be sent to the email address given at the time of the installation. 1. **root Password** will be sent to the email address given at the time of the installation.
1. **TLS** and **starttls** are disabled for the outgoing mails. If you intent to use email address not hosted on your local server,it's advised to have a proper SMTP configured with tls and starttls settings by editing **/var/www/peertube/config/production.yml**. 1. **TLS** and **starttls** are disabled for the outgoing mails. If you intent to use email address not hosted on your local server,it's advised to have a proper SMTP configured with tls and starttls settings by editing **/var/www/peertube/config/porduction.yml**.
### Update Guide ### Updation
1. App can be updated by YunoHost **admin web-interface** or with the following command**: 1. **App can be updated by YunoHost admin interface or with the following command:**
$ sudo yunohost app upgrade -u https://github.com/YunoHost-Apps/peertube_ynh peertube $ sudo yunohost app upgrade -u https://github.com/YunoHost-Apps/peertube_ynh peertube

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/Chocobozzz/PeerTube/releases/download/v1.2.1/peertube-v1.2.1.tar.xz SOURCE_URL=https://github.com/Chocobozzz/PeerTube/releases/download/v1.0.0-beta.14/peertube-v1.0.0-beta.14.tar.xz
SOURCE_SUM=77517c06133704e36b755bdae4f68838221e657ca70a1a40d5c8652655978ed5 SOURCE_SUM=10e30233bd31e765b117b1f9b6767c6d5376e928aefa219df30183b47674be8e
SOURCE_SUM_PRG=sha256sum SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=tar.xz SOURCE_FORMAT=tar.xz
SOURCE_IN_SUBDIR=true SOURCE_IN_SUBDIR=true

View file

@ -1,10 +1,9 @@
# Bypass PeerTube for performance reasons. Could be removed
location ~ ^/client/(.*\.(js|css|woff2|otf|ttf|woff|eot))$ { location ~ ^/client/(.*\.(js|css|woff2|otf|ttf|woff|eot))$ {
add_header Cache-Control "public, max-age=31536000, immutable"; add_header Cache-Control "public, max-age=31536000, immutable";
alias __FINALPATH__/client/dist/$1; alias __FINALPATH__/client/dist/$1;
} }
# Bypass PeerTube for performance reasons. Could be removed
location ~ ^/static/(thumbnails|avatars)/ { location ~ ^/static/(thumbnails|avatars)/ {
if ($request_method = 'OPTIONS') { if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Origin' '*';
@ -37,17 +36,8 @@
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# This is the maximum upload size, which roughly matches the maximum size of a video file # Hard limit, PeerTube does not support videos > 8GB
# you can send via the API or the web interface. By default this is 8GB, but administrators
# can increase or decrease the limit. Currently there's no way to communicate this limit
# to users automatically, so you may want to leave a note in your instance 'about' page if
# you change this.
#
# Note that temporary space is needed equal to the total size of all concurrent uploads.
# This data gets stored in /var/lib/nginx by default, so you may want to put this directory
# on a dedicated filesystem.
#
client_max_body_size 8G; client_max_body_size 8G;
proxy_connect_timeout 600; proxy_connect_timeout 600;
proxy_send_timeout 600; proxy_send_timeout 600;
@ -55,8 +45,8 @@
send_timeout 600; send_timeout 600;
} }
# Bypass PeerTube for performance reasons. Could be removed # Bypass PeerTube webseed route for better performances
location ~ ^/static/(webseed|redundancy)/ { location /static/webseed {
# Clients usually have 4 simultaneous webseed connections, so the real limit is 3MB/s per client # Clients usually have 4 simultaneous webseed connections, so the real limit is 3MB/s per client
limit_rate 800k; limit_rate 800k;
@ -79,14 +69,7 @@
access_log off; access_log off;
} }
root /home/yunohost.app/__NAME__/storage; alias /home/yunohost.app/__NAME__/storage/videos;
rewrite ^/static/webseed/(.*)$ /videos/$1 break;
rewrite ^/static/redundancy/(.*)$ /redundancy/$1 break;
try_files $uri /;
} }
# Websocket tracker # Websocket tracker
@ -101,18 +84,3 @@
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_pass http://localhost:__PORT__; proxy_pass http://localhost:__PORT__;
} }
location /socket.io {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://localhost:__PORT__;
# enable WebSockets
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

View file

@ -2,7 +2,7 @@ listen:
hostname: 'localhost' hostname: 'localhost'
port: __PORT__ port: __PORT__
# Correspond to your reverse proxy server_name/listen configuration # Correspond to your reverse proxy "listen" configuration
webserver: webserver:
https: true https: true
hostname: '__domain__' hostname: '__domain__'
@ -47,10 +47,8 @@ smtp:
# From the project root directory # From the project root directory
storage: storage:
tmp: '/home/yunohost.app/__app__/storage/tmp/' # Used to download data (imports etc), store uploaded files before processing...
avatars: '/home/yunohost.app/__app__/storage/avatars/' avatars: '/home/yunohost.app/__app__/storage/avatars/'
videos: '/home/yunohost.app/__app__/storage/videos/' videos: '/home/yunohost.app/__app__/storage/videos/'
redundancy: '/home/yunohost.app/__app__/storage/videos/'
logs: '/home/yunohost.app/__app__/storage/logs/' logs: '/home/yunohost.app/__app__/storage/logs/'
previews: '/home/yunohost.app/__app__/storage/previews/' previews: '/home/yunohost.app/__app__/storage/previews/'
thumbnails: '/home/yunohost.app/__app__/storage/thumbnails/' thumbnails: '/home/yunohost.app/__app__/storage/thumbnails/'
@ -62,36 +60,14 @@ log:
level: 'info' # debug/info/warning/error level: 'info' # debug/info/warning/error
search: search:
# Add ability to fetch remote videos/actors by their URI, that may not be federated with your instance remote_uri: # Add ability to search remote videos/actors by URI, that may not be federated with your instance
# If enabled, the associated group will be able to "escape" from the instance follows
# That means they will be able to follow channels, watch videos, list videos of non followed instances
remote_uri:
users: true users: true
anonymous: false anonymous: false
trending: trending:
videos: videos:
interval_days: 7 # Compute trending videos for the last x days interval_days: 7 # Compute trending videos for the last x days
# Cache remote videos on your server, to help other instances to broadcast the video
# You can define multiple caches using different sizes/strategies
# Once you have defined your strategies, choose which instances you want to cache in admin -> manage follows -> following
#redundancy:
# videos:
# check_interval: '6 hour' # How often you want to check new videos to cache
# strategies:
# -
# size: '10GB'
# strategy: 'most-views' # Cache videos that have the most views
# -
# size: '10GB'
# strategy: 'trending' # Cache trending videos
# -
# size: '1GB'
# # Minimum time the video must remain in the cache. Only accept values > 10 hours (to not overload remote instances)
# min_lifetime: '48 hours'
# strategy: 'recently-added' # Cache recently added videos
# min_views: 10 # Having at least x views
############################################################################### ###############################################################################
# #
@ -113,17 +89,11 @@ cache:
admin: admin:
# Used to generate the root user at first startup
# And to receive emails from the contact form
email: '__email__' email: '__email__'
contact_form:
enabled: true
signup: signup:
enabled: false enabled: false
limit: 10 # When the limit is reached, registrations are disabled. -1 == unlimited limit: 10 # When the limit is reached, registrations are disabled. -1 == unlimited
requires_email_verification: false
filters: filters:
cidr: # You can specify CIDR ranges to whitelist (empty = no filtering) or blacklist cidr: # You can specify CIDR ranges to whitelist (empty = no filtering) or blacklist
whitelist: [] whitelist: []
@ -140,8 +110,6 @@ user:
# Please, do not disable transcoding since many uploaded videos will not work # Please, do not disable transcoding since many uploaded videos will not work
transcoding: transcoding:
enabled: true enabled: true
# Allow your users to upload .mkv, .mov, .avi, .flv videos
allow_additional_extensions: true
threads: 1 threads: 1
resolutions: # Only created if the original video has a higher resolution, uses more storage! resolutions: # Only created if the original video has a higher resolution, uses more storage!
240p: false 240p: false
@ -174,14 +142,12 @@ instance:
# Robot.txt rules. To disallow robots to crawl your instance and disallow indexation of your site, add '/' to "Disallow:' # Robot.txt rules. To disallow robots to crawl your instance and disallow indexation of your site, add '/' to "Disallow:'
robots: | robots: |
User-agent: * User-agent: *
Disallow: Disallow: ''
# Security.txt rules. To discourage researchers from testing your instance and disable security.txt integration, set this to an empty string. # Security.txt rules. To discourage researchers from testing your instance and disable security.txt integration, set this to an empty string.
securitytxt: securitytxt:
"# If you would like to report a security issue\n# you may report it to:\nContact: https://github.com/Chocobozzz/PeerTube/blob/develop/SECURITY.md\nContact: mailto:" "# If you would like to report a security issue\n# you may report it to:\nContact: https://github.com/Chocobozzz/PeerTube/blob/develop/SECURITY.md\nContact: mailto:"
services: services:
# You can provide a reporting endpoint for Content Security Policy violations
csp-logger:
# Cards configuration to format video in Twitter # Cards configuration to format video in Twitter
twitter: twitter:
username: '@yunohost' # Indicates the Twitter account for the website or platform on which the content was published username: '@yunohost' # Indicates the Twitter account for the website or platform on which the content was published

View file

@ -4,36 +4,17 @@ After=network.target postgresql.service redis-server.service
[Service] [Service]
Type=simple Type=simple
Environment="PATH=__ENV_PATH__"
Environment=NODE_ENV=production Environment=NODE_ENV=production
Environment=NODE_CONFIG_DIR=__FINALPATH__/config Environment=NODE_CONFIG_DIR=__FINALPATH__/config
User=__APP__ User=__APP__
Group=__APP__ Group=__APP__
Environment="PATH=__ENV_PATH__" ExecStart=/bin/sh -c 'exec npm start'
ExecStart=/bin/sh -c ' npm start'
WorkingDirectory=__FINALPATH__/ WorkingDirectory=__FINALPATH__/
StandardOutput=syslog StandardOutput=syslog
StandardError=syslog StandardError=syslog
SyslogIdentifier=__APP__ SyslogIdentifier=__APP__
Restart=always Restart=always
; Some security directives.
; Use private /tmp and /var/tmp folders inside a new file system namespace,
; which are discarded after the process stops.
PrivateTmp=true
; Mount /usr, /boot, and /etc as read-only for processes invoked by this service.
ProtectSystem=full
; Sets up a new /dev mount for the process and only adds API pseudo devices
; like /dev/null, /dev/zero or /dev/random but not physical devices. Disabled
; by default because it may not work on devices like the Raspberry Pi.
PrivateDevices=false
; Ensures that the service process and all its children can never gain new
; privileges through execve().
NoNewPrivileges=true
; This makes /home, /root, and /run/user inaccessible and empty for processes invoked
; by this unit. Make sure that you do not depend on data inside these folders.
ProtectHome=false
; Drops the sys admin capability from the daemon.
CapabilityBoundingSet=~CAP_SYS_ADMIN
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

View file

@ -3,10 +3,9 @@
"id": "peertube", "id": "peertube",
"packaging_format": 1, "packaging_format": 1,
"description": { "description": {
"en": "Video streaming platform using P2P directly in the web browser, connected to a federated network", "en": "Video streaming platform using P2P directly in the web browser, connected to a federated network"
"fr": "Plateforme de diffusion vidéo par P2P directement dans le navigateur, et connectée à un réseau fédéralisé"
}, },
"version": "1.2.1", "version": "1.0.0-beta.14",
"url": "https://github.com/Chocobozzz/PeerTube", "url": "https://github.com/Chocobozzz/PeerTube",
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
"maintainer": { "maintainer": {

View file

@ -22,7 +22,7 @@ ynh_abort_if_errors
#================================================= #=================================================
domain=$YNH_APP_ARG_DOMAIN domain=$YNH_APP_ARG_DOMAIN
path_url="/peertube" path_url="/"
admin_email=$YNH_APP_ARG_EMAIL admin_email=$YNH_APP_ARG_EMAIL
admin_pass=$(ynh_string_random 24) admin_pass=$(ynh_string_random 24)
is_public=$YNH_APP_ARG_IS_PUBLIC is_public=$YNH_APP_ARG_IS_PUBLIC
@ -56,10 +56,10 @@ ynh_webpath_register "$app" "$domain" "$path_url"
# STORE SETTINGS FROM MANIFEST # STORE SETTINGS FROM MANIFEST
#================================================= #=================================================
ynh_app_setting_set "$app" domain "$domain" ynh_app_setting_set "$app" domain "$domain"
ynh_app_setting_set "$app" admin_email "$admin_email" ynh_app_setting_set "$app" admin_email "$admin_email"
ynh_app_setting_set "$app" admin_pass "$admin_pass" ynh_app_setting_set "$app" admin_pass "$admin_pass"
ynh_app_setting_set "$app" is_public "$is_public" ynh_app_setting_set "$app" is_public "$is_public"
#================================================= #=================================================
# STANDARD MODIFICATIONS # STANDARD MODIFICATIONS
@ -69,6 +69,9 @@ ynh_app_setting_set "$app" is_public "$is_public"
# Find a free port # Find a free port
port=$(ynh_find_port 9000) port=$(ynh_find_port 9000)
# Open this port
yunohost firewall allow Both "$port" 2>&1
ynh_app_setting_set "$app" port "$port" ynh_app_setting_set "$app" port "$port"
#================================================= #=================================================
@ -87,18 +90,18 @@ mkdir -p "$datadir"
# install nodejs # install nodejs
ynh_install_nodejs 8 ynh_install_nodejs 8
# Add backports for Debian Jessie (required to install ffmpeg) # add backports for Debian Jessie (required to install ffmpeg)
if [ "$(lsb_release --codename --short)" == "jessie" ]; then if [ "$(lsb_release --codename --short)" == "jessie" ]; then
echo "deb http://httpredir.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/jessie-backports.list echo "deb http://httpredir.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/jessie-backports.list
fi fi
# Add yarn repo for Debian # add yarn repo for Debian
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
ynh_package_update ynh_package_update
# install dependencies # install postgresql, ffmpeg, redis
ynh_install_app_dependencies postgresql postgresql-contrib openssl g++ ffmpeg redis-server redis-tools mailutils yarn apt-transport-https ynh_install_app_dependencies postgresql ffmpeg redis-server redis-tools mailutils yarn
#================================================= #=================================================
# DATABASE SETUP # DATABASE SETUP
@ -138,21 +141,21 @@ ynh_setup_source "$final_path"
cp ../conf/production.yaml "$final_path/config/production.yaml" cp ../conf/production.yaml "$final_path/config/production.yaml"
touch "$final_path/config/local-production.json" touch "$final_path/config/local-production.json"
(
cd "$final_path"
yarn install --production --pure-lockfile cd "$final_path" && yarn install --production --pure-lockfile
)
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================
# Create a dedicated nginx config # Create a dedicated nginx config
mkdir -p "/etc/nginx/conf.d/${domain}.d" # ( I don't remember why this is here, I think can be removed) mkdir -p "/etc/nginx/conf.d/${domain}.d"
ynh_add_nginx_config ynh_add_nginx_config
# Set right permissions for the app # Set right permissions for curl install
chown -R "$app":"$app" "$datadir" chown -R "$app":"$app" "$datadir"
# Reload Nginx # Reload Nginx
@ -211,13 +214,10 @@ chown -R "$app":"$app" "$final_path" "$datadir"
systemctl reload nginx systemctl reload nginx
#================================================= #=================================================
# SETUP SYSTEMD # SETUP SYSTEMD
#================================================= #=================================================
ynh_replace_string "__ENV_PATH__" "$PATH" "../conf/systemd.service"
# Create a dedicated systemd config # Create a dedicated systemd config
ynh_add_systemd_config ynh_add_systemd_config
systemctl enable "$app" systemctl enable "$app"
@ -231,7 +231,7 @@ systemctl start "$app"
( (
cd "$final_path" cd "$final_path"
sleep 30 sleep 30
echo $admin_pass | NODE_CONFIG_DIR="$final_path/config" NODE_ENV=production npm run reset-password -- -u root echo $admin_pass | NODE_CONFIG_DIR="$final_path/config" NODE_ENV=production PATH="/opt/node_n/bin:$PATH" npm run reset-password -- -u root
) )
#================================================= #=================================================
@ -240,11 +240,11 @@ systemctl start "$app"
message=" $app was successfully installed :) message=" $app was successfully installed :)
Please open your $app domain: https://$domain$path_url Please open https://$domain$path_url
The admin username is: root The admin username is: root
The admin password is: $admin_pass Here is the admin password: $admin_pass
If you are facing any problem or want to improve this app, please open a new issue here: https://github.com/YunoHost-Apps/peertube_ynh" If you facing an issue or want to improve this app, please open a new issue in this project: https://github.com/YunoHost-Apps/peertube_ynh"
ynh_send_readme_to_admin "$message" ynh_send_readme_to_admin "$message"

View file

@ -109,8 +109,7 @@ message="$app was successfully removed :)
$app was successfully removed. The domain https://$domain$path_url is free for other apps to be installed on it. $app was successfully removed. The domain https://$domain$path_url is free for other apps to be installed on it.
But a futher action is required from your side to completely remove the $app data folder. If you have backup and plan to restore this app in the future DON'T RUN THIS COMMAND. But a futher action is required from your side to completely remove the $app data folder. If you are planing to restore the app in the future don't run the command given below. And if you are going to switch to othe server you will have to move /home/yunohost.app/$app to your new server.
And if you are going to migrate to othe server you will have to move /home/yunohost.app/$app to your new server.
You need to run this command to remove the data (warning all your videos will be removed) : You need to run this command to remove the data (warning all your videos will be removed) :
@ -118,6 +117,6 @@ You need to run this command to remove the data (warning all your videos will be
rm -R /home/yunohost.app/$app -f rm -R /home/yunohost.app/$app -f
If you facing any problem or want to improve this app, please open a new issue here: https://github.com/YunoHost-Apps/peertube_ynh" If you facing an issue or want to improve this app, please open a new issue in this project: https://github.com/YunoHost-Apps/peertube_ynh"
ynh_send_readme_to_admin "$message" ynh_send_readme_to_admin "$message"

View file

@ -62,6 +62,9 @@ ynh_restore_file "/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_restore_file "$final_path" ynh_restore_file "$final_path"
# Open this port
yunohost firewall allow Both "$port" 2>&1
#================================================= #=================================================
# RECREATE THE DEDICATED USER # RECREATE THE DEDICATED USER
#================================================= #=================================================
@ -74,9 +77,6 @@ ynh_system_user_create "$app"
#================================================= #=================================================
# Set right permissions # Set right permissions
if [ ! -d "/home/yunohost.app/$app" ]; then
mkdir -p "/home/yunohost.app/${app}/storage"
fi
chown -R "$app":"$app" "/home/yunohost.app/${app}/storage" chown -R "$app":"$app" "/home/yunohost.app/${app}/storage"
#================================================= #=================================================
@ -99,7 +99,7 @@ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.lis
ynh_package_update ynh_package_update
# install postgresql, ffmpeg, redis # install postgresql, ffmpeg, redis
ynh_install_app_dependencies postgresql postgresql-contrib openssl g++ ffmpeg redis-server redis-tools mailutils yarn apt-transport-https ynh_install_app_dependencies postgresql ffmpeg redis-server redis-tools mailutils yarn
#================================================= #=================================================
# RESTORE THE PostgreSQL DATABASE # RESTORE THE PostgreSQL DATABASE

View file

@ -77,15 +77,8 @@ datadir="/home/yunohost.app/${app}/storage"
# Create app folders # Create app folders
mkdir -p "$datadir" mkdir -p "$datadir"
#================================================= # Open this port
# CLOSE A PORT yunohost firewall allow Both "$port" 2>&1
#=================================================
if yunohost firewall list | grep -q "\- $port$"
then
echo "Close port $port"
yunohost firewall disallow Both "$port" 2>&1
fi
#================================================= #=================================================
# CREATE DEDICATED USER # CREATE DEDICATED USER
@ -112,7 +105,7 @@ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.lis
ynh_package_update ynh_package_update
# install postgresql, ffmpeg, redis # install postgresql, ffmpeg, redis
ynh_install_app_dependencies postgresql postgresql-contrib openssl g++ ffmpeg redis-server redis-tools mailutils yarn apt-transport-https ynh_install_app_dependencies postgresql ffmpeg redis-server redis-tools mailutils yarn
#================================================= #=================================================
# CHECK THE PATH # CHECK THE PATH
@ -137,7 +130,7 @@ ynh_secure_remove "$tmpdir"
( (
cd "$final_path" cd "$final_path"
yarn install --production --pure-lockfile yarn install --production --pure-lockfile --silent --cache-folder /var/cache/yarn/
) )
@ -179,7 +172,7 @@ ynh_use_logrotate --non-append
#================================================= #=================================================
# SETUP SYSTEMD # SETUP SYSTEMD
#================================================= #=================================================
ynh_replace_string "__ENV_PATH__" "$PATH" "../conf/systemd.service"
# Create a dedicated systemd config # Create a dedicated systemd config
ynh_add_systemd_config ynh_add_systemd_config