Skip to main content
Hyper 8 Spacefun Videos

Seafile - Dein eigener Cloudserver

Hallo liebe Sternenschnuppenzähler. In diesem  Video möchte ich euch die Cloudlösung SeaFile   00:01
genauer vorstellen und euch erklären, wie ihr  sie bei euch im eigenen Netzwerk betreiben   00:07
könnt. SeaFile ist eine client- und serverbasierte  Lösung. Wir benötigen daher einen Client und aber   00:12
auch einen Serverteil. Dieser Serverteil kann  wahlweise direkt bei dir zu Hause auf einem   00:19
kleinen Server laufen, aber auch im Internet auf  einem gemieteten VPS z.B. oder ein Rootserver,   00:24
das ist ganz dir überlassen. Wenn du die  Lösung bei dir zu Hause betreiben möchtest,   00:31
bedenke bitte, dass du in deinem Router die  entsprechenden Portweiterleitungen für HTTP und   00:36
HTTPS einrichtest. Dazu musst du die IP-Adresse  deines lokalen Servers angeben. Ich habe jetzt   00:42
hier das ganze auf einer VM laufen, nämlich einer  VM mit TuxWiz Mini, meiner Linux Distribution und   00:49
die IP hier lautet 192 168 1. 175. Hier forwarde  ich den Port 80 und den Port 443, HTTP und HTTPS,   00:55
auf diese IP-Adresse, die ich hier im LAN habe.  Falls du die nicht weißt, kannst du die wie immer   01:07
mit dem Befehl 'ip a s' prüfen und dann zeigt  er dir hier auch schon deine IP-Adresse von   01:13
deinem LAN-Interface. Das siehst du hier. Wir  möchten SeaFile ganz gerne in Docker betreiben,   01:19
denn das ist auch die empfohlene Methode. Wenn du  jetzt hier z.B. auf https://seafile.com gehst und   01:26
dann hier auf den Bereich Download klickst,  kannst du etwas weiter runterscrollen und   01:31
dann siehst du hier im unter Bereich 'Server for  generic Linux'. Dort findest du das Server-Manual.   01:36
Klick bitte dort darauf. Hier gibt es direkt zwei  verschiedene Betriebsarten, nämlich in Docker oder   01:43
auch mit dem Installationsscript. Wir nutzen jetzt  hier die Variante in Docker, denn damit sind wir   01:49
sehr sehr sehr flexibel. Wir benötigen natürlich  dazu auch Docker zu Vorbereitung. Falls du das   01:54
noch nicht gemacht hast, installieren wir uns das  als erstes mal. Hier unter Debian können wir das   02:00
ganz einfach machen, nämlich mit 'sudo apt install  docker.io' und wir brauchen auch noch das Docker   02:05
Compose Plugin. Also wir arbeiten hier mit Docker  Compose. Das empfehle ich euch auch immer und das   02:14
müssen wir unter Debian, das ist unter Debian  noch ein separates Programm, mit docker-compose,   02:19
nachinstallieren. Hier gebe ich jetzt mein  Passwort ein. Wir möchten das Docker Image, oder   02:25
das sind mehrere in dem Fall, in einem Userkontext  laufen lassen. Ich empfehle euch immer Docker im   02:32
Userkontext laufen zu lassen und nicht als Root.  Das ist ein bisschen komplizierter einzurichten,   02:39
aber deutlich sicherer. Dazu müsst ihr euren User  der Gruppe 'docker' hinzufügen. Das könnt ihr mit   02:44
dem 'usermod' Befehl machen 'sudo usermod  -a -G docker' und dann euren Benutzernamen,   02:51
in meinem Fall ist das der Benutzer 'tux'. Dann  müsst ihr euch einmal ab- und wieder anmelden,   03:02
damit diese Gruppenänderung aktiv wird. Und  die könnt ihr dann hier mit dem Kommando   03:07
'id' überprüfen. Da solltet ihr dann sehen, dass  ihr jetzt Mitglied in dieser Gruppe 'docker' seid.   03:12
Und wenn wir uns das hier jetzt mal anschauen,  dann will SeaFile die ganze Software in einen   03:17
Ordner '/opt/seafile' installieren. Wir können da  als normaler User natürlich nicht reinschreiben   03:23
und den auch gar nicht erstellen. Wenn ich das  jetzt hier eingeben würde 'mkdir /opt/seafile'   03:28
passiert gar nichts. Ich darf ich nicht. Ich  muss es also mit 'sudo' machen. Jetzt kann ich   03:32
aber hier immer noch nichts machen. Das heißt ich  muss jetzt die Berechtigung auf diesen Ordner eben   03:38
noch anpassen. Das mache ich erst mal mit 'chown  tux:tux' also meinem Benutzernamen, meine primäre   03:42
Gruppe die heißt jetzt in dem Fall auch 'tux' und  dann '/opt/seafile'. Also das muss ich natürlich   03:49
auch wieder als sudo ausführen, weil bisher darf  ich hier natürlich noch nichts machen. Dann mache   03:54
ich jetzt noch ein 'chmod 770 /opt/seafile' und  jetzt darf auch nur ich und meine Gruppe in diesen   03:58
Ordner rein. Ich empfehle euch jetzt noch das  sgid-Bit zu setzen. Das heißt, alle Dateien, die   04:08
in dem Ordner erstellt werden, erhalten auch immer  die gleichen Gruppenberechtigungen. Das kannst du   04:13
machen mit 'chmod g+s /opt/seafile'. Das siehst  du jetzt daran, dass hier jetzt das 's' mit in den   04:17
Gruppeneigenschaften drinsteht. Hier ist das so.  Jetzt haben wir das mal so weit vorbereitet und   04:27
können dann hier den nächsten Schritt auch schon  ausführen. 'cd /opt/seafile'. Das machen wir doch   04:33
einfach mal. Das ist ja jetzt ganz einfach. Und  hier sehen wir jetzt verschiedene Versionen. Ich   04:38
empfehle euch jetzt die neueste Version zu nehmen.  Und hier wird nichts anderes gemacht als mit 'wget   04:42
-O', das ist Output, das gibt eine Output-Datei  an, in dem Fall 'docker-compose.yaml' und dann   04:48
lädt er hier diese Datei von seafile.com herunter.  Das mache ich jetzt mal wget, wenn wget nicht   04:55
installiert ist, kannst du es einfach mit 'sudo  apt install wget' nachholen. Jetzt haben wir hier   05:03
diese 'docker-compose.yaml' Datei. Die kannst du  jetzt bearbeiten. Die können wir jetzt mal öffnen   05:08
z.B. mit 'nano docker-compose.yaml'. Und jetzt  müssen wir hier noch einiges konfigurieren. Und   05:12
zwar wird hier auch empfohlen, man müsste einiges  an Werten an die eigenen Bedürfnisse anpassen. Das   05:19
ist noch ein bisschen mehr, als hier drinsteht.  Hier steht z.B. eben das MySQL-Root-Passwort   05:25
und das DB-Root-Passwort muss entsprechend  gleich gesetzt werden. Ich sage jetzt hier   05:29
das MySQL-Root-Passwort, lösche ich das jetzt  mal, und sage jetzt mal SpaceFun2024. Und jetzt   05:34
kann man hier auch noch Verzeichnisnamen für die  Volumes angeben. Also Docker exposed die Volumes   05:43
aus dem Container in das lokale Dateisystem und  ich empfehle euch, die immer in dem Unterordner   05:48
'/opt/seafile' anzulegen, weil er würde  jetzt hier einen weiteren Ordner benötigen   05:54
'/opt/seafile-mysql/'. Und ich würde jetzt hier  einfach '/opt/seafile/db' machen. Dann haben wir   05:57
nachher alles in dem Ordner '/opt/seafile'  drin und die Berechtigung passen auch schon,   06:04
weil wir die ja vorhin gesetzt haben. Das ist  also hier alles so weit in Ordnung. Hier sagt er,   06:08
welches Image man nutzen will. Wir möchten das  ganze auch noch mit SSL absichern. Das müssen   06:13
wir jetzt hier dann entsprechend auskommentieren.  Achtung, das ist YAML. Das will immer ganz genau   06:18
formatiert werden. Ich habe jetzt hier die  Raute weggemacht. Wenn ich das jetzt so lasse,   06:22
dann schmeißt das Ding Fehler. Ich muss  hier also wieder ein Space einfügen,   06:26
damit das schön hier untereinander steht.  Hier haben wir jetzt noch was, und zwar   06:29
den Datenpfad. Also SeaFile hat natürlich einmal  eine Datenbank, aber auch ein Datenverzeichnis,   06:34
wo die eigentlichen Daten liegen. Und das würde  ich jetzt auch in den Ordner '/opt/seafile' legen   06:41
und ich würde jetzt hier sagen, '/opt/seafile'  und dann nicht '/opt/seafile-data', sondern   06:46
'/opt/seafile/data'. Also er macht jetzt  hier ein Unterverzeichnis in '/opt/seafile'   06:52
mit dem Namen 'data'. Wir haben hier oben ein  Verzeichnis '/opt/seafile/db' und hier unten ein   06:56
Verzeichnis '/opt/seafile/data'. Jetzt haben  wir hier noch mal das Passwort. Das muss dem   07:01
entsprechen, was hier oben drinsteht.  Nämlich hier in dem Fall SpaceFun2024,   07:07
geben wir hier noch mal an SpaceFun2024. Das  habe ich jetzt gemacht und jetzt könnte ich hier   07:12
noch eine Zeitzone wählen. Wir haben jetzt hier  Etc/UTC voreingestellt. Ich mache jetzt hier mal 07:18
'Europe/Zurich'. Ihr könnt aber auch natürlich  'Europe/Berlin eintragen, was ihr wollt. Jetzt   07:23
müsst ihr hier eine Admin E-Mail-Adresse  angeben. Mit der könnt ihr euch nachher auch   07:31
an der Weboberfläche anmelden. Ich gebe jetzt  hier mal meine Admin E-Mail-Adresse an nämlich 07:35
astronaut@spacefun.ch und muss jetzt hier  noch ein Passwort für die Anmeldung am   07:41
SeaFile-Server angeben. Und da könnt  jetzt irgendein Passwort angeben,   07:51
was für euch jetzt halt passt. Ich mache jetzt  hier auch mal SpaceFun und damit kann ich mich   07:57
dann anmelden. So und hier kann ich jetzt  noch mal 'SEAFILE_SERVER_LETSENCRYPT'. Ja,   08:02
das wollen wir ja. Er soll ja dann Zertifikat  beziehen. Ich sage jetzt hier also 'true'. Da   08:07
muss natürlich dann der entsprechende Port aus dem  Internet geöffnet sein und der Hostname, den ich   08:13
hier angebe, auch irgendwie auf deine IP-Adresse  zeigen. Ich mache das mit DynDNS. Ich habe hier   08:20
in meinem Router DynDNS eingetragen und dort kann  ich das dann halt hier entsprechend einstellen.   08:25
Die Sitzung ist jetzt abgelaufen. Ich habe jetzt  einfach eine DynDNS-Adresse und die heißt bei mir 08:32
tuxwiz.mooo.com und das reicht eigentlich schon  mit der Konfiguration. Ich kann jetzt hier 'Ctrl'   08:36
oder 'Strg + O', sagen zum Speichern und, 'Ctrl  + X' und ich bin damit dann eigentlich schon   08:49
fertig. Und jetzt kann ich mit Docker Compose  das Ganze auch hochziehen. Dazu kann ich jetzt   08:54
entweder 'docker-compose', also bei Debian ist  es 'docker-compose', bei Docker, wenn du es aus   09:01
dem Docker Repository installierst, ist das  Compose ein Plugin von Docker. Dann heißt es   09:06
'docker compose'. Sonst ist es gleich. Und jetzt  kann ich sagen 'docker-compose up' und ich könnte   09:11
jetzt sagen einfach nur 'up' und dann bleibt es  im Vordergrund. Wenn ich es permanent gestartet   09:17
haben will im Hintergrund, dann sage ich '-d'. Ich  sage jetzt aber im Moment einfach mal 'up'. Dann   09:21
sehen wir genau die Meldungen, die durchlaufen.  Ich sage hier Enter und jetzt werden die Images   09:25
entsprechend vom Docker Hub heruntergeladen und  wir brauchen natürlich einmal eine Datenbank und   09:33
dann natürlich den eigentlichen Server, der  dann natürlich auch erreichbar sein soll. Und   09:39
das lädt jetzt hier runter und fängt dann gleich  mit dem Deployment von dieser Software an. Wir   09:45
müssen dann nachher auch noch einen Client  installieren. Dazu habe ich noch eine zweite   09:51
virtuelle Maschine vorbereitet, mit SpaceFun. Das  können wir gleich mal machen. In Debian ist der   09:55
Client schon enthalten. Das können wir einfach  aus dem Debian-Repository installieren und jetzt   10:00
holt er hier noch den Memcached. Das ist noch so  ein cashing-Daemon der Dinge zwischenspeichert,   10:05
also Webaufrufe zwischenspeichert. Es macht das  Ganze natürlich noch ein bisschen schneller, weil   10:10
er nicht jedes Mal immer wieder neu anfragen muss.  Und hier wird jetzt tatsächlich schon SeaFile in   10:15
der Version, die wir angegeben haben, nämlich  11.0, und zwar latest, heruntergeladen und dann   10:22
entsprechend deployed. Die Anwendung ist dann  nachher über meine DynDNS-Domain erreichbar,   10:28
die ich angegeben habe. Also tuxwiz.mooo.com  in meinem Fall. Das musst du natürlich an deine   10:34
Bedürfnisse anpassen. Und dann ist das natürlich  dann auch direkt schon erreichbar. Im Hintergrund   10:39
könnten wir jetzt parallel schon mal den Client  installieren. Das können wir mal schauen. Ich   10:45
schalte mal hier um auf SpaceFun und sag jetzt  hier mal 'sudo upt install seafile-client' und   10:49
dann gibt's da verschiedene Varianten. Ich  habe mal Tab Tab gedrückt. Dann sehe ich   10:57
die. Und zwar z.B. seafile-cli. Das ist der  Kommandozeilen-Client, der Daemon, den du   11:00
brauchst, und die GUI. Wir wählen jetzt mal hier  die GUI-Variante. Hier muss ich natürlich jetzt   11:05
mein Passwort eingeben. Da sage ich jetzt hier  Ok. Hier hatte ich das vorher schon installiert.   11:09
Ich beende das noch mal und damit ist eigentlich  der SeaFile-Client auch schon installiert und du   11:15
findest den dann hier im Menü. Ich kann mal danach  suchen und hier den SeaFile-Client dann auch schon   11:21
starten. Das schauen wir uns gleich dann an, wie  die Einrichtung dann hier erfolgt. Jetzt schauen   11:28
wir aber erst mal, ob er in der Zwischenzeit hier  schon weitergekommen ist. Er arbeitet jetzt hier   11:32
noch. Er muss natürlich die ganzen Sachen hier  noch herunterladen, bevor er das Ganze dann auch   11:37
entsprechend ausrollen kann. Wir schauen uns  parallel vielleicht noch mal ganz kurz im Router   11:42
an wie ich das DynDNS eingerichtet habe. Ich muss  mich jetzt hier noch mal neu anmelden. Ich hoffe   11:47
das gelingt mir hier. Ja. Und dann sage ich jetzt  hier Netzwerk-Einstellungen. Das ist natürlich je   11:55
nach Router immer unterschiedlich. Ich habe jetzt  hier so ein Zyxel Router der von meinem Provider   12:02
umgebranded wurde. Aber bei einer Fritzbox ist das  z.B. ganz ähnlich. Und zwar habe ich jetzt hier so   12:07
einen Punkt DynamicDNS. Ich habe jetzt hier meine  DynDNS-Adresse bei freedns.afraid.org registriert.   12:13
Das ist kostenlos. Es ist ein bisschen altmodisch,  klappt aber gut und es ist sehr zuverlässig.   12:19
Und da seht ihr auch die DynDNS-Adresse  tuxwiz.mooo.com. Je nachdem werden hier   12:24
unterschiedliche Anbieter halt auch vorgeschlagen.  Wählt euch da einen aus und registriert euch so   12:29
eine DynDNS-Adresse. Dann seid ihr auch immer  unter diesem Namen erreichbar. Also hier hat er   12:35
jetzt schon was gemacht. Ich kann jetzt mal  schauen, ob das schon erreichbar ist unter 12:39
tuxwiz.mooo.com und jetzt sehe ich tatsächlich  auch schon hier meine SeaFile-Oberfläche. Hier   12:44
kann ich mich jetzt mit astronaut@spacefun.ch  anmelden. Das ist der Benutzer, der Admin Account,   12:53
den ich zuvor in der Docker Compose Datei  angegeben habe. Hier kann ich jetzt noch mein   12:58
Passwort eingeben. Auch das hatte ich ja vorher  angegeben und jetzt sehe ich hier schon meine   13:03
SeaFile-Oberfläche über meine eigene Domain.  Da sage ich hier jetzt mal 'Neue Bibliothek',   13:08
sage jetzt mal 'Test' und könnte jetzt  hier tatsächlich auch schon eigene Dateien   13:14
hochladen. Ich sage jetzt hier mal 'Hochladen',  lade jetzt hier mal ein Bildchen hoch und das   13:20
wurde jetzt hier auch schon gemacht. Und ich  kann das dann hier in der Weboberfläche sehen.   13:25
Nach einiger Zeit sollte dann auch das Let's  Enrypt-Zertifikat verfügbar sein. Dann ist der   13:30
Zugriff hier auch gesichert und das Schloss  sollte ohne das entsprechende Ausrufezeichen   13:35
dargestellt werden. Das kann ein bisschen  dauern, bis dieses Zertifikat bezogen ist.   13:39
Und jetzt schauen wir doch noch mal auf die  SpaceFun Installation. Denn hier haben wir   13:44
jetzt schon auch den Client installiert und  gucken mal, ob das auch funktionieren würde. 13:48
tuxwiz.mooo.com. Und hier kann ich dann  natürlich auch neue User anlegen in der   13:53
Oberfläche von dem SeaFile. Aber  ich kann mich jetzt hier auch mal   14:01
mit meinem Admin User anmelden. Das wäre  astronut@spacefun.ch mit dem entsprechenden   14:05
Passwort, was ich in der Compose-Datei  vergeben habe. Und ich kann jetzt hier   14:14
noch einen Computernamen festlegen.  Da muss ich noch ein https davor 14:17
machen. Und ich könnte jetzt hier sagen,  und da sehe ich jetzt auch schon meine   14:22
Bibliothek, und z.B. dieses Testfile,  diese Testbibliothek mit dem Bild,   14:29
was ich da vorhin hochgeladen habe. Und  ich kann das jetzt hier auf meinem zweiten   14:35
Rechner auch schon nutzen und darauf zugreifen  und eigene Dateien hochladen. Ihr seht also,   14:38
so eine SeaFile Instanz selbst zu betreiben ist  gar nicht so schwer. Traut euch das. Versucht es   14:43
zu installieren. Probiert es mal aus. Wenn ihr  da nicht weiterkommt, dann wendet euch bitte an   14:49
unsere Telegram-Community. Dort helfen wir euch  garantiert weiter und du kannst natürlich auch   14:54
Fragen in den Kommentaren stellen. Es ist aber  wirklich interaktiver, wenn du bei uns in die   14:59
Community kommst. Denn dort sind ganz viele Leute,  die sich damit auskennen und da hilft dir sicher   15:04
jemand. Also ich freue mich auf dein Feedback  viel Spaß beim Ausprobieren. Und bis bald. Tschüss 15:10
Hello shooting star counters. In this video I would like 00:01
to introduce you to the cloud solution SeaFile in more detail and explain how you 00:07
can run it on your own network. SeaFile is a client- and server-based solution. We therefore need a client and 00:12
also a server component. This server component can run either directly at home on a 00:19
small server, but also on the internet on a rented VPS, for example, or a root server - 00:24
it is entirely up to you. If you want to run the solution at home, 00:31
please remember to set up the appropriate port forwarding for HTTP and HTTPS in your router 00:36
. To do this, you must specify the IP address of your local server. I have 00:42
the whole thing running on a VM here, namely a VM with TuxWiz Mini, my Linux distribution, and 00:49
the IP here is 192 168 1. 175. Here I am forwarding port 80 and port 443, HTTP and HTTPS, 00:55
to this IP address that I have here in the LAN. If you don't know it, you can check it as usual 01:07
with the command 'ip a s' and it will then show you the IP address of 01:13
your LAN interface. You can see it here. We would like to run SeaFile in Docker 01:19
because that is the recommended method. If you go to https://seafile.com, for example, and 01:26
then click on the Download section, you can scroll down a bit and 01:31
then you will see 'Server for generic Linux' in the lower section. There you will find the server manual. 01:36
Please click on it. There are two different operating modes here: in Docker or 01:43
with the installation script. We are using the Docker version here because it gives us 01:49
a lot of flexibility. Of course, we also need Docker for preparation. If you 01:54
haven't already, let's install it first. Here under Debian we can 02:00
do this very easily with 'sudo apt install docker.io' and we also need the Docker 02:05
Compose plugin. So we are working with Docker Compose here. I always recommend this, and 02:14
we have to install it under Debian – it's a separate program under Debian, using docker-compose 02:19
. I'll enter my password here. We want 02:25
to run the Docker image, or several in this case, in a user context. I always recommend 02:32
running Docker in the user context and not as root. It's a bit more complicated to set up, 02:39
but much more secure. To do this, you have to add your user to the 'docker' group. You can 02:44
do this with the 'usermod' command 'sudo usermod -a -G docker' and then your username, 02:51
in my case the user 'tux'. You then have to log out and log back in 03:02
for this group change to take effect. You can check this here with the 03:07
'id' command. You should then see that you are now a member of the 'docker' group. 03:12
And if we take a look here, SeaFile wants to install all the software in a 03:17
folder '/opt/seafile'. Of course, as a normal user we can't write into it 03:23
, or even create it. If I were to type 'mkdir /opt/seafile' here, 03:28
nothing would happen. I'm not allowed to. So I have to do it with 'sudo'. 03:32
But now I still can't do anything here. That means I have 03:38
to adjust the permissions for this folder. First I do that with 'chown tux:tux', i.e. my user name, my primary 03:42
group, which in this case is also called 'tux', and then '/opt/seafile'. So I have to 03:49
run this as sudo again, of course, because up to now I'm not allowed to do anything here. Then 03:54
I do 'chmod 770 /opt/seafile' and now only I and my group are allowed 03:58
to access this folder. I recommend setting the sgid bit. This means that all files 04:08
created in the folder always receive the same group permissions. You can 04:13
do this with 'chmod g+s /opt/seafile'. You can see this now because the 's' 04:17
is included in the group properties. Here it is. Now we have prepared this so far and 04:27
We can then carry out the next step here: 'cd /opt/seafile'. Let's 04:33
just do that. It's really easy now. And here we see different versions. I 04:38
recommend you use the latest version. And all that is done here is 'wget 04:42
-O'. That is output. That specifies an output file, in this case 'docker-compose.yaml', and then 04:48
it downloads this file from seafile.com. I'm going to do that with wget. If wget 04:55
isn't installed, you can simply do it with 'sudo apt install wget'. Now we have 05:03
this 'docker-compose.yaml' file. You can edit it now. We can open it, 05:08
for example, with 'nano docker-compose.yaml'. And now we have to configure a few things here. It 05:12
is recommended that you adjust some values ​​to suit your own needs. There 05:19
is a bit more to it than what is written here. For example, the MySQL root password is listed here 05:25
, and the DB root password must be set accordingly. If I say 05:29
the MySQL root password here, I'll delete that and say SpaceFun2024. And now 05:34
you can also specify directory names for the volumes. Docker exposes the volumes 05:43
from the container to the local file system, and I recommend always creating them in the '/opt/seafile' subfolder 05:48
, because it would now need another folder, 05:54
'/opt/seafile-mysql/'. And I would simply do '/opt/seafile/db' here. Then we'll have 05:57
everything in the '/opt/seafile' folder afterwards, and the permissions will already be correct, 06:04
because we set them earlier. So everything is fine here. Here it says 06:08
which image we want to use. We also want to secure the whole thing with SSL. 06:13
We then have to comment this out accordingly. Warning: this is YAML. This always needs to be formatted very precisely 06:18
. I've removed the hash mark here. If I leave it like this, 06:22
it will throw errors. So I need to add a space here again 06:26
so that everything lines up neatly. Here we have something else: 06:29
the data path. So SeaFile naturally has a database, but also a data directory 06:34
where the actual data is located. And I would put that in the '/opt/seafile' folder 06:41
, and I would say '/opt/seafile' and not '/opt/seafile-data', but 06:46
'/opt/seafile/data'. So it creates a subdirectory in '/opt/seafile' 06:52
called 'data'. We have a directory '/opt/seafile/db' up here and a 06:56
directory '/opt/seafile/data' down here. Now we have the password again. It has to 07:01
match what's in it up here. In this case, SpaceFun2024, 07:07
we enter SpaceFun2024 again. I've done that now, and now I can 07:12
select a time zone here. We have Etc/UTC preset here. I'll enter 'Europe/Zurich' here 07:18
. But you can of course also enter 'Europe/Berlin', whatever you like. Now 07:23
you need to enter an admin email address here. You can use this 07:31
to log in to the web interface later. I'm going to enter my admin email address here, namely 07:35
astronaut@spacefun.ch, and now I need to enter a password for logging into the 07:41
SeaFile server. You can enter any password 07:51
that suits you. I'm also going to enter SpaceFun here, and I can 07:57
then log in with that. And here I can enter 'SEAFILE_SERVER_LETSENCRYPT' again. Yes, 08:02
that's what we want. It should then obtain a certificate. So I'll say 'true' here. Of 08:07
course, the corresponding port must be open from the Internet, and the hostname I 08:13
specify here must somehow point to your IP address. I'm doing this with DynDNS. I've 08:20
entered DynDNS into my router, and I can then configure it accordingly. 08:25
The session has now expired. I now simply have a DynDNS address, which in my case is 08:32
tuxwiz.mooo.com, and that's basically enough configuration. I can now press 'Ctrl' here. 08:36
or 'Ctrl + O' to save and 'Ctrl + X' and then I'm basically 08:49
done. And now I can pull the whole thing up with Docker Compose. To do this, I can 08:54
either use 'docker-compose'. In Debian it's 'docker-compose', with Docker, if you 09:01
install it from the Docker repository, Compose is a Docker plugin. Then it's called 09:06
'docker compose'. Otherwise it's the same. And now I can say 'docker-compose up' and I could 09:11
just say 'up' and then it stays in the foreground. If I 09:17
want it to be permanently running in the background, then I say '-d'. But for now I'll just say 'up'. Then 09:21
we see exactly the messages that run through. I say Enter here and now the images are 09:25
downloaded from the Docker Hub. Of course we need a database and 09:33
then the actual server, which of course also needs to be accessible. And 09:39
it's now downloading here and will then start deploying this software right away. We 09:45
'll also need to install a client later. I've 09:51
prepared a second virtual machine for this, with SpaceFun. We can do that right away. The 09:55
client is already included in Debian. We can simply install it from the Debian repository, and now 10:00
it fetches Memcached. This is another caching daemon that caches things, 10:05
i.e., caches web requests. This makes the whole thing a bit faster, of course, because 10:10
it doesn't have to make a new request every time. And here, SeaFile in 10:15
the version we specified, namely 11.0, the latest, is actually being downloaded and then 10:22
deployed accordingly. The application will then be accessible via my DynDNS domain, 10:28
which I specified. So, tuxwiz.mooo.com in my case. You'll need 10:34
to adapt this to your needs, of course. And then it will be accessible straight away. 10:39
We could now install the client in the background in parallel. We can take a look at that. I 10:45
'll switch to SpaceFun here and say 'sudo upt install seafile-client' and 10:49
then there are different variants. I pressed Tab Tab. Then I see 10:57
them. For example, seafile-cli. That's the command line client, the daemon you 11:00
need, and the GUI. We'll choose the GUI variant here. Of course, I have to enter my password here 11:05
. I'll say OK here. I had already installed this before. 11:09
I'll close it again and the SeaFile client is now installed and you 11:15
'll find it here in the menu. I can search for it and then start the SeaFile client here 11:21
. We'll take a look at how the setup works here in a moment. 11:28
But first let's see if it's made any progress here in the meantime. It's still working here 11:32
. Of course, it still has to download all the stuff before it can roll it 11:37
out. At the same time, we'll perhaps take a quick look 11:42
at how I set up DynDNS on the router. I need to log in again now. I hope 11:47
I can do that here. Yes. And then I'll say network settings here. Of course, this 11:55
varies depending on the router. I have a Zyxel router here that 12:02
was rebranded by my provider. But with a Fritzbox, for example, it's very similar. I now have 12:07
a DynamicDNS point here. I have now registered my DynDNS address at freedns.afraid.org. 12:13
It's free. It's a bit old-fashioned, but it works well and is very reliable. 12:19
And there you'll also see the DynDNS address tuxwiz.mooo.com. 12:24
Different providers will be suggested depending on the situation. Choose one and register 12:29
a DynDNS address. Then you can always be reached under this name. So he's 12:35
already done something here. I can now check whether it's already accessible at 12:39
tuxwiz.mooo.com, and now I can actually see my SeaFile interface. 12:44
I can now log in with astronaut@spacefun.ch. This is the user, the admin account. 12:53
which I previously specified in the Docker Compose file. I can now 12:58
enter my password here. I also specified that previously, and now I can see my 13:03
SeaFile interface via my own domain. I now say 'New Library', 13:08
now say 'Test', and can now actually 13:14
upload my own files here. I now say 'Upload', now upload an image here, and that 13:20
has already been done here. And I can then see it here in the web interface. 13:25
After a while, the Let's Encrypt certificate should also be available. Then access is 13:30
also secured here, and the lock should be displayed without the corresponding exclamation mark 13:35
. It may take a while until this certificate is obtained. 13:39
And now let's take another look at the SpaceFun installation. Because we've 13:44
already installed the client here, let's see if that works. 13:48
tuxwiz.mooo.com. And here I can, of course, also create new users in the 13:53
SeaFile interface. But I can now 14:01
log in here with my admin user. That would be astronut@spacefun.ch with the corresponding 14:05
password that I assigned in the compose file. And I can now 14:14
specify a computer name here. I still have to 14:17
put an https in front of it. And I could now say here, and there I can already see my 14:22
library, and for example this test file, this test library with the image 14:29
that I uploaded earlier. And I can now 14:35
use it on my second computer and access it and upload my own files. So you see, 14:38
running a SeaFile instance yourself isn't that difficult. Go for it. Try 14:43
installing it. Give it a try. If you get stuck, please contact 14:49
our Telegram community. We're sure to help you there, and of course you can also 14:54
ask questions in the comments. But it's much more interactive if you join our 14:59
community. There are lots of people there who know about it, and someone is sure to help you 15:04
. So, I'm looking forward to your feedback. Have fun trying it out. And see you soon. Bye. 15:10

Mit Seafile kannst du dir ganz einfach deinen eigenen Cloudserver aufsetzen und betreiben – komplett unter deiner Kontrolle und ohne zentrale Anbieter. Die Einrichtung läuft dabei besonders flexibel und sicher über Docker ab. Egal, ob du einen kleinen Server zu Hause, eine virtuelle Maschine oder einen gemieteten Server im Internet nutzt: Seafile lässt sich überall betreiben. Wichtig ist nur, dass du im Heimnetzwerk die passenden Portweiterleitungen für HTTP und HTTPS in deinem Router einrichtest, damit der Server auch von außen erreichbar ist.

Die Installation erfolgt am besten im User-Kontext, nicht als Root, was für zusätzliche Sicherheit sorgt. Dafür fügst du deinen Benutzer der Docker-Gruppe hinzu und passt die Rechte für das Installationsverzeichnis an. Seafile wird dann mit Docker Compose eingerichtet – die Konfiguration der docker-compose.yaml ist schnell erledigt: Du legst Datenbank-Passwörter fest, bestimmst die Speicherorte für Daten und Datenbank und kannst direkt ein Let's Encrypt Zertifikat für verschlüsselte Verbindungen aktivieren. Mit einer DynDNS-Adresse bleibt dein Server auch bei wechselnder IP immer erreichbar.

Nach dem Starten der Container über Docker Compose erreichst du die Seafile-Weboberfläche über deine eigene Domain. Dort meldest du dich mit deiner Admin-Mailadresse und dem gewählten Passwort an. Jetzt kannst du direkt loslegen: Daten hochladen, Ordner anlegen und mit anderen teilen. Mit dem Seafile-Client, den du auf allen gängigen Betriebssystemen installieren kannst, synchronisierst du deine Dateien bequem zwischen PC, Laptop und Smartphone – ganz ohne Umwege.

Seafile bietet dir eine schnelle, zuverlässige und sichere Lösung für deine eigene Cloud. Du behältst die volle Kontrolle über deine Daten, kannst flexibel Benutzer anlegen und Zugriffsrechte vergeben und bist nicht auf externe Anbieter angewiesen. Ideal für alle, die Wert auf Datenschutz, Flexibilität und Unabhängigkeit legen!

Navigation

Video Player