1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/owntracks_ynh.git synced 2024-09-03 19:56:24 +02:00

Merge pull request #35 from YunoHost-Apps/recorder

This commit is contained in:
tituspijean 2024-06-09 18:51:23 +02:00 committed by GitHub
commit a704e1dad6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 512 additions and 55 deletions

8
ALL_README.md Normal file
View file

@ -0,0 +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)
- [阅读中文(简体)的 README](README_zh_Hans.md)

View file

@ -1,5 +1,5 @@
<!--
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/readme_generator
N.B.: This README was automatically generated by <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
It shall NOT be edited by hand.
-->
@ -9,10 +9,10 @@ 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)
*[Lire ce readme en français.](./README_fr.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.*
> *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.*
## Overview
@ -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.12.0~ynh2
## Screenshots
@ -39,21 +39,21 @@ This is a web interface for OwnTracks built as a Vue.js single page application.
## Documentation and resources
* Official app website: <https://owntracks.org/>
* Upstream app code repository: <https://github.com/owntracks/frontend>
* YunoHost Store: <https://apps.yunohost.org/app/owntracks>
* Report a bug: <https://github.com/YunoHost-Apps/owntracks_ynh/issues>
- Official app website: <https://owntracks.org/>
- Upstream app code repository: <https://github.com/owntracks/frontend>
- YunoHost Store: <https://apps.yunohost.org/app/owntracks>
- Report a bug: <https://github.com/YunoHost-Apps/owntracks_ynh/issues>
## Developer info
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing).
Please send your pull request to the [`testing` branch](https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing).
To try the testing branch, please proceed like that.
To try the `testing` branch, please proceed like that:
``` bash
```bash
sudo yunohost app install https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing --debug
or
sudo yunohost app upgrade owntracks -u https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing --debug
```
**More info regarding app packaging:** <https://yunohost.org/packaging_apps>
**More info regarding app packaging:** <https://yunohost.org/packaging_apps>

59
README_es.md Normal file
View 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.12.0~ynh2
## 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
View 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.12.0~ynh2
## 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>

View file

@ -1,6 +1,6 @@
<!--
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/readme_generator
It shall NOT be edited by hand.
Nota bene: ce README est automatiquement généré par <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
Il NE doit PAS être modifié à la main.
-->
# OwnTracks pour YunoHost
@ -9,10 +9,10 @@ It shall NOT be edited by hand.
[![Installer OwnTracks avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=owntracks)
*[Read this readme in english.](./README.md)*
*[Lire le README dans d'autres langues.](./ALL_README.md)*
> *Ce package vous permet dinstaller OwnTracks rapidement et simplement sur un serveur YunoHost.
Si vous navez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment linstaller et en profiter.*
> *Ce package vous permet dinstaller OwnTracks rapidement et simplement sur un serveur YunoHost.*
> *Si vous navez pas YunoHost, consultez [ce guide](https://yunohost.org/install) pour savoir comment linstaller et en profiter.*
## Vue densemble
@ -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.12.0~ynh2
## Captures décran
@ -38,21 +38,21 @@ Il s'agit d'une interface Web pour OwnTracks construite comme une application Vu
## Documentations et ressources
* Site officiel de lapp : <https://owntracks.org/>
* Dépôt de code officiel de lapp : <https://github.com/owntracks/frontend>
* YunoHost Store: <https://apps.yunohost.org/app/owntracks>
* Signaler un bug : <https://github.com/YunoHost-Apps/owntracks_ynh/issues>
- Site officiel de lapp: <https://owntracks.org/>
- Dépôt de code officiel de lapp: <https://github.com/owntracks/frontend>
- YunoHost Store: <https://apps.yunohost.org/app/owntracks>
- Signaler un bug: <https://github.com/YunoHost-Apps/owntracks_ynh/issues>
## Informations pour les développeurs
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing).
Merci de faire vos pull request sur la [branche `testing`](https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing).
Pour essayer la branche testing, procédez comme suit.
Pour essayer la branche `testing`, procédez comme suit:
``` bash
```bash
sudo yunohost app install https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing --debug
ou
sudo yunohost app upgrade owntracks -u https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing --debug
```
**Plus dinfos sur le packaging dapplications :** <https://yunohost.org/packaging_apps>
**Plus dinfos sur le packaging dapplications:** <https://yunohost.org/packaging_apps>

59
README_gl.md Normal file
View file

@ -0,0 +1,59 @@
<!--
NOTA: Este README foi creado automáticamente por <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
NON debe editarse manualmente.
-->
# OwnTracks para YunoHost
[![Nivel de integración](https://dash.yunohost.org/integration/owntracks.svg)](https://dash.yunohost.org/appci/app/owntracks) ![Estado de funcionamento](https://ci-apps.yunohost.org/ci/badges/owntracks.status.svg) ![Estado de mantemento](https://ci-apps.yunohost.org/ci/badges/owntracks.maintain.svg)
[![Instalar OwnTracks con YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=owntracks)
*[Le este README en outros idiomas.](./ALL_README.md)*
> *Este paquete permíteche instalar OwnTracks de xeito rápido e doado nun servidor YunoHost.*
> *Se non usas YunoHost, le a [documentación](https://yunohost.org/install) para saber como instalalo.*
## Vista xeral
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 proporcionada:** 2.12.0~ynh2
## Capturas de pantalla
![Captura de pantalla de OwnTracks](./doc/screenshots/screenshot.png)
## Documentación e recursos
- Web oficial da app: <https://owntracks.org/>
- Repositorio de orixe do código: <https://github.com/owntracks/frontend>
- Tenda YunoHost: <https://apps.yunohost.org/app/owntracks>
- Informar dun problema: <https://github.com/YunoHost-Apps/owntracks_ynh/issues>
## Info de desenvolvemento
Envía a túa colaboración á [rama `testing`](https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing).
Para probar a rama `testing`, procede deste xeito:
```bash
sudo yunohost app install https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing --debug
ou
sudo yunohost app upgrade owntracks -u https://github.com/YunoHost-Apps/owntracks_ynh/tree/testing --debug
```
**Máis info sobre o empaquetado da app:** <https://yunohost.org/packaging_apps>

59
README_zh_Hans.md Normal file
View 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.12.0~ynh2
## 截图
![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>

View file

@ -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
View 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

View file

@ -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
View 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

View 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.

View file

@ -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.12.0~ynh2"
maintainers = ["tituspijean"]
@ -35,18 +35,29 @@ 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"
@ -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"

View file

@ -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
#=================================================

View file

@ -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
#=================================================

View file

@ -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
#=================================================

View file

@ -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
#=================================================

View file

@ -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