diff --git a/ALL_README.md b/ALL_README.md new file mode 100644 index 0000000..3d6c579 --- /dev/null +++ b/ALL_README.md @@ -0,0 +1,6 @@ +# All available README files by language + +- [Read the README in English](README.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) diff --git a/README.md b/README.md index 0c9a4bd..d3b3874 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ @@ -9,10 +9,10 @@ It shall NOT be edited by hand. [![Install Restic with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=restic) -*[Lire ce readme en français.](./README_fr.md)* +*[Read this README is other languages.](./ALL_README.md)* -> *This package allows you to install Restic 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 Restic 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 @@ -172,19 +172,19 @@ You can setup the Restic app several times on the same server so you can backup ## Documentation and resources -* Official app website: -* Official admin documentation: -* Upstream app code repository: -* YunoHost Store: -* Report a bug: +- Official app website: +- Official admin documentation: +- Upstream app code repository: +- YunoHost Store: +- Report a bug: ## Developer info -Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/restic_ynh/tree/testing). +Please send your pull request to the [`testing` branch](https://github.com/YunoHost-Apps/restic_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/restic_ynh/tree/testing --debug or sudo yunohost app upgrade restic -u https://github.com/YunoHost-Apps/restic_ynh/tree/testing --debug diff --git a/README_fr.md b/README_fr.md index 0da8af6..c2f85a1 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,6 +1,6 @@ # Restic pour YunoHost @@ -9,10 +9,10 @@ It shall NOT be edited by hand. [![Installer Restic avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=restic) -*[Read this readme in english.](./README.md)* +*[Lire le README dans d'autres langues.](./ALL_README.md)* -> *Ce package vous permet d’installer Restic rapidement et simplement sur un serveur YunoHost. -Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l’installer et en profiter.* +> *Ce package vous permet d’installer Restic rapidement et simplement sur un serveur YunoHost.* +> *Si vous n’avez pas YunoHost, consultez [ce guide](https://yunohost.org/install) pour savoir comment l’installer et en profiter.* ## Vue d’ensemble @@ -23,7 +23,7 @@ This package uses restic to make backups to a sftp server. The package does not handle local backups yet but you can work around that by using the local sftp server as target server (see my comment [here](https://forum.yunohost.org/t/sauvegarde-yunohost-avec-restic/10275/33)). -**Version incluse :** 0.12.0~ynh9 +**Version incluse :** 0.12.0~ynh9 ## Avertissements / informations importantes ## Usage @@ -172,22 +172,22 @@ You can setup the Restic app several times on the same server so you can backup ## Documentations et ressources -* Site officiel de l’app : -* Documentation officielle de l’admin : -* Dépôt de code officiel de l’app : -* YunoHost Store: -* Signaler un bug : +- Site officiel de l’app : +- Documentation officielle de l’admin : +- Dépôt de code officiel de l’app : +- YunoHost Store : +- Signaler un bug : ## Informations pour les développeurs -Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/restic_ynh/tree/testing). +Merci de faire vos pull request sur la [branche `testing`](https://github.com/YunoHost-Apps/restic_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/restic_ynh/tree/testing --debug ou sudo yunohost app upgrade restic -u https://github.com/YunoHost-Apps/restic_ynh/tree/testing --debug ``` -**Plus d’infos sur le packaging d’applications :** \ No newline at end of file +**Plus d’infos sur le packaging d’applications :** diff --git a/README_gl.md b/README_gl.md new file mode 100644 index 0000000..698ed32 --- /dev/null +++ b/README_gl.md @@ -0,0 +1,193 @@ + + +# Restic para YunoHost + +[![Nivel de integración](https://dash.yunohost.org/integration/restic.svg)](https://dash.yunohost.org/appci/app/restic) ![Estado de funcionamento](https://ci-apps.yunohost.org/ci/badges/restic.status.svg) ![Estado de mantemento](https://ci-apps.yunohost.org/ci/badges/restic.maintain.svg) + +[![Instalar Restic con YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=restic) + +*[Le este README en outros idiomas.](./ALL_README.md)* + +> *Este paquete permíteche instalar Restic 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 + +A [Restic](https://restic.net/) package for YunoHost (heavily inspired by [the Borg package](https://github.com/YunoHost-Apps/borg_ynh/)). + +Restic is a backup tool that can make local and remote backups. +This package uses restic to make backups to a sftp server. +The package does not handle local backups yet but you can work around that by using the local sftp server as target server (see my comment [here](https://forum.yunohost.org/t/sauvegarde-yunohost-avec-restic/10275/33)). + + +**Versión proporcionada:** 0.12.0~ynh9 +## Avisos / información importante + +## Usage + +If you want to backup your server A onto the server B. + +## Setup Restic app on Server A + +Firstly set up this app on the server A you want to backup: + +``` +$ yunohost app install https://github.com/YunoHost-Apps/restic_ynh +Indicate the server where you want put your backups: serverb.domain.tld +sftp port of your server (default: 22): 2222 +The directory where you want your backup repositories to be created in (default: ./): ./servera.domain.tld +Indicate the ssh user to use to connect on this server: servera +You are now about to define a new user password. The password should be at least 8 characters - though it is good practice to use longer password (i.e. a passphrase) and/or to use various kind of characters (uppercase, lowercase, digits and special characters). +Indicate a strong passphrase, that you will keep preciously if you want to be able to use your backups: +Would you like to backup your YunoHost configuration ? [yes | no] (default: yes): +Would you like to backup mails and user home directory ? [yes | no] (default: yes): +Which apps would you backup (list separated by comma or 'all') ? (default: all): gitlab,blogotext,sogo +Allow backup method to temporarily use more space? [yes | no] (default: yes): +Indicate the backup frequency (see systemd OnCalendar format) (default: *-*-* 0:15:00): *-*-* 0:05 +Indicate the backup check frequency (see systemd OnCalendar format) (default: Sat *-*-8..31 3:15:00): +Indicate the complete backup check frequency (see systemd OnCalendar format) (default: Sun *-*-1..7 3:15:00): +``` + +You can schedule your backup by choosing an other frequency. Some example: + +Monthly : + +Weekly : + +Daily : Daily at midnight + +Hourly : Hourly o Clock + +Sat *-*-1..7 18:00:00 : The first saturday of every month at 18:00 + +4:00 : Every day at 4 AM + +5,17:00 : Every day at 5 AM and at 5 PM + +See here for more info : https://wiki.archlinux.org/index.php/Systemd/Timers#Realtime_timer + +After each invocation an e-mail will be sent to root@yourdomain.tld with the execution log. + +Restic can check backups consistency and verify the actual backed up data has not been modified. +If you use the default values for the backup checks frequencies, a full check will be made on the first day of each month and a simple check will be made on each one of the three remaining weeks of the month. + +At the end of the installation, the app displays the public_key and the user to give to the person who has access to the server B. + +You should now authorize the public key for user `servera` on server B by logging into server B with user `servera` and running: + +``` +mkdir ~/.ssh -p 2>/dev/null +touch ~/.ssh/authorized_keys +chmod u=rw,go= ~/.ssh/authorized_keys +cat << EOPKEY >> ~/.ssh/authorized_keys + +EOPKEY +``` +If you don't find the mail and you don't see the message in the log bar you can find the public_key with this command: +``` +cat /root/.ssh/id_restic_ed25519.pub +``` + +## (Optional) set sftp jail on server B + +To improve security, make sure user `servera` can only do sftp and can only access his home directory on server B. +This is how you would do it on Debian/Ubuntu, otherwise refer to your distribution manual (don't forget to replace `servera` with the real username) + +``` +cat << EOCONFIG >> /etc/ssh/sshd_config +Match User servera + ChrootDirectory %h + ForceCommand internal-sftp + AllowTcpForwarding no + X11Forwarding no +EOCONFIG +service ssh restart +``` + +## Test +At this step your backup should schedule. + +If you want to be sure, you can test it by running on server A: +``` +systemctl start restic.service +``` + +Next you can verify the backup contents by running on server A +``` +restic -r sftp:serverb.domain.tld:servera.domain.tld/auto_conf snapshots +``` + +Replace `auto_conf` with `auto_` if you did not choose to backup configuration but only applications. + +If you want to check the backups consistency: +``` +systemctl start restic_check.service +``` + +If you want to make a complete check of the backups - keep in mind that this reads all the backed up data, it can take some time depending on your target server upload speed (more on this topic in [the Restic documentation](https://restic.readthedocs.io/en/latest/045_working_with_repos.html#checking-integrity-and-consistency)): +``` +systemctl start restic_check_read_data.service +``` + +## Display the apps list to backup + +``` +yunohost app setting restic apps +``` + +## Edit the apps list to backup + +``` +yunohost app setting restic apps -v "nextcloud,wordpress" +``` + +## Launch a backup + +``` +systemctl start restic +``` + +## Launch a backups check + +``` +systemctl start restic_check.service +``` + +## Launch a complete backups check + +WARNING: this will read data from your backups destination server. +It may take a quite long time depending on the target server's internet upload speed and hardware performance. + +``` +systemctl start restic_check_read_data.service +``` + +## Backup on different server, and apply distinct schedule for apps + +You can setup the Restic app several times on the same server so you can backup on several server or manage your frequency backup differently for specific part of your server. + + +## Documentación e recursos + +- Web oficial da app: +- Documentación oficial para admin: +- Repositorio de orixe do código: +- Tenda YunoHost: +- Informar dun problema: + +## Info de desenvolvemento + +Envía a túa colaboración á [rama `testing`](https://github.com/YunoHost-Apps/restic_ynh/tree/testing). + +Para probar a rama `testing`, procede deste xeito: + +```bash +sudo yunohost app install https://github.com/YunoHost-Apps/restic_ynh/tree/testing --debug +ou +sudo yunohost app upgrade restic -u https://github.com/YunoHost-Apps/restic_ynh/tree/testing --debug +``` + +**Máis info sobre o empaquetado da app:** diff --git a/README_it.md b/README_it.md new file mode 100644 index 0000000..ad94941 --- /dev/null +++ b/README_it.md @@ -0,0 +1,193 @@ + + +# Restic per YunoHost + +[![Livello di integrazione](https://dash.yunohost.org/integration/restic.svg)](https://dash.yunohost.org/appci/app/restic) ![Stato di funzionamento](https://ci-apps.yunohost.org/ci/badges/restic.status.svg) ![Stato di manutenzione](https://ci-apps.yunohost.org/ci/badges/restic.maintain.svg) + +[![Installa Restic con YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=restic) + +*[Leggi questo README in altre lingue.](./ALL_README.md)* + +> *Questo pacchetto ti permette di installare Restic su un server YunoHost in modo semplice e veloce.* +> *Se non hai YunoHost, consulta [la guida](https://yunohost.org/install) per imparare a installarlo.* + +## Panoramica + +A [Restic](https://restic.net/) package for YunoHost (heavily inspired by [the Borg package](https://github.com/YunoHost-Apps/borg_ynh/)). + +Restic is a backup tool that can make local and remote backups. +This package uses restic to make backups to a sftp server. +The package does not handle local backups yet but you can work around that by using the local sftp server as target server (see my comment [here](https://forum.yunohost.org/t/sauvegarde-yunohost-avec-restic/10275/33)). + + +**Versione pubblicata:** 0.12.0~ynh9 +## Attenzione/informazioni importanti + +## Usage + +If you want to backup your server A onto the server B. + +## Setup Restic app on Server A + +Firstly set up this app on the server A you want to backup: + +``` +$ yunohost app install https://github.com/YunoHost-Apps/restic_ynh +Indicate the server where you want put your backups: serverb.domain.tld +sftp port of your server (default: 22): 2222 +The directory where you want your backup repositories to be created in (default: ./): ./servera.domain.tld +Indicate the ssh user to use to connect on this server: servera +You are now about to define a new user password. The password should be at least 8 characters - though it is good practice to use longer password (i.e. a passphrase) and/or to use various kind of characters (uppercase, lowercase, digits and special characters). +Indicate a strong passphrase, that you will keep preciously if you want to be able to use your backups: +Would you like to backup your YunoHost configuration ? [yes | no] (default: yes): +Would you like to backup mails and user home directory ? [yes | no] (default: yes): +Which apps would you backup (list separated by comma or 'all') ? (default: all): gitlab,blogotext,sogo +Allow backup method to temporarily use more space? [yes | no] (default: yes): +Indicate the backup frequency (see systemd OnCalendar format) (default: *-*-* 0:15:00): *-*-* 0:05 +Indicate the backup check frequency (see systemd OnCalendar format) (default: Sat *-*-8..31 3:15:00): +Indicate the complete backup check frequency (see systemd OnCalendar format) (default: Sun *-*-1..7 3:15:00): +``` + +You can schedule your backup by choosing an other frequency. Some example: + +Monthly : + +Weekly : + +Daily : Daily at midnight + +Hourly : Hourly o Clock + +Sat *-*-1..7 18:00:00 : The first saturday of every month at 18:00 + +4:00 : Every day at 4 AM + +5,17:00 : Every day at 5 AM and at 5 PM + +See here for more info : https://wiki.archlinux.org/index.php/Systemd/Timers#Realtime_timer + +After each invocation an e-mail will be sent to root@yourdomain.tld with the execution log. + +Restic can check backups consistency and verify the actual backed up data has not been modified. +If you use the default values for the backup checks frequencies, a full check will be made on the first day of each month and a simple check will be made on each one of the three remaining weeks of the month. + +At the end of the installation, the app displays the public_key and the user to give to the person who has access to the server B. + +You should now authorize the public key for user `servera` on server B by logging into server B with user `servera` and running: + +``` +mkdir ~/.ssh -p 2>/dev/null +touch ~/.ssh/authorized_keys +chmod u=rw,go= ~/.ssh/authorized_keys +cat << EOPKEY >> ~/.ssh/authorized_keys + +EOPKEY +``` +If you don't find the mail and you don't see the message in the log bar you can find the public_key with this command: +``` +cat /root/.ssh/id_restic_ed25519.pub +``` + +## (Optional) set sftp jail on server B + +To improve security, make sure user `servera` can only do sftp and can only access his home directory on server B. +This is how you would do it on Debian/Ubuntu, otherwise refer to your distribution manual (don't forget to replace `servera` with the real username) + +``` +cat << EOCONFIG >> /etc/ssh/sshd_config +Match User servera + ChrootDirectory %h + ForceCommand internal-sftp + AllowTcpForwarding no + X11Forwarding no +EOCONFIG +service ssh restart +``` + +## Test +At this step your backup should schedule. + +If you want to be sure, you can test it by running on server A: +``` +systemctl start restic.service +``` + +Next you can verify the backup contents by running on server A +``` +restic -r sftp:serverb.domain.tld:servera.domain.tld/auto_conf snapshots +``` + +Replace `auto_conf` with `auto_` if you did not choose to backup configuration but only applications. + +If you want to check the backups consistency: +``` +systemctl start restic_check.service +``` + +If you want to make a complete check of the backups - keep in mind that this reads all the backed up data, it can take some time depending on your target server upload speed (more on this topic in [the Restic documentation](https://restic.readthedocs.io/en/latest/045_working_with_repos.html#checking-integrity-and-consistency)): +``` +systemctl start restic_check_read_data.service +``` + +## Display the apps list to backup + +``` +yunohost app setting restic apps +``` + +## Edit the apps list to backup + +``` +yunohost app setting restic apps -v "nextcloud,wordpress" +``` + +## Launch a backup + +``` +systemctl start restic +``` + +## Launch a backups check + +``` +systemctl start restic_check.service +``` + +## Launch a complete backups check + +WARNING: this will read data from your backups destination server. +It may take a quite long time depending on the target server's internet upload speed and hardware performance. + +``` +systemctl start restic_check_read_data.service +``` + +## Backup on different server, and apply distinct schedule for apps + +You can setup the Restic app several times on the same server so you can backup on several server or manage your frequency backup differently for specific part of your server. + + +## Documentazione e risorse + +- Sito web ufficiale dell’app: +- Documentazione ufficiale per gli amministratori: +- Repository upstream del codice dell’app: +- Store di YunoHost: +- Segnala un problema: + +## Informazioni per sviluppatori + +Si prega di inviare la tua pull request alla [branch di `testing`](https://github.com/YunoHost-Apps/restic_ynh/tree/testing). + +Per provare la branch di `testing`, si prega di procedere in questo modo: + +```bash +sudo yunohost app install https://github.com/YunoHost-Apps/restic_ynh/tree/testing --debug +o +sudo yunohost app upgrade restic -u https://github.com/YunoHost-Apps/restic_ynh/tree/testing --debug +``` + +**Maggiori informazioni riguardo il pacchetto di quest’app:**