mirror of
https://github.com/YunoHost-Apps/duniter_ynh.git
synced 2024-09-03 18:26:35 +02:00
first commit
This commit is contained in:
parent
ce9e5ce64a
commit
ecd048b3d7
5 changed files with 158 additions and 0 deletions
6
README.md
Normal file
6
README.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# uCoin for YunoHost
|
||||||
|
|
||||||
|
* [uCoin project](http://ucoin.io)
|
||||||
|
* [YunoHost project](https://yunohost.org/#/)
|
||||||
|
|
||||||
|
* For Debian Jessie
|
69
manifest.json
Normal file
69
manifest.json
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
{
|
||||||
|
"name": "uCoin",
|
||||||
|
"id": "ucoin",
|
||||||
|
"description": {
|
||||||
|
"en": "uCoin node which permits participate chainblocks writing. Monetary system with universal dividende, libre money, Relative Money Theory",
|
||||||
|
"fr": "Nœux uCoin qui permet de participer l'écriture de blocs. Système monétaire à Dividende universel, monnaie libre, Thérorie Relative de la Monnaie"
|
||||||
|
},
|
||||||
|
"url": "http://ucoin.io/",
|
||||||
|
"licence": "MIT",
|
||||||
|
"maintainer": {
|
||||||
|
"name": "Moul",
|
||||||
|
"email": "moul@moul.re",
|
||||||
|
"url": "https://moul.re/"
|
||||||
|
},
|
||||||
|
"multi_instance": "true",
|
||||||
|
"arguments": {
|
||||||
|
"install" : [
|
||||||
|
{
|
||||||
|
"name": "domain",
|
||||||
|
"ask": {
|
||||||
|
"en": "Domain name for uCoin node installation",
|
||||||
|
"fr": "Nom de domaine d’installation du nœud uCoin"
|
||||||
|
},
|
||||||
|
"example": "example.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "port",
|
||||||
|
"ask": {
|
||||||
|
"en": "Port of uCoin node",
|
||||||
|
"fr": "Port du nœud uCoin"
|
||||||
|
},
|
||||||
|
"example": "9201",
|
||||||
|
"default": "9201"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sync_node",
|
||||||
|
"ask": {
|
||||||
|
"en": "Node to synchronise with",
|
||||||
|
"fr": "Nœud avec lequel synchroniser"
|
||||||
|
},
|
||||||
|
"example": "metab.ucoin.io",
|
||||||
|
"default": "metab.ucoin.io"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sync_port",
|
||||||
|
"ask": {
|
||||||
|
"en": "Port to synchronise with",
|
||||||
|
"fr": "Port avec lequel faire la synchronisation"
|
||||||
|
},
|
||||||
|
"example": "9201",
|
||||||
|
"default": "9201"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "salt",
|
||||||
|
"ask": {
|
||||||
|
"en": "Enter salt of your account",
|
||||||
|
"fr": "Entrez le salt de votre compte"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pwd",
|
||||||
|
"ask": {
|
||||||
|
"en": "Password of your account",
|
||||||
|
"fr": "Mot de passe de votre compte"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
39
scripts/install
Executable file
39
scripts/install
Executable file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Retrieve arguments
|
||||||
|
domain=$1
|
||||||
|
port=$2
|
||||||
|
sync_node=$3
|
||||||
|
sync_port=$4
|
||||||
|
salt=$5
|
||||||
|
pwd=$6
|
||||||
|
|
||||||
|
# Install dependencies: nodejs, npm
|
||||||
|
sudo apt-get -y -qq install nodejs npm nodejs-legacy
|
||||||
|
sudo npm install -g npm
|
||||||
|
sudo apt-get -y -qq install node-gyp
|
||||||
|
|
||||||
|
# Install uCoin node and pm2 daemon manager
|
||||||
|
sudo npm install -g ucoin pm2
|
||||||
|
|
||||||
|
# Check port availability
|
||||||
|
sudo yunohost app checkport $port
|
||||||
|
if [[ ! $? -eq 0 ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Open port in firewall
|
||||||
|
sudo yunohost firewall allow TCP $port > /dev/null 2>&1
|
||||||
|
|
||||||
|
# Init and configure uCoin node
|
||||||
|
ucoind init $sync_node $sync_port
|
||||||
|
ucoind config --noupnp --remoteh $domain --port $port --salt $salt --passwd $pwd
|
||||||
|
|
||||||
|
# Launch uCoin node with daemon pm2
|
||||||
|
pm2 start /usr/bin/ucoind -- start --noupnp
|
||||||
|
|
||||||
|
# Add uCoin daemon to the YunoHost monitoring
|
||||||
|
#sudo yunohost service add ucoin --log pm2 logs
|
||||||
|
|
||||||
|
# Reload SSOwat
|
||||||
|
#sudo yunohost app ssowatconf
|
17
scripts/remove
Executable file
17
scripts/remove
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Retrieve argument
|
||||||
|
port=$2
|
||||||
|
|
||||||
|
# Delete uCoin node daemon
|
||||||
|
pm2 delete ucoind
|
||||||
|
|
||||||
|
# Remove uCoin node
|
||||||
|
sudo npm remove ucoin pm2
|
||||||
|
sudo apt-get -y remove nodejs node-gyp npm
|
||||||
|
|
||||||
|
# Close opened port
|
||||||
|
sudo yunohost firewall disallow TCP $port
|
||||||
|
|
||||||
|
# Reload SSOwat
|
||||||
|
sudo yunohost app ssowatconf
|
27
scripts/upgrade
Executable file
27
scripts/upgrade
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
app=ucoin
|
||||||
|
|
||||||
|
# Retrieve arguments
|
||||||
|
domain=$(sudo yunohost app setting $app domain)
|
||||||
|
path=$(sudo yunohost app setting $app path)
|
||||||
|
is_public=$(sudo yunohost app setting $app is_public)
|
||||||
|
|
||||||
|
# Remove trailing "/" for next commands
|
||||||
|
path=${path%/}
|
||||||
|
|
||||||
|
# Upgrade ucoin package
|
||||||
|
sudo apt-get update
|
||||||
|
|
||||||
|
# If app is public, add url to SSOWat conf as skipped_uris
|
||||||
|
if [ "$is_public" = "Yes" ];
|
||||||
|
then
|
||||||
|
# See install script
|
||||||
|
sudo yunohost app setting $app unprotected_uris -v "/"
|
||||||
|
# Remove old settings
|
||||||
|
sudo yunohost app setting $app skipped_uris -d
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Restart services
|
||||||
|
sudo service nginx reload
|
||||||
|
sudo yunohost app ssowatconf
|
||||||
|
|
Loading…
Reference in a new issue