mirror of
https://github.com/YunoHost-Apps/zeronet_ynh.git
synced 2024-09-03 17:46:12 +02:00
Upgrade to v.0.7.1
This commit is contained in:
parent
39c6bdd601
commit
33e6d5c4a6
9 changed files with 106 additions and 62 deletions
48
README.md
48
README.md
|
@ -2,6 +2,24 @@
|
||||||
[![Integration level](https://dash.yunohost.org/integration/zeronet.svg)](https://dash.yunohost.org/appci/app/zeronet) ![](https://ci-apps.yunohost.org/ci/badges/zeronet.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/zeronet.maintain.svg)
|
[![Integration level](https://dash.yunohost.org/integration/zeronet.svg)](https://dash.yunohost.org/appci/app/zeronet) ![](https://ci-apps.yunohost.org/ci/badges/zeronet.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/zeronet.maintain.svg)
|
||||||
[![Install ZeroNet with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=zeronet)
|
[![Install ZeroNet with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=zeronet)
|
||||||
|
|
||||||
|
*[Lire ce readme en français.](./README_fr.md)*
|
||||||
|
|
||||||
|
> *This package allows you to install REPLACEBYYOURAPP 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
|
||||||
|
eroNet allows you to publish static and dynamic websites on a distributed web platform.
|
||||||
|
|
||||||
|
**Shipped version:** 0.7.1
|
||||||
|
|
||||||
|
## Screenshots
|
||||||
|
|
||||||
|
![](https://camo.githubusercontent.com/4629a7d44a828f5bb20cedd90522ae62f0947b35/68747470733a2f2f692e696d6775722e636f6d2f4836304f4148592e706e67)
|
||||||
|
|
||||||
|
## Demo
|
||||||
|
|
||||||
|
* [Official demo](Link to a demo site for this app.)
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
- This app can only be installed on root path, i.e you will need to use a dedicated domain name, e.g.`zeronet.domain.tld`.
|
- This app can only be installed on root path, i.e you will need to use a dedicated domain name, e.g.`zeronet.domain.tld`.
|
||||||
- The app is installed in private mode only so unauthenticated users can not temper with your content.
|
- The app is installed in private mode only so unauthenticated users can not temper with your content.
|
||||||
|
@ -12,8 +30,34 @@
|
||||||
- Installing multiple instances of the app is *experimental*. Internally each instance it will use a unique port for both for ZeroNet UserInterface and FileServer. However, the tracker will see all instances as one peer, as they all use one and the same external IP address.
|
- Installing multiple instances of the app is *experimental*. Internally each instance it will use a unique port for both for ZeroNet UserInterface and FileServer. However, the tracker will see all instances as one peer, as they all use one and the same external IP address.
|
||||||
- A solution that hasn't been confirmed yet is to use Tor instead. Each instance should then have a unique external address.
|
- A solution that hasn't been confirmed yet is to use Tor instead. Each instance should then have a unique external address.
|
||||||
|
|
||||||
## Hint
|
## Documentation
|
||||||
- Use at your own risk :-)
|
|
||||||
|
* Official documentation: https://zeronet.io/docs/site_development/getting_started/
|
||||||
|
* YunoHost documentation: If specific documentation is needed, feel free to contribute.
|
||||||
|
|
||||||
|
## YunoHost specific features
|
||||||
|
|
||||||
|
#### Multi-user support
|
||||||
|
|
||||||
|
Are LDAP and HTTP auth supported?
|
||||||
|
Can the app be used by multiple users?
|
||||||
|
|
||||||
|
#### Supported architectures
|
||||||
|
|
||||||
|
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/REPLACEBYYOURAPP%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/REPLACEBYYOURAPP/)
|
||||||
|
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/REPLACEBYYOURAPP%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/REPLACEBYYOURAPP/)
|
||||||
|
|
||||||
|
## Limitations
|
||||||
|
|
||||||
|
* Any known limitations.
|
||||||
|
|
||||||
|
## Additional information
|
||||||
|
|
||||||
|
* Other info you would like to add about this app.
|
||||||
|
|
||||||
|
**More info on the documentation page:**
|
||||||
|
https://yunohost.org/packaging_apps
|
||||||
|
|
||||||
|
|
||||||
## Links
|
## Links
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
SOURCE_URL=https://github.com/HelloZeroNet/ZeroNet/archive/v0.6.2.tar.gz
|
SOURCE_URL=https://github.com/HelloZeroNet/ZeroNet/archive/v0.7.1.tar.gz
|
||||||
SOURCE_SUM=d07aa18ca81ca30be9a118dfb845bbaeca6551b13672e6d87851f3544f9d7f2f
|
SOURCE_SUM=78a27e1687d8e3699a854b77b516c95b30a8ba667f7ebbef0aabf7ec6ec7272d
|
||||||
SOURCE_VERSION=0.6.2
|
SOURCE_VERSION=0.7.1
|
||||||
|
|
|
@ -4,17 +4,17 @@
|
||||||
"packaging_format": 1,
|
"packaging_format": 1,
|
||||||
"description": {
|
"description": {
|
||||||
"en": "Decentralized websites using Bitcoin crypto and BitTorrent network",
|
"en": "Decentralized websites using Bitcoin crypto and BitTorrent network",
|
||||||
"fr": "Decentralized websites using Bitcoin crypto and BitTorrent network"
|
"fr": "Sites Web décentralisés utilisant la crypto Bitcoin et le réseau BitTorrent"
|
||||||
},
|
},
|
||||||
|
"version": "0.7.1~ynh1",
|
||||||
"url": "https://zeronet.io",
|
"url": "https://zeronet.io",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"version": "0.6.0",
|
|
||||||
"maintainer": {
|
"maintainer": {
|
||||||
"name": "whypsi",
|
"name": "whypsi",
|
||||||
"email": "whypsi@riseup.net"
|
"email": "whypsi@riseup.net"
|
||||||
},
|
},
|
||||||
"requirements": {
|
"requirements": {
|
||||||
"yunohost": ">> 2.4.0"
|
"yunohost": ">> 3.8.1"
|
||||||
},
|
},
|
||||||
"multi_instance": true,
|
"multi_instance": true,
|
||||||
"services": [
|
"services": [
|
||||||
|
@ -26,8 +26,8 @@
|
||||||
"name": "domain",
|
"name": "domain",
|
||||||
"type": "domain",
|
"type": "domain",
|
||||||
"ask": {
|
"ask": {
|
||||||
"en": "Choose a sub domain name for ynhexample",
|
"en": "Choose a sub domain name for ZeroNet",
|
||||||
"fr": "Choisissez un nom de domaine pour ynhexample"
|
"fr": "Choisissez un nom de domaine pour ZeroNet"
|
||||||
},
|
},
|
||||||
"example": "zeronet.domain.tld"
|
"example": "zeronet.domain.tld"
|
||||||
},
|
},
|
||||||
|
|
|
@ -15,7 +15,7 @@ main() {
|
||||||
|
|
||||||
ynh_backup $deploy_path "sources"
|
ynh_backup $deploy_path "sources"
|
||||||
|
|
||||||
sudo mkdir --parent ./conf
|
mkdir --parent ./conf
|
||||||
ynh_backup $nginx_config_file "conf/nginx.conf"
|
ynh_backup $nginx_config_file "conf/nginx.conf"
|
||||||
ynh_backup $systemd_service_file "conf/${systemd_service_name}"
|
ynh_backup $systemd_service_file "conf/${systemd_service_name}"
|
||||||
ynh_backup $user_zeronet_dir "conf/.zeronet"
|
ynh_backup $user_zeronet_dir "conf/.zeronet"
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
install_dependencies() {
|
install_dependencies() {
|
||||||
sudo apt-get install --quiet --yes python-msgpack python-gevent
|
apt-get install --quiet --yes python-msgpack python-gevent
|
||||||
}
|
}
|
||||||
|
|
||||||
app_config_get() {
|
app_config_get() {
|
||||||
|
@ -40,8 +40,8 @@ extract_archive() {
|
||||||
local src_file=$1
|
local src_file=$1
|
||||||
local deploy_path=$2
|
local deploy_path=$2
|
||||||
|
|
||||||
sudo mkdir --parents ${deploy_path}
|
mkdir --parents ${deploy_path}
|
||||||
sudo tar --extract --file=${src_file} --directory=${deploy_path} --overwrite --strip-components 1
|
tar --extract --file=${src_file} --directory=${deploy_path} --overwrite --strip-components 1
|
||||||
}
|
}
|
||||||
|
|
||||||
obtain_and_deploy_source() {
|
obtain_and_deploy_source() {
|
||||||
|
@ -57,9 +57,9 @@ obtain_and_deploy_source() {
|
||||||
check_file_integrity $src_file $src_checksum
|
check_file_integrity $src_file $src_checksum
|
||||||
extract_archive $src_file $deploy_path
|
extract_archive $src_file $deploy_path
|
||||||
|
|
||||||
sudo rm -f $symlink_to_deploy_path
|
rm -f $symlink_to_deploy_path
|
||||||
sudo ln --symbolic --force $deploy_path $symlink_to_deploy_path
|
ln --symbolic --force $deploy_path $symlink_to_deploy_path
|
||||||
|
|
||||||
sudo chown $user: -LR $symlink_to_deploy_path
|
chown $user: -LR $symlink_to_deploy_path
|
||||||
sudo chown $user: -h $symlink_to_deploy_path
|
chown $user: -h $symlink_to_deploy_path
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ nginx_config_file() {
|
||||||
local app=$1
|
local app=$1
|
||||||
local domain=$2
|
local domain=$2
|
||||||
|
|
||||||
sudo mkdir --parents "/etc/nginx/conf.d/${domain}.d"
|
mkdir --parents "/etc/nginx/conf.d/${domain}.d"
|
||||||
|
|
||||||
echo "/etc/nginx/conf.d/${domain}.d/${app}.conf"
|
echo "/etc/nginx/conf.d/${domain}.d/${app}.conf"
|
||||||
}
|
}
|
||||||
|
@ -19,12 +19,12 @@ update_nginx_configuration() {
|
||||||
local path=$4
|
local path=$4
|
||||||
local ui_port=$5
|
local ui_port=$5
|
||||||
|
|
||||||
sudo cp $config_template $config_file
|
cp $config_template $config_file
|
||||||
|
|
||||||
sudo sed --in-place "s@YNH_WWW_PATH@${path}@g" ${config_file}
|
sed --in-place "s@YNH_WWW_PATH@${path}@g" ${config_file}
|
||||||
sudo sed --in-place "s@YNH_LOCAL_PORT@${ui_port}/@g" ${config_file}
|
sed --in-place "s@YNH_LOCAL_PORT@${ui_port}/@g" ${config_file}
|
||||||
|
|
||||||
sudo service nginx reload
|
service nginx reload
|
||||||
}
|
}
|
||||||
|
|
||||||
systemd_service_name() {
|
systemd_service_name() {
|
||||||
|
@ -55,25 +55,25 @@ update_systemd_configuration() {
|
||||||
local data_dir=$zeronet_dir/data
|
local data_dir=$zeronet_dir/data
|
||||||
local log_dir=$zeronet_dir/log
|
local log_dir=$zeronet_dir/log
|
||||||
|
|
||||||
sudo mkdir -p $data_dir
|
mkdir -p $data_dir
|
||||||
sudo mkdir -p $log_dir
|
mkdir -p $log_dir
|
||||||
sudo chown -R $user: $zeronet_dir
|
chown -R $user: $zeronet_dir
|
||||||
|
|
||||||
# configure systemd service
|
# configure systemd service
|
||||||
sudo cp $service_template $service_file
|
cp $service_template $service_file
|
||||||
|
|
||||||
sudo sed --in-place "s@__USER__@$user@g" $service_file
|
sed --in-place "s@__USER__@$user@g" $service_file
|
||||||
sudo sed --in-place "s@__UI_PORT__@$ui_port@g" $service_file
|
sed --in-place "s@__UI_PORT__@$ui_port@g" $service_file
|
||||||
sudo sed --in-place "s@__FS_PORT__@$fs_port@g" $service_file
|
sed --in-place "s@__FS_PORT__@$fs_port@g" $service_file
|
||||||
sudo sed --in-place "s@__UI_HOST__@$ui_host@g" $service_file
|
sed --in-place "s@__UI_HOST__@$ui_host@g" $service_file
|
||||||
sudo sed --in-place "s@__APP_NAME__@$app@g" $service_file
|
sed --in-place "s@__APP_NAME__@$app@g" $service_file
|
||||||
sudo sed --in-place "s@__WORKING_DIRECTORY__@$symlink_to_deploy_path@g" $service_file
|
sed --in-place "s@__WORKING_DIRECTORY__@$symlink_to_deploy_path@g" $service_file
|
||||||
sudo sed --in-place "s@__DATA_DIR__@$data_dir@g" $service_file
|
sed --in-place "s@__DATA_DIR__@$data_dir@g" $service_file
|
||||||
sudo sed --in-place "s@__LOG_DIR__@$log_dir@g" $service_file
|
sed --in-place "s@__LOG_DIR__@$log_dir@g" $service_file
|
||||||
|
|
||||||
sudo systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
sudo systemctl enable $service_name
|
systemctl enable $service_name
|
||||||
sudo systemctl start $service_name
|
systemctl start $service_name
|
||||||
}
|
}
|
||||||
|
|
||||||
# Source: https://github.com/YunoHost/yunohost/blob/901e3df9b604f542f2c460aad05bcc8efc9fd054/data/helpers.d/network
|
# Source: https://github.com/YunoHost/yunohost/blob/901e3df9b604f542f2c460aad05bcc8efc9fd054/data/helpers.d/network
|
||||||
|
|
|
@ -7,32 +7,32 @@ remove_systemd_service_() {
|
||||||
local service_name=$1
|
local service_name=$1
|
||||||
local service_file=$2
|
local service_file=$2
|
||||||
|
|
||||||
sudo systemctl stop $service_name
|
systemctl stop $service_name
|
||||||
sudo systemctl disable $service_name
|
systemctl disable $service_name
|
||||||
sudo rm $service_file
|
rm $service_file
|
||||||
sudo systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
sudo systemctl reset-failed
|
systemctl reset-failed
|
||||||
}
|
}
|
||||||
|
|
||||||
remove_nginx_config() {
|
remove_nginx_config() {
|
||||||
local nginx_config_file=$1
|
local nginx_config_file=$1
|
||||||
|
|
||||||
sudo rm -rf $nginx_config_file
|
ynh_secure_remove $nginx_config_file
|
||||||
sudo service nginx reload
|
service nginx reload
|
||||||
}
|
}
|
||||||
|
|
||||||
remove_user_data() {
|
remove_user_data() {
|
||||||
local user_zeronet_dir=$1
|
local user_zeronet_dir=$1
|
||||||
|
|
||||||
sudo rm -rf $user_zeronet_dir
|
ynh_secure_remove $user_zeronet_dir
|
||||||
}
|
}
|
||||||
|
|
||||||
remove_zeronet() {
|
remove_zeronet() {
|
||||||
local deploy_path=$1
|
local deploy_path=$1
|
||||||
local symlink_to_deploy_path=$2
|
local symlink_to_deploy_path=$2
|
||||||
|
|
||||||
sudo rm -rf $deploy_path
|
ynh_secure_remove $deploy_path
|
||||||
sudo rm -rf $symlink_to_deploy_path
|
ynh_secure_remove $symlink_to_deploy_path
|
||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
|
|
@ -7,7 +7,7 @@ source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
# TODO: remove with fix of https://github.com/YunoHost/yunohost/pull/246
|
# TODO: remove with fix of https://github.com/YunoHost/yunohost/pull/246
|
||||||
install_dependencies() {
|
install_dependencies() {
|
||||||
sudo apt-get install --quiet --yes python-msgpack python-gevent
|
apt-get install --quiet --yes python-msgpack python-gevent
|
||||||
}
|
}
|
||||||
|
|
||||||
is_app_restorable() {
|
is_app_restorable() {
|
||||||
|
@ -42,20 +42,20 @@ main() {
|
||||||
|
|
||||||
install_dependencies
|
install_dependencies
|
||||||
|
|
||||||
sudo cp -a "./sources" $deploy_path
|
cp -a "./sources" $deploy_path
|
||||||
sudo ln --symbolic --force $deploy_path $symlink_to_deploy_path
|
ln --symbolic --force $deploy_path $symlink_to_deploy_path
|
||||||
sudo chown $user: -LR $symlink_to_deploy_path
|
chown $user: -LR $symlink_to_deploy_path
|
||||||
sudo chown $user: -h $symlink_to_deploy_path
|
chown $user: -h $symlink_to_deploy_path
|
||||||
|
|
||||||
sudo rm -rf $user_zeronet_dir
|
ynh_secure_remove $user_zeronet_dir
|
||||||
sudo cp -aR "./conf/.zeronet" $user_zeronet_dir
|
cp -aR "./conf/.zeronet" $user_zeronet_dir
|
||||||
sudo chown -R $user: $user_zeronet_dir
|
chown -R $user: $user_zeronet_dir
|
||||||
|
|
||||||
sudo cp -a "./conf/nginx.conf" $nginx_config_file
|
cp -a "./conf/nginx.conf" $nginx_config_file
|
||||||
sudo service nginx reload
|
service nginx reload
|
||||||
|
|
||||||
sudo cp -a "./conf/${systemd_service_name}" $systemd_service_file
|
cp -a "./conf/${systemd_service_name}" $systemd_service_file
|
||||||
sudo systemctl restart $systemd_service_name
|
systemctl restart $systemd_service_name
|
||||||
}
|
}
|
||||||
|
|
||||||
main
|
main
|
||||||
|
|
|
@ -20,13 +20,13 @@ main() {
|
||||||
|
|
||||||
obtain_and_deploy_source $app_config $new_deploy_path $symlink_to_deploy_path $user
|
obtain_and_deploy_source $app_config $new_deploy_path $symlink_to_deploy_path $user
|
||||||
|
|
||||||
sudo systemctl restart $systemd_service_name
|
systemctl restart $systemd_service_name
|
||||||
|
|
||||||
ynh_app_setting_set $app installed_version $source_version
|
ynh_app_setting_set $app installed_version $source_version
|
||||||
ynh_app_setting_set $app deploy_path $new_deploy_path
|
ynh_app_setting_set $app deploy_path $new_deploy_path
|
||||||
|
|
||||||
if [ $new_deploy_path != $old_deploy_path ]; then
|
if [ $new_deploy_path != $old_deploy_path ]; then
|
||||||
sudo rm -rf $old_deploy_path
|
ynh_secure_remove $old_deploy_path
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue