master
GregLebreton 2 years ago
commit 19db851cc3
  1. 137
      README.md
  2. 24
      docker-compose.yml
  3. BIN
      docs/syncthingajoutdev.png
  4. BIN
      docs/syncthingajoutdevtel.jpg
  5. BIN
      docs/syncthingajoutdevtel.png
  6. BIN
      docs/syncthingajoutdevtel2.jpg
  7. BIN
      docs/syncthingboard.png
  8. BIN
      docs/syncthingconfigpartageserveur.png
  9. BIN
      docs/syncthinggeneral.png
  10. BIN
      docs/syncthinglogin.png
  11. BIN
      docs/syncthinglogo.png
  12. BIN
      docs/syncthingnewpartage.png
  13. BIN
      docs/syncthingpartage.png
  14. BIN
      docs/syncthingpartagetel.jpg
  15. BIN
      docs/syncthingqrbouton.png
  16. BIN
      docs/syncthingqrcode.png
  17. BIN
      docs/syncthingserveursynch.png
  18. BIN
      docs/syncthingtelconfig.png
  19. BIN
      docs/syncthingtelsynch1.jpg
  20. BIN
      docs/syncthingtelsynch2.jpg

@ -0,0 +1,137 @@
![image](docs/syncthinglogo.png)
Ce projet à pour but de créer un partage de fichier synchronisé entre une machine (Linux Debian) et un smartphone android, le tout gratuitement grâce au logiciel open-source
Syncthing : https://syncthing.net/
## INSTALLATION:
Pré-requis: Une connaissance de Docker ainsi que l'arborescence Linux.
L'installation nécéssite un serveur(Linux / Windows / MacOS) et un client (Linux / Android / Windows / MacOS) pour illustrer la fonctionnalité de Syncthing, ici nous utiliseront un serveur Linux et un client Android.
### SERVEUR LINUX:
L'installation la plus simple et versatile reste encore celle via Docker compose.
- Pour installer Docker: https://gitlab.com/GregLebreton/docker.git
- Pour installer Docker compose:
```bash
sudo curl -L https://github.com/docker/compose/releases/download/1.25.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
```
- Clôner le repertoire suivant via la commande:
```bash
git clone https://gitlab.com/GregLebreton/syncthing.git
```
```bash
cd syncthing/
```
/\ Cette configuration est par défaut, vous pouvez y ajouter autant de partage que désiré dans les volumes en y indiquant les "PATH" des dossiers à partager.
Le port de la machine peux également être modifié selon les besoins.
Une fois la configuration établie, lancer la stack avec la commande:
```bash
docker-compose up -d
```
- Une fois l'instance démarrée, elle est accessible à cette adresse: http://localhost:8384.
- Dans l'onglet Général, renseigner le nom de l'appareil (ex: debian serveur / PC maison)
![image](docs/syncthinggeneral.png)
- cliquer sur configuration puis sur l'onglet interface graphique pour créer un utilisateur avec un mot de passe afin protéger l'instance serveur:
![image](docs/syncthinglogin.png)
- Nous allons maintenant installer un client pour initier une connection puis un partage.
### CLIENT ANDROID:
Le client android est disponible via le GooglePlay store: https://play.google.com/store/apps/details?id=com.nutomic.syncthingandroid&hl=fr&gl=US
- Une fois le client installé et démarré, vous pouvez vous connecter au serveur en générant un QR code à partir du serveur:
![image](docs/syncthingqrbouton.png)
![image](docs/syncthingqrcode.png)
- Pour flasher le QR code à partir du client Android, rendez-vous dans le menu ajouter un appareil, et cliquez sur l'icône +
<img src="docs/syncthingajoutdevtel.jpg" alt="" width="400"/>
- Enfin cliquez sur l'cône du QR code pour passer en mode scanner / appareil photo et scannez le code
<img src="docs/syncthingajoutdevtel2.jpg" alt="" width="400"/>
- Une fois le QRcode flashé par le client Android, un message d'ajout d'appareil apparaît sur l'UI serveur:
![image](docs/syncthingajoutdev.png)
- Configurer le nouvel appareil (ici le télephone Android client) avec un nom convivial dans l'onglet général:
![image](docs/syncthingtelconfig.png)
- Attendre la synchronistaion des appareils:
<img src="docs/syncthingtelsynch1.jpg" alt="" width="400"/>
<img src="docs/syncthingtelsynch2.jpg" alt="" width="400"/>
- On peux désormais créer un partage sur le client Android en indiquant le chemin du dossier de partage sur l'appareil Android et en cochant l'appareil avec lequel on veut partager ce dossier ( ici GREGSTATION, alias le serveur Linux):
<img src="docs/syncthingpartagetel.jpg" alt="" width="400"/>
Une fois celui-ci enregistré, une notification d'ajout de partage va apparaître sur l'interface web du serveur, cliquez sur ajouter:
![image](docs/syncthingnewpartage.png)
- Configurer le nom du partage ainsi que le chemin vers le dossier partagé
/\ Attention, le / les dossier(s) partagé(s) ont dûs être configurés dans le docker-compose.yml
au niveau des volumes:
```bash
- /data1:/data1
```
Dans l'exemple ci-dessus, le répertoire /exemple/data1 sur la machine hôte correspond au dossier /data1 dans le conteneur Docker.
- Pour le chemin racine du partage, il faut choisir le chemin dans le conteneur soit /data1.
(Dans l'image /Synchro)
![image](docs/syncthingconfigpartageserveur.png)
- Dans l'onglet Partages, on peut désormais cocher le ou les appareils avec lesquels on va partager le dossier du serveur.
![image](docs/syncthingajoutdevtel.png)
Les dossiers se synchronisent:
![image](docs/syncthingserveursynch.png)
Si tout s'est bien passé, vous devriez avoir les mêmes fichiers dans les dossiers choisis lors du partage que se soit sur votre serveur ou sur votre téléphone Android.
### CLIENT WINDOWS:
Le client Windows est disponible à cette adresse: https://syncthing.net/downloads/
- Le principe reste le même qu'un client Android:
* On ajoute le serveur comme appareil
* On valide l'ajout du client Windows auprès du serveur
* On attends la connection des deux appareils
* On ajoute un dossier de partage du client Windows vers le serveur
* On valide le partage du client Windows sur le serveur
* On attends la synchronisation
### PRÉCISIONS:
1) Le partage peux être initié du client ou du serveur une fois les deux appareils connectés,
la validation du partage s'éffectue du côté du non initiateur.
2) Le dossier .stfolder est NÉCESSAIRE au bon fonctionnement de Syncthing, n'éssayez pas de l'éffacer.
3) Il est possible de choisir les directions de synchronisation (envoyer et reçevoir, envoyer seulement et reçevoir seulement) Cela permet de protéger contre la perte de données en cas de mauvaise manipulation.
4) Les différents partages peuvent être chiffrés par des mots de passe pour plus de sécurité, n'hésitez pas à l'utiliser.
#### Pour plus d'informations, consulter la documentation officielle:
https://docs.syncthing.net/

@ -0,0 +1,24 @@
---
version: "2.1"
services:
syncthing2:
image: ghcr.io/linuxserver/syncthing
container_name: syncthing
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
# Mapping des volumes (le ./ permet la persistence des données sur l'hôte en cas de crash de conteneur)
- ./config:/config
# Mapping des volumes pour les dossier partagés (modifié la partie gauche hôte en fonction des besoins)
- /path/to/data1:/data1
- /path/to/data2:/data2
ports:
# Mapping des ports hôte / conteneur
- 8384:8384
# Ports nécessaires aux client pour se connecter au serveur (à ouvrir si firewall)
- 22000:22000/tcp
- 22000:22000/udp
- 21027:21027/udp
restart: unless-stopped

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Loading…
Cancel
Save