# Armadietto for YunoHost
[![Integration level](https://dash.yunohost.org/integration/armadietto.svg)](https://dash.yunohost.org/appci/app/armadietto) ![Working status](https://ci-apps.yunohost.org/ci/badges/armadietto.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/armadietto.maintain.svg)
[![Install Armadietto with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=armadietto)
*[Lire ce readme en français.](./README_fr.md)*
> *This package allows you to install Armadietto 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
[Armadietto](https://github.com/remotestorage/armadietto/) is a [remoteStorage](https://remotestorage.io) server written for Node.js.
Armadietto is maintained by the remoteStorage community, ([IRC](https://web.libera.chat/#remotestorage), [forums](https://community.remotestorage.io/)).
> ### :warning: WARNING
> Please do not consider `armadietto` production ready, this project is still
> considered experimental. As with any alpha-stage storage technology, you
> MUST expect that it will eat your data and take precautions against this. You
> SHOULD expect that its APIs and storage schemas will change before it is
> labelled stable.
### Installation option
User registration is not allowed out of the box.
This option can be enabled in the configuration panel.
### Application for remoteStorage
[Here](https://remotestorage.io/apps/) is a non-exhaustive list of apps that have integrated remoteStorage as a storage/sync option.
**Shipped version:** 0.2.0~ynh1
## Screenshots
![Screenshot of Armadietto](./doc/screenshots/armadietto-welcome.png)
![Screenshot of Armadietto](./doc/screenshots/armadietto-signup.png)
## Disclaimers / important information
### :warning: WARNING
The Armadietto_ynh package is still under development, so you should expect some undocumented changes before it is labeled stable.
### :information_source: Security considerations from [Armadietto](https://github.com/remotestorage/armadietto/) :
> #### **Storage security**
>
> In production, we recommend that you restrict access to the files managed by your armadietto server as much as possible. This is particularly true if you host your storage on a machine with other web applications; you need to protect your files in the event that one of those apps is exploited.
>
> You should take these steps to keep your storage safe:
>
> - Pick a unique Unix user to run your server process; no other process on the box should run as this user: sudo useradd armadietto --system --no-create-home
>
> - Do not run other applications as root, or as any user that could access files owned by your armadietto user
>
> - Make sure the directory path/to/storage cannot be read, written or executed by anyone but this user: sudo chmod 0700 /path/to/storage && sudo chown armadietto /path/to/storage
>
> - Do not run armadietto as root; if you need to bind to port 80 or 443 use a reverse proxy like nginx, Apache2, caddy, lighttpd or enable bind capability: setcap 'cap_net_bind_service=+ep' `which armadietto`
>
> - Ideally, run your storage inside a container or on a dedicated machine
### **Important Notes**
- RemoteStorage requires a dedicated domain, so obtain one and add it using the YunoHost admin panel. **Domains -> Add domain**.
- As RemoteStorage uses the full domain and is installed on the root, you can create a subdomain such as remote.domain.tld.
- Don't forget to update your DNS if you manage them manually.
- RemoteStorage requires browser-approved SSL certificates. If you have certificates not issued by [Let's Encrypt](https://letsencrypt.org/), install them manually as usual.
## Documentation and resources
* Official app website:
* Upstream app code repository:
* YunoHost documentation for this app:
* Report a bug:
## Developer info
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/armadietto_ynh/tree/testing).
To try the testing branch, please proceed like that.
``` bash
sudo yunohost app install https://github.com/YunoHost-Apps/armadietto_ynh/tree/testing --debug
or
sudo yunohost app upgrade armadietto -u https://github.com/YunoHost-Apps/armadietto_ynh/tree/testing --debug
```
**More info regarding app packaging:**