mirror of
https://github.com/YunoHost-Apps/owntracks_ynh.git
synced 2024-09-03 19:56:24 +02:00
Merge pull request #36 from YunoHost-Apps/testing
Integrate Owntracks Recorder
This commit is contained in:
commit
42fe4a620a
19 changed files with 429 additions and 35 deletions
|
@ -1,6 +1,8 @@
|
|||
# All available README files by language
|
||||
|
||||
- [Read the README in English](README.md)
|
||||
- [Lea el README en español](README_es.md)
|
||||
- [Irakurri README euskaraz](README_eu.md)
|
||||
- [Lire le README en français](README_fr.md)
|
||||
- [Le o README en galego](README_gl.md)
|
||||
- [Leggi il “README” in italiano](README_it.md)
|
||||
- [阅读中文(简体)的 README](README_zh_Hans.md)
|
||||
|
|
|
@ -9,7 +9,7 @@ It shall NOT be edited by hand.
|
|||
|
||||
[![Install OwnTracks with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=owntracks)
|
||||
|
||||
*[Read this README is other languages.](./ALL_README.md)*
|
||||
*[Read this README in other languages.](./ALL_README.md)*
|
||||
|
||||
> *This package allows you to install OwnTracks 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.*
|
||||
|
@ -31,7 +31,7 @@ This is a web interface for OwnTracks built as a Vue.js single page application.
|
|||
- Highly customisable
|
||||
|
||||
|
||||
**Shipped version:** 2.12.0~ynh1
|
||||
**Shipped version:** 2.14.0~ynh1
|
||||
|
||||
## Screenshots
|
||||
|
||||
|
|
59
README_es.md
Normal file
59
README_es.md
Normal file
|
@ -0,0 +1,59 @@
|
|||
<!--
|
||||
Este archivo README esta generado automaticamente<https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
|
||||
No se debe editar a mano.
|
||||
-->
|
||||
|
||||
# OwnTracks para Yunohost
|
||||
|
||||
[![Nivel de integración](https://dash.yunohost.org/integration/owntracks.svg)](https://dash.yunohost.org/appci/app/owntracks) ![Estado funcional](https://ci-apps.yunohost.org/ci/badges/owntracks.status.svg) ![Estado En Mantención](https://ci-apps.yunohost.org/ci/badges/owntracks.maintain.svg)
|
||||
|
||||
[![Instalar OwnTracks con Yunhost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=owntracks)
|
||||
|
||||
*[Leer este README en otros idiomas.](./ALL_README.md)*
|
||||
|
||||
> *Este paquete le permite instalarOwnTracks rapidamente y simplement en un servidor YunoHost.*
|
||||
> *Si no tiene YunoHost, visita [the guide](https://yunohost.org/install) para aprender como instalarla.*
|
||||
|
||||
## Descripción general
|
||||
|
||||
This is a web interface for OwnTracks built as a Vue.js single page application. The recorder itself already ships with some basic web pages, this is a more advanced interface with more functionality, all in one place.
|
||||
|
||||
### Features
|
||||
|
||||
- Last known (i.e. live) locations:
|
||||
- Location history (data points, line or both)
|
||||
- Location heatmap
|
||||
- Quickly fit all shown objects on the map into view
|
||||
- Display data in a specific date and time range
|
||||
- Filter by user or specific device
|
||||
- Calculation of distance travelled
|
||||
- Download selected location data as JSON
|
||||
- Highly customisable
|
||||
|
||||
|
||||
**Versión actual:** 2.14.0~ynh1
|
||||
|
||||
## Capturas
|
||||
|
||||
![Captura de OwnTracks](./doc/screenshots/screenshot.png)
|
||||
|
||||
## Documentaciones y recursos
|
||||
|
||||
- Sitio web oficial: <https://owntracks.org/>
|
||||
- Repositorio del código fuente oficial de la aplicación : <https://github.com/owntracks/frontend>
|
||||
- Catálogo YunoHost: <https://apps.yunohost.org/app/owntracks>
|
||||
- Reportar un error: <https://github.com/YunoHost-Apps/owntracks_ynh/issues>
|
||||
|
||||
## Información para desarrolladores
|
||||
|
||||
Por favor enviar sus correcciones a la [`branch testing`](https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing
|
||||
|
||||
Para probar la rama `testing`, sigue asÍ:
|
||||
|
||||
```bash
|
||||
sudo yunohost app install https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing --debug
|
||||
o
|
||||
sudo yunohost app upgrade owntracks -u https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing --debug
|
||||
```
|
||||
|
||||
**Mas informaciones sobre el empaquetado de aplicaciones:** <https://yunohost.org/packaging_apps>
|
59
README_eu.md
Normal file
59
README_eu.md
Normal file
|
@ -0,0 +1,59 @@
|
|||
<!--
|
||||
Ohart ongi: README hau automatikoki sortu da <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>ri esker
|
||||
EZ editatu eskuz.
|
||||
-->
|
||||
|
||||
# OwnTracks YunoHost-erako
|
||||
|
||||
[![Integrazio maila](https://dash.yunohost.org/integration/owntracks.svg)](https://dash.yunohost.org/appci/app/owntracks) ![Funtzionamendu egoera](https://ci-apps.yunohost.org/ci/badges/owntracks.status.svg) ![Mantentze egoera](https://ci-apps.yunohost.org/ci/badges/owntracks.maintain.svg)
|
||||
|
||||
[![Instalatu OwnTracks YunoHost-ekin](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=owntracks)
|
||||
|
||||
*[Irakurri README hau beste hizkuntzatan.](./ALL_README.md)*
|
||||
|
||||
> *Pakete honek OwnTracks YunoHost zerbitzari batean azkar eta zailtasunik gabe instalatzea ahalbidetzen dizu.*
|
||||
> *YunoHost ez baduzu, kontsultatu [gida](https://yunohost.org/install) nola instalatu ikasteko.*
|
||||
|
||||
## Aurreikuspena
|
||||
|
||||
This is a web interface for OwnTracks built as a Vue.js single page application. The recorder itself already ships with some basic web pages, this is a more advanced interface with more functionality, all in one place.
|
||||
|
||||
### Features
|
||||
|
||||
- Last known (i.e. live) locations:
|
||||
- Location history (data points, line or both)
|
||||
- Location heatmap
|
||||
- Quickly fit all shown objects on the map into view
|
||||
- Display data in a specific date and time range
|
||||
- Filter by user or specific device
|
||||
- Calculation of distance travelled
|
||||
- Download selected location data as JSON
|
||||
- Highly customisable
|
||||
|
||||
|
||||
**Paketatutako bertsioa:** 2.14.0~ynh1
|
||||
|
||||
## Pantaila-argazkiak
|
||||
|
||||
![OwnTracks(r)en pantaila-argazkia](./doc/screenshots/screenshot.png)
|
||||
|
||||
## Dokumentazioa eta baliabideak
|
||||
|
||||
- Aplikazioaren webgune ofiziala: <https://owntracks.org/>
|
||||
- Jatorrizko aplikazioaren kode-gordailua: <https://github.com/owntracks/frontend>
|
||||
- YunoHost Denda: <https://apps.yunohost.org/app/owntracks>
|
||||
- Eman errore baten berri: <https://github.com/YunoHost-Apps/owntracks_ynh/issues>
|
||||
|
||||
## Garatzaileentzako informazioa
|
||||
|
||||
Bidali `pull request`a [`testing` abarrera](https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing).
|
||||
|
||||
`testing` abarra probatzeko, ondorengoa egin:
|
||||
|
||||
```bash
|
||||
sudo yunohost app install https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing --debug
|
||||
edo
|
||||
sudo yunohost app upgrade owntracks -u https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing --debug
|
||||
```
|
||||
|
||||
**Informazio gehiago aplikazioaren paketatzeari buruz:** <https://yunohost.org/packaging_apps>
|
|
@ -30,7 +30,7 @@ Il s'agit d'une interface Web pour OwnTracks construite comme une application Vu
|
|||
- Télécharger les données de localisation sélectionnées au format JSON
|
||||
- Hautement personnalisable
|
||||
|
||||
**Version incluse :** 2.12.0~ynh1
|
||||
**Version incluse :** 2.14.0~ynh1
|
||||
|
||||
## Captures d’écran
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ This is a web interface for OwnTracks built as a Vue.js single page application.
|
|||
- Highly customisable
|
||||
|
||||
|
||||
**Versión proporcionada:** 2.12.0~ynh1
|
||||
**Versión proporcionada:** 2.14.0~ynh1
|
||||
|
||||
## Capturas de pantalla
|
||||
|
||||
|
|
59
README_zh_Hans.md
Normal file
59
README_zh_Hans.md
Normal file
|
@ -0,0 +1,59 @@
|
|||
<!--
|
||||
注意:此 README 由 <https://github.com/YunoHost/apps/tree/master/tools/readme_generator> 自动生成
|
||||
请勿手动编辑。
|
||||
-->
|
||||
|
||||
# YunoHost 上的 OwnTracks
|
||||
|
||||
[![集成程度](https://dash.yunohost.org/integration/owntracks.svg)](https://dash.yunohost.org/appci/app/owntracks) ![工作状态](https://ci-apps.yunohost.org/ci/badges/owntracks.status.svg) ![维护状态](https://ci-apps.yunohost.org/ci/badges/owntracks.maintain.svg)
|
||||
|
||||
[![使用 YunoHost 安装 OwnTracks](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=owntracks)
|
||||
|
||||
*[阅读此 README 的其它语言版本。](./ALL_README.md)*
|
||||
|
||||
> *通过此软件包,您可以在 YunoHost 服务器上快速、简单地安装 OwnTracks。*
|
||||
> *如果您还没有 YunoHost,请参阅[指南](https://yunohost.org/install)了解如何安装它。*
|
||||
|
||||
## 概况
|
||||
|
||||
This is a web interface for OwnTracks built as a Vue.js single page application. The recorder itself already ships with some basic web pages, this is a more advanced interface with more functionality, all in one place.
|
||||
|
||||
### Features
|
||||
|
||||
- Last known (i.e. live) locations:
|
||||
- Location history (data points, line or both)
|
||||
- Location heatmap
|
||||
- Quickly fit all shown objects on the map into view
|
||||
- Display data in a specific date and time range
|
||||
- Filter by user or specific device
|
||||
- Calculation of distance travelled
|
||||
- Download selected location data as JSON
|
||||
- Highly customisable
|
||||
|
||||
|
||||
**分发版本:** 2.14.0~ynh1
|
||||
|
||||
## 截图
|
||||
|
||||
![OwnTracks 的截图](./doc/screenshots/screenshot.png)
|
||||
|
||||
## 文档与资源
|
||||
|
||||
- 官方应用网站: <https://owntracks.org/>
|
||||
- 上游应用代码库: <https://github.com/owntracks/frontend>
|
||||
- YunoHost 商店: <https://apps.yunohost.org/app/owntracks>
|
||||
- 报告 bug: <https://github.com/YunoHost-Apps/owntracks_ynh/issues>
|
||||
|
||||
## 开发者信息
|
||||
|
||||
请向 [`testing` 分支](https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing) 发送拉取请求。
|
||||
|
||||
如要尝试 `testing` 分支,请这样操作:
|
||||
|
||||
```bash
|
||||
sudo yunohost app install https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing --debug
|
||||
或
|
||||
sudo yunohost app upgrade owntracks -u https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing --debug
|
||||
```
|
||||
|
||||
**有关应用打包的更多信息:** <https://yunohost.org/packaging_apps>
|
|
@ -1,3 +1,11 @@
|
|||
// Here you can overwite the default configuration values
|
||||
window.owntracks = window.owntracks || {};
|
||||
window.owntracks.config = {};
|
||||
window.owntracks.config = {
|
||||
api: {
|
||||
baseUrl: "https://__DOMAIN__/__PATH__/recorder/",
|
||||
},
|
||||
router: {
|
||||
basePath: "/__PATH__",
|
||||
},
|
||||
selectedUser: "__USER__",
|
||||
};
|
||||
|
|
25
conf/env
Normal file
25
conf/env
Normal file
|
@ -0,0 +1,25 @@
|
|||
# ---------------------- #
|
||||
# RECORDER CONFIGURATION #
|
||||
# ---------------------- #
|
||||
|
||||
OTR_STORAGEDIR=__DATA_DIR__
|
||||
OTR_SERVERLABEL=OwnTrack
|
||||
|
||||
# MQTT
|
||||
#OTR_HOST=127.0.0.1
|
||||
OTR_PORT=0
|
||||
#OTR_USER
|
||||
#OTR_PASS
|
||||
#OTR_QOS
|
||||
#OTR_TOPICS
|
||||
#OTR_CAFILE
|
||||
#OTR_CAPATH
|
||||
#OTR_CERTFILE
|
||||
#OTR_KEYFILE
|
||||
#OTR_IDENTITY
|
||||
#OTR_PSK
|
||||
|
||||
# REVERSE PROXY
|
||||
OTR_HTTPHOST=127.0.0.1
|
||||
OTR_HTTPPORT=__PORT__
|
||||
OTR_HTTPPREFIX=https://__DOMAIN____PATH__/recorder
|
|
@ -10,6 +10,67 @@ location __PATH__/ {
|
|||
more_set_headers "X-XSS-Protection: '1; mode=block'";
|
||||
more_set_headers "Content-Security-Policy: frame-ancestors 'self'";
|
||||
|
||||
# Proxy and upgrade WebSocket connection
|
||||
location __PATH__/recorder/ws {
|
||||
#rewrite ^__PATH__/recorder/(.*) /$1 break;
|
||||
proxy_pass http://127.0.0.1:__PORT__/ws/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
|
||||
location __PATH__/recorder/ {
|
||||
proxy_pass http://127.0.0.1:__PORT__/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
}
|
||||
|
||||
# OwnTracks Recorder Views (requires /view, /static, /utils)
|
||||
location __PATH__/recorder/view/ {
|
||||
proxy_buffering off; # Chrome
|
||||
proxy_pass http://127.0.0.1:__PORT__/view/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
}
|
||||
location __PATH__/recorder/static/ {
|
||||
proxy_pass http://127.0.0.1:__PORT__/static/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
}
|
||||
location __PATH__/recorder/utils/ {
|
||||
proxy_pass http://127.0.0.1:__PORT__/utils/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
}
|
||||
|
||||
# HTTP Mode
|
||||
location __PATH__/recorder/pub {
|
||||
# Basic auth is disabled in favour of YunoHost's SSO
|
||||
#auth_basic "OwnTracks pub";
|
||||
#auth_basic_user_file /usr/local/etc/nginx/owntracks.htpasswd;
|
||||
proxy_pass http://127.0.0.1:__PORT__/pub;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
|
||||
# Optionally force Recorder to use username from Basic
|
||||
# authentication user. Whether or not client sets
|
||||
# X-Limit-U and/or uses ?u= parameter, the user will
|
||||
# be set to $remote_user.
|
||||
proxy_set_header X-Limit-U $remote_user;
|
||||
}
|
||||
|
||||
# Include SSOWAT user panel.
|
||||
include conf.d/yunohost_panel.conf.inc;
|
||||
}
|
||||
|
|
49
conf/systemd.service
Normal file
49
conf/systemd.service
Normal file
|
@ -0,0 +1,49 @@
|
|||
[Unit]
|
||||
Description=OwnTracks Recorder
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=__APP__
|
||||
Group=__APP__
|
||||
EnvironmentFile=__INSTALL_DIR__/.env
|
||||
ExecStart=/usr/sbin/ot-recorder
|
||||
StandardOutput=append:/var/log/__APP__/__APP__.log
|
||||
StandardError=inherit
|
||||
|
||||
### Depending on specificities of your service/app, you may need to tweak these
|
||||
### .. but this should be a good baseline
|
||||
# Sandboxing options to harden security
|
||||
# Details for these options: https://www.freedesktop.org/software/systemd/man/systemd.exec.html
|
||||
NoNewPrivileges=yes
|
||||
PrivateTmp=yes
|
||||
PrivateDevices=yes
|
||||
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK
|
||||
RestrictNamespaces=yes
|
||||
RestrictRealtime=yes
|
||||
DevicePolicy=closed
|
||||
ProtectClock=yes
|
||||
ProtectHostname=yes
|
||||
ProtectProc=invisible
|
||||
ProtectSystem=full
|
||||
ProtectControlGroups=yes
|
||||
ProtectKernelModules=yes
|
||||
ProtectKernelTunables=yes
|
||||
LockPersonality=yes
|
||||
SystemCallArchitectures=native
|
||||
SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap @cpu-emulation @privileged
|
||||
|
||||
# Denying access to capabilities that should not be relevant for webapps
|
||||
# Doc: https://man7.org/linux/man-pages/man7/capabilities.7.html
|
||||
CapabilityBoundingSet=~CAP_RAWIO CAP_MKNOD
|
||||
CapabilityBoundingSet=~CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_AUDIT_WRITE
|
||||
CapabilityBoundingSet=~CAP_SYS_BOOT CAP_SYS_TIME CAP_SYS_MODULE CAP_SYS_PACCT
|
||||
CapabilityBoundingSet=~CAP_LEASE CAP_LINUX_IMMUTABLE CAP_IPC_LOCK
|
||||
CapabilityBoundingSet=~CAP_BLOCK_SUSPEND CAP_WAKE_ALARM
|
||||
CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG
|
||||
CapabilityBoundingSet=~CAP_MAC_ADMIN CAP_MAC_OVERRIDE
|
||||
CapabilityBoundingSet=~CAP_NET_ADMIN CAP_NET_BROADCAST CAP_NET_RAW
|
||||
CapabilityBoundingSet=~CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_SYSLOG
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
11
doc/PRE_UPGRADE.d/2.12.0~ynh2.md
Normal file
11
doc/PRE_UPGRADE.d/2.12.0~ynh2.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
### Application is fixed
|
||||
|
||||
Since the inception of this app, the upstream code was actually a fork created to make it compatible with YunoHost database.
|
||||
It has basically been abandoned for a long time now, and the upstream Owntracks app has changed a lot.
|
||||
This upgrade will install both the recorder that stores the location data and the frontend that displays it.
|
||||
|
||||
### Data migration is not handled
|
||||
|
||||
The new app does not use a database anymore, but a set of files holding all the data.
|
||||
If the app was somehow working for you so far, your data will NOT be migrated.
|
||||
Export the automated backup made before the update, or make a dedicated one.
|
|
@ -7,7 +7,7 @@ name = "OwnTracks"
|
|||
description.en = "Keep track of your location history"
|
||||
description.fr = "Gérez votre historique de géolocalisation"
|
||||
|
||||
version = "2.12.0~ynh1"
|
||||
version = "2.14.0~ynh1"
|
||||
|
||||
maintainers = ["tituspijean"]
|
||||
|
||||
|
@ -35,21 +35,32 @@ ram.runtime = "50M"
|
|||
default = "/owntracks"
|
||||
|
||||
[install.user]
|
||||
ask.en = "Choose a user"
|
||||
ask.fr = "Choisissez un utilisateur"
|
||||
help.en = "Mandatory if the app is set to public. This user's traces will be displayed to visitors."
|
||||
help.fr = "Obligatoire si l'app est publique. Les traces de cet utilisateur seront montrées aux visiteurs."
|
||||
ask.en = "Choose an account"
|
||||
ask.fr = "Choisissez un compte"
|
||||
help.en = "Mandatory if the app is set to public: this account's traces will be loaded by default."
|
||||
help.fr = "Obligatoire si l'app est publique : les traces de ce compte seront chargées par défaut."
|
||||
type = "user"
|
||||
optional = true
|
||||
|
||||
[install.init_main_permission]
|
||||
type = "group"
|
||||
default = "visitors"
|
||||
default = "all_users"
|
||||
help.en = "Be wary if you select Visitors: all locations sent to the recorder can be read."
|
||||
help.fr = "Attention si vous sélectionnez Visiteurs : toutes les localisations envoyées à l'enregistreur pourront être lues."
|
||||
|
||||
[resources]
|
||||
[resources.apt]
|
||||
extras.recorder.repo = "deb http://repo.owntracks.org/debian __YNH_DEBIAN_VERSION__ main"
|
||||
extras.recorder.key = "https://raw.githubusercontent.com/owntracks/recorder/master/etc/repo.owntracks.org.gpg.key"
|
||||
extras.recorder.packages = ["ot-recorder"]
|
||||
|
||||
extras.yarn.repo = "deb https://dl.yarnpkg.com/debian/ stable main"
|
||||
extras.yarn.key = "https://dl.yarnpkg.com/debian/pubkey.gpg"
|
||||
extras.yarn.packages = "yarn"
|
||||
|
||||
[resources.sources.main]
|
||||
url = "https://github.com/owntracks/frontend/archive/refs/tags/v2.12.0.tar.gz"
|
||||
sha256 = "1695c3e39f5b276fc6d07c7685eaa3df033e37979b240bc8422663e8aa22e130"
|
||||
url = "https://github.com/owntracks/frontend/archive/refs/tags/v2.14.0.tar.gz"
|
||||
sha256 = "862deab66ac38bb517f5446b6aea0c9efaf6dffe56806542dec36849af7d832f"
|
||||
|
||||
autoupdate.strategy = "latest_github_release"
|
||||
autoupdate.asset = "tarball"
|
||||
|
@ -58,15 +69,13 @@ ram.runtime = "50M"
|
|||
|
||||
[resources.install_dir]
|
||||
|
||||
[resources.data_dir]
|
||||
|
||||
[resources.ports]
|
||||
|
||||
[resources.permissions]
|
||||
main.url = "/"
|
||||
api.url = "/api"
|
||||
api.auth_header = false
|
||||
api.show_tile = false
|
||||
api.protected= true
|
||||
|
||||
[resources.apt]
|
||||
packages = ""
|
||||
extras.yarn.repo = "deb https://dl.yarnpkg.com/debian/ stable main"
|
||||
extras.yarn.key = "https://dl.yarnpkg.com/debian/pubkey.gpg"
|
||||
extras.yarn.packages = "yarn"
|
||||
|
|
|
@ -22,11 +22,19 @@ ynh_print_info --message="Declaring files to be backed up..."
|
|||
ynh_backup --src_path="$install_dir"
|
||||
|
||||
#=================================================
|
||||
# BACKUP THE NGINX CONFIGURATION
|
||||
# BACKUP THE DATA DIR
|
||||
#=================================================
|
||||
|
||||
ynh_backup --src_path="$data_dir" --is_big
|
||||
|
||||
#=================================================
|
||||
# SYSTEM CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
ynh_backup --src_path="/etc/systemd/system/$app.service"
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
|
|
@ -45,21 +45,43 @@ ynh_secure_remove "$install_dir/source"
|
|||
#=================================================
|
||||
# ADD A CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Adding a configuration file..." --weight=1
|
||||
ynh_script_progression --message="Adding configuration files..." --weight=1
|
||||
|
||||
ynh_add_config --template="config.example.js" --destination="$install_dir/www/config/config.js"
|
||||
|
||||
chmod 400 "$install_dir/www/config/config.js"
|
||||
chmod 640 "$install_dir/www/config/config.js"
|
||||
chown "$app:www-data" "$install_dir/www/config/config.js"
|
||||
|
||||
ynh_add_config --template="env" --destination="$install_dir/.env"
|
||||
|
||||
chmod 600 "$install_dir/.env"
|
||||
chown "$app:$app" "$install_dir/.env"
|
||||
|
||||
#=================================================
|
||||
# SYSTEM CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
|
||||
|
||||
# Create a dedicated systemd config
|
||||
ynh_add_systemd_config
|
||||
|
||||
# Add log files
|
||||
mkdir -p "/var/log/$app/"
|
||||
chmod 660 "/var/log/$app/"
|
||||
chown "$app:$app" "/var/log/$app/"
|
||||
|
||||
yunohost service add "$app" --description="Owntracks recorder" --log="/var/log/$app/$app.log"
|
||||
|
||||
# Create a dedicated nginx config
|
||||
ynh_add_nginx_config
|
||||
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Starting $app's systemd service..." --weight=1
|
||||
|
||||
ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/$app.log"
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
|
|
@ -20,6 +20,10 @@ ynh_remove_nginx_config
|
|||
# Remove NodeJS
|
||||
ynh_remove_nodejs
|
||||
|
||||
# Remove service
|
||||
ynh_systemd_action --service_name="$app" --action="stop"
|
||||
yunohost service remove "$app"
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
|
|
@ -27,6 +27,12 @@ ynh_script_progression --message="Restoring system configurations related to $ap
|
|||
|
||||
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
ynh_restore_file --origin_path="/etc/systemd/system/$app.service"
|
||||
systemctl unmask "$app.service" --quiet
|
||||
systemctl enable "$app.service" --quiet
|
||||
|
||||
yunohost service add "$app" --description="Owntracks recorder" --log="/var/log/$app/$app.log"
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
|
@ -34,6 +40,8 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
|||
#=================================================
|
||||
ynh_script_progression --message="Reloading NGINX web server..."
|
||||
|
||||
ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/$app.log"
|
||||
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
|
||||
#=================================================
|
||||
|
|
|
@ -9,16 +9,6 @@
|
|||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# ENSURE DOWNWARD COMPATIBILITY
|
||||
#=================================================
|
||||
ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
|
||||
|
||||
# Cleanup previous package that ynh_setup_source on install_dir
|
||||
if [ ! -d "$install_dir/www" ]; then
|
||||
ynh_secure_remove "$install_dir"/* "$install_dir"/.*
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# INSTALL DEPENDENCIES
|
||||
#=================================================
|
||||
|
@ -45,6 +35,9 @@ chown -R $app:www-data "$install_dir"
|
|||
#=================================================
|
||||
ynh_script_progression --message="Installing $app..." --weight=10
|
||||
|
||||
# Delete current build
|
||||
ynh_secure_remove "$install_dir/www"
|
||||
|
||||
pushd "$install_dir/source"
|
||||
ynh_use_nodejs
|
||||
ynh_exec_warn_less ynh_exec_as "$app" env "$ynh_node_load_PATH" yarn install
|
||||
|
@ -57,20 +50,35 @@ ynh_secure_remove "$install_dir/source"
|
|||
#=================================================
|
||||
# ADD A CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Adding a configuration file..." --weight=1
|
||||
ynh_script_progression --message="Adding configuration files..." --weight=1
|
||||
|
||||
ynh_add_config --template="config.example.js" --destination="$install_dir/www/config/config.js"
|
||||
|
||||
chmod -R o-rwx "$install_dir"
|
||||
chown -R "$app:www-data" "$install_dir"
|
||||
|
||||
chmod 400 "$install_dir/www/config/config.js"
|
||||
chmod 640 "$install_dir/www/config/config.js"
|
||||
|
||||
ynh_add_config --template="env" --destination="$install_dir/.env"
|
||||
|
||||
chmod 600 "$install_dir/.env"
|
||||
chown "$app:$app" "$install_dir/.env"
|
||||
|
||||
#=================================================
|
||||
# NGINX CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Upgrading NGINX web server configuration..."
|
||||
|
||||
# Create a dedicated systemd config
|
||||
ynh_add_systemd_config
|
||||
|
||||
# Add log files
|
||||
mkdir -p "/var/log/$app/"
|
||||
chmod 660 "/var/log/$app/"
|
||||
chown "$app:$app" "/var/log/$app/"
|
||||
|
||||
yunohost service add "$app" --description="Owntracks recorder" --log="/var/log/$app/$app.log"
|
||||
|
||||
# Create a dedicated nginx config
|
||||
ynh_add_nginx_config
|
||||
|
||||
|
|
|
@ -9,3 +9,5 @@ test_format = 1.0
|
|||
# ------------
|
||||
|
||||
args.user = ""
|
||||
test_upgrade_from.95f33dfb.name = "Upgrade from packaging v1"
|
||||
|
||||
|
|
Loading…
Reference in a new issue