Changes for page FileSync

Last modified by Jan Brinkhaus on 2023/02/03 13:33

<
From version < 12.1
edited by Jan Brinkhaus
on 2023/02/03 13:33
To version < 8.1 >
edited by Jan Brinkhaus
on 2023/02/03 12:12
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,24 +1,115 @@
1 -= About FileSync =
1 += Prerequisite: Docker installation =
2 2  
3 -(% class="wikigeneratedid" %)
4 -File sync is a server-side backup software for files from embedded devices. It was from scratch developed to the needs of automatic backups of production data.
3 +FileSync is deployed as docker container. You need a running docker installation for it to be installed. if you setup a new VM for this, we suggest the newest Ubuntu LTS release.
5 5  
6 -= [[image:attach:FileSyncSlide.jpg]] =
5 +If you already have a server or VM with a running docker, just skip this chapter and go on with "Installation".
7 7  
8 -(% class="wikigeneratedid" %)
9 -It is thought as bridgehead in firewall designs: you allow this one container (or a VM running it) accesses to your embedded devices, as well as your file backup servers.
7 +=== Install docker on linux ===
10 10  
11 -(% class="wikigeneratedid" %)
12 -FileSync afterwards just does its job, as long as the server runs.
9 +The installation of docker on linux is straightforward. If you Google this topic you will find explanations from the Docker website which invite you to do a manual installation of docker by downloading and installing their actual version. From a technical perspective this is not needed. At least Brinkhaus does not need bleeding edge docker installation. We recommend to just use the docker version which comes from your Linux distribution.
13 13  
14 -The software is designed with the word "fail-safe" in mind. The machines carrying the embeddd devices may go offline during the operation as well as the target backups servers may not be reachable.
11 +On a typical Ubuntu or Debian you go with
15 15  
16 -FileSync achieves this by caching data on the server side. Whenever FileSync can reach an embedded device, data is backed up from it. Whenever the backup servers can be reached, data is saved there.
13 +(% class="box" %)
14 +(((
15 +(% class="code" %)
16 +(((
17 +sudo apt install docker-compose
18 +)))
19 +)))
17 17  
18 -Only files that have not been modified for at least 60sec are backed up. The time span can be set in the configuration of the copy source. Files whose size or file time has changed in the backup source are copied again.
21 +=== Install docker on Windows ===
19 19  
23 +The installation of docker for Windows is described here: [[https:~~/~~/docs.docker.com/desktop/install/windows-install/>>url:https://docs.docker.com/desktop/install/windows-install/]]
20 20  
21 -(% class="code" style="white-space: pre;" %)
25 += Installation =
26 +
27 +On a computer with Docker, just choose a target directory which fits for your case, deploy our docker-compose file there and start the app.
28 +
29 +**Suggestion for quick start for linux**
30 +
31 +(% class="box" %)
22 22  (((
23 -
33 +(% class="code" %)
34 +(((
35 +sudo mkdir /var/docker_data
36 +cd /var/docker_data/
37 +wget https:~/~/xwiki.brinkhaus-gmbh.de/bin/download/Product%20support/FileSync/WebHome/docker-compose.yml?rev=1.1
38 +sudo docker login registry.gitlab.com/v2/b3935 -u datastore-dl -p glpat-S9xzXzoUxuxGboW53r2x
39 +\\sudo docker-compose up -d
24 24  )))
41 +)))
42 +
43 +You are afterwards able to log in via the web interface on port 80 of the server where you installed FileSync.
44 +
45 +
46 +**Suggestion for quick start for Windows**
47 +
48 +Place the docker-compose file from here [[https:~~/~~/xwiki.brinkhaus-gmbh.de/bin/download/Product%20support/FileSync/WebHome/docker-compose.yml?rev=1.1>>url:https://xwiki.brinkhaus-gmbh.de/bin/download/Product%20support/FileSync/WebHome/docker-compose.yml?rev=1.1]] in a directory of your needs and run "docker-compose up -d".
49 +
50 +
51 += Variants / hints =
52 +
53 +You can adapt the docker-compose file to your local needs. The file which we give for a quick start is:
54 +
55 +(% class="box" %)
56 +(((
57 +(% class="code" %)
58 +(((
59 +version: "3"
60 +\\services:
61 + filesync:
62 + image~: registry.gitlab.com/b3935/ftpmodule/filesync:latest
63 + container_name: filesync
64 + restart: always
65 + volumes:
66 + - ./data:/app/data
67 +\\ ports:
68 + - 80:80\\
69 +)))
70 +)))
71 +
72 +This results in a password-less direct access to a UI on the target server.
73 +
74 +We below give an example for enclosing FileSync with Traefik as middleware for adding an easy authentification function:
75 +
76 +(% class="box" %)
77 +(((
78 +(% class="code" %)
79 +(((
80 +version: "3"
81 +\\services:
82 + traefik:
83 + image~: traefik:v2.2
84 + command:
85 + - "~-~-providers.docker"
86 + - "~-~-entrypoints.web.address=:80"
87 + ports:
88 + - "80:80"
89 + volumes:
90 + - /var/run/docker.sock:/var/run/docker.sock
91 +# needed for using a dynamic password, settable from FileSync UI; links data/settings/ to the folder where
92 +# it is described in the "labels" of the filesync container
93 + - ./data:/var/docker_data/data
94 +\\ filesync:
95 + image~: registry.gitlab.com/b3935/ftpmodule/filesync:latest
96 + container_name: filesync
97 + restart: always
98 + volumes:
99 + - ./data:/app/data
100 +\\# commented out because Traefik creates a protected rout for hisself
101 +# ports:
102 +# - 80:80
103 +\\ labels:
104 + - "traefik.http.routers.filesync.entrypoints=web"
105 + - "traefik.http.routers.filesync.rule=Host(`datastore-playground.euprogigant.io`)"
106 + - "traefik.http.routers.filesync.middlewares=auth"
107 + - "traefik.http.services.filesync.loadbalancer.server.port=80"
108 +# hard coded password; hash retrievable via "htpasswd -bnBC 10 admin PASSWORD"
109 + - "traefik.http.middlewares.auth.basicauth.users=admin:$$2y$$10$$2u0mbq4FI.EpN6Gu5O.BpO5Fh8RrXBr.MUT8JyqbYGtNfLn19OhTe" # credentials admin:changeme
110 +# dynamic password, settable from FileSync UI; needs link of data/settings/ in the docker container of Traefik
111 +# - "traefik.http.middlewares.auth.basicauth.usersfile=/var/docker_data/data/settings/hashedPW.txt"\\
112 +)))
113 +)))
114 +
115 +
FileSyncSlide.jpg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.brinkhaus
Size
... ... @@ -1,1 +1,0 @@
1 -641.3 KB
Content

Need support?

If you need support feel free to contact:

Jan Brinkhaus: 0049 179 3939 733