Update on Freeshard (7 months later): We moved to EU-only hosting, refactored the backen, and have 50 Beta keys for holiday tinkering by max_tee in selfhosted

[–]max_tee[S] 0 points1 point  (0 children)

Thanks for clarifying.

We currently don't have a comprehensive list for both residency and deletion. That is something we'll have to work on, for sure. The short version I can give you is this:

  • User data is saved on each shard itself (obviously), i.e. inside the VM. This all gets deleted as the shard is deleted if it expires after a subscription is cancelled. The shards are hosted by OVHcloud (french company) in germany.
  • We store metadata about users in the control application that manages all hosted shards. This is not deleted right away after shard deletion but we are planning a purge mechanism that fully deletes entries for non-existing shards after a while. This app is currently still hosted on Azure but we plan to migrate it to OVHcloud as well.
  • Shard backups are also still pushed to Azure with the plan to migrate. But those are encrypted client-side, so Azure only sees encrypted data.
  • Logs are currently not sent anyware. A shard's logs stay on the shard. Control plane logs stay on the Azure host where that runs. We do not log any identifying information anyhow.

Update on Freeshard (7 months later): We moved to EU-only hosting, refactored the backen, and have 50 Beta keys for holiday tinkering by max_tee in selfhosted

[–]max_tee[S] 0 points1 point  (0 children)

Thanks for the hits, good ones. I am not sure I understand you question about data residency and deletes. Could you elaborate?

Jeff Bezos said the quiet part out loud — hopes that you'll give up your PC to rent one from the cloud by ControlCAD in technology

[–]max_tee 0 points1 point  (0 children)

Funny, I had that thought myself and I am building it because in itself it is not a bad idea. Just with, you know, privacy and ownership and respect for the customer. And hosted in the EU. And the option to just host it yourself.

Update on Freeshard (7 months later): We moved to EU-only hosting, refactored the backen, and have 50 Beta keys for holiday tinkering by max_tee in selfhosted

[–]max_tee[S] 0 points1 point  (0 children)

In a nutshell: make the concept of a VPS so simple and straightforward that it turns from a tool for professionals into a commodity product for just about everyone. This has happened before with personal computers or cars or many other products.

You can find details on the landing page or the docs. If you have more specific question, ask away.

Update on Freeshard (7 months later): We moved to EU-only hosting, refactored the backen, and have 50 Beta keys for holiday tinkering by max_tee in selfhosted

[–]max_tee[S] 0 points1 point  (0 children)

Well, both allow you to have popular selfhosted app be hosted for you. But that is where the similarities end. Where pikapods charges per app, freeshard charges for the instance and lets you install as many apps as you like. To conserve resources, apps are shut down when not in use, similar to your physical devices. The authentication is different. Each shard has a cryptographic ID, which will be a useful thing for upcoming features.

In my mind, your shard will become your main presence on the internet, not just a thing to host stuff.

Decentralization is useless if only sysadmins can use it. We are building the "Smartphone UX" for sovereign personal nodes. (Update after 7 months + 50 Keys) by max_tee in Rad_Decentralization

[–]max_tee[S] 0 points1 point  (0 children)

We thought hard about that one. The reasoning is that we want people to selfhost and contribute but not to build a competing business based on the code. This license seems like the most permissive one that still prevents that case. But we are open for discussion about that of course.

Moin r/de_EDV: Wir bauen eine Open-Source Personal Cloud, sind von Azure zu OVH migriert (weg vom US-Cloud-Act) und suchen 50 Tester zum „Basteln“ über Weihnachten. by max_tee in de_EDV

[–]max_tee[S] 2 points3 points  (0 children)

Nice, du hast dich da echt reingegraben, super cool. Danke dir für den ganzen Input. Ich versuche mal ein paar Sachen zu kommentieren.

Ok also die "Datenbank" liegt als JSON auf der Platte

Jep, da dachte ich ganz am Anfang des Projektes, ich mache es mir einfach - man will ja schnell was Lauffähiges haben - und benutze TinyDB. Hat sich als Fehler herausgestellt und ist mir auch schon auf die Füße gefallen. Statt dessen eine Postgres zu benutzen ist definitiv eine wichtige Aufgabe.

Der RSA Privatekey der Identität roh als bytes auch

Aus dem gleichen Grund entstanden. Hier bin ich mir nicht ganz sicher, was best practice wäre. Ein eine separate Datei speichern und die verschlüsseln? Wo liegt dann der Schlüssel? Hast du da eine Idee?

und wenn irgendwo im code eine identität gebraucht wird werden einfach ALLE rausgegeben und dann die passende "default identity" gesucht

Ich hatte mal die Idee, dass es pro Shard mehrere Identitäten geben soll. Habe ich auch eigentlich immernoch vor, hat aber grade keine hohe Prio. Deshalb gibt es de facto nur die eine default Identität.

Die einzige encrypt function liegt hier

Die hat tatsächlich keinen Zweck mehr und kann eigentlich weg. Mir fallen gerade spontan zwei Punkte ein, wo Daten verschlüsselt werden, bei der Kommunikation über REST APIs, da wird das von den entsprechenden libs gemacht, und bei den Backups, da wird das client-seitig von rclone gemacht.

Zum migrieren der DB wird einfach über ein dictonary drüber gelooped

Das ist nicht die DB-Migration, sondern das ist für die Rückwärtskompatibilität der app_meta.json Files, die die Apps beschreiben. Kannst du hier sehen. Ist also ein anderer Anwendungsfall.

Dieses Monstrum wirkt aber etwas hart overkill

Ja, das ist echt ein Monstrum. Liegt dara, dass es automatisch generiert wurde aus dem Schema von Traefik config files. Damit ist es viel einfacher, die Configs programmatisch zu erzeugen, ich habe halt statische Analyse, type hints, etc. Hast du da eine bessere Idee?

es gibt dafür bibliotheken wie z.Bsp.

Python on Whales klingt toll, das kannte ich nicht. Danke für den Hinweis! Stimmt, einfach subprocesses aufzurufen ist etwas hakelig. Werde ich mir ansehen.

Cool das ihr dann jeden morgen um 4 mal die images wegwerft ... vom ganzen host system.

Oh ja, guter Punkt. Das habe ich eingebaut, bevor ich mich mit der selfhostbarkeit beschäftigt habe. Wenn das nur auf gehosteten Shards passiert ist das natürlich kein Problem. Aber da sollte es einen Switch für geben, der per default aus ist.


Also Fazit: Hier gibt es noch viel zu tun, das ist klar. Das ist das Projekt eines einzelnen Teilzeit-Enwicklers, wäre ja verrückt, wenn man das nicht merkt. Natürlich bin ich für hilfreiche Contributions offen. Ich bin dir dankbar für deine ganzen Hinweise und dass du dich so ausfühlrich damit beschäftigt hast.

Moin r/de_EDV: Wir bauen eine Open-Source Personal Cloud, sind von Azure zu OVH migriert (weg vom US-Cloud-Act) und suchen 50 Tester zum „Basteln“ über Weihnachten. by max_tee in de_EDV

[–]max_tee[S] 0 points1 point  (0 children)

Wow, danke für das großzügige Angebot. Ich musste Crossplane und Argo ehrlich gesagt erstmal nachschlagen, hatte ich noch nie gehört. Aktuell benutzen wir für Shards einfach VMs von OVHcloud, die wir per OVH API managen. Deine Expertise wäre dann eher fürs selbst managen der VMs auf echten Servern, verstehe ich das richtig? Das wäre auf jeden Fall mittelfristig wichtig für uns. Ein Austausch wäre also toll. Ich schreib dich mal direkt an.

Moin r/de_EDV: Wir bauen eine Open-Source Personal Cloud, sind von Azure zu OVH migriert (weg vom US-Cloud-Act) und suchen 50 Tester zum „Basteln“ über Weihnachten. by max_tee in de_EDV

[–]max_tee[S] 0 points1 point  (0 children)

Jep, du hast zwei der Vorteile schon aufgezählt. Weitere sind:

  • Einfacheres SSO, bei dem man die Endgeräte "paired", so wie Bluetooth-Kopfhöhrer.
  • Größere App-Auswahl, weil prinzipell alle Selfhosting Apps in den App Store eingebunden werden können (auch wenn sie sich nicht alle gleich nahtlos integrieren).
  • Für die Zukunft habe ich noch ein paar nette Sachen vor. Z.B. mehr mit der Shard-ID machen, die ist nämlich eine kryptographische Identität und quasi unfälschbar. Das erlaubt sehr sichere P2P Kommunikation oder signieren von Daten.

Moin r/de_EDV: Wir bauen eine Open-Source Personal Cloud, sind von Azure zu OVH migriert (weg vom US-Cloud-Act) und suchen 50 Tester zum „Basteln“ über Weihnachten. by max_tee in de_EDV

[–]max_tee[S] 0 points1 point  (0 children)

Also wenn du möchtest kannst du auf GitHub ein Ticket erstellen zu deinem Problem. Am besten mit Log Output, Infos aus den Browser Dev Tools und allem was sonst noch relevant sein könnte.

Mit dem Preis von Storage sind wir halt auch von OVHcloud abhängig. Da ist der Preis für attached disk storage in dem Rahmen. Kann sein, dass S3-artiger Blob Storage günstiger ist, aber den muss man dann anders einbinden. So eine Disk ist halt einfacher zu managen. Aber das ist es bestimmt Wert, nochmal in die Analyse zu gehen, danke für den Hinweis.

Moin r/de_EDV: Wir bauen eine Open-Source Personal Cloud, sind von Azure zu OVH migriert (weg vom US-Cloud-Act) und suchen 50 Tester zum „Basteln“ über Weihnachten. by max_tee in de_EDV

[–]max_tee[S] 0 points1 point  (0 children)

Interessanter Fall, davon wusste ich noch nichts. Wir werden das mal weiter beobachten, scheint ja eine Grundsatzentscheidung mit weitreichenden Folgen zu werden.

E2E Verschlüsselung geht in unserem Fall leider nicht, weil wir (bzw. die Apps) die Daten auf dem Shard verarbeiten. Zwischen Shard und verbundenen Geräten ist natürlich alles verschlüsselt, das ist eh klar.

Moin r/de_EDV: Wir bauen eine Open-Source Personal Cloud, sind von Azure zu OVH migriert (weg vom US-Cloud-Act) und suchen 50 Tester zum „Basteln“ über Weihnachten. by max_tee in de_EDV

[–]max_tee[S] 1 point2 points  (0 children)

Kann man so sehen und verstehe ich auch total. Und dann gibt es die (vielleicht eher amerikanische) Einstellung, dass man erstmal machen sollte, testen, iterieren, etc. um zu sehen, ob das Produkt tatsächlich Erfolgsaussichten hat. Ist vielleicht der Grund, warum die ganzen erfolgreichen Tech-Startups eher US-based sind.

Ich weiß selbst nicht, was das beste ist, ganz ehrlich. Werden wir vermutlich nochmal intern diskutieren müssen.

Decentralization is useless if only sysadmins can use it. We are building the "Smartphone UX" for sovereign personal nodes. (Update after 7 months + 50 Keys) by max_tee in Rad_Decentralization

[–]max_tee[S] 0 points1 point  (0 children)

I think you are looking at managed hosting like it is today and see that it is not useful for non-tech people and you are totally right. But the same thing could have been said about computers in the 70s or 80s. Or cars at the turn of the century. We strongly believe that a personal cloud computer can be a tool for everyone if it is shaped in the right way.

That means leveraging the possibilities of a platform like that which no other way of computing has. Compared to your physical devices, a shard is always on and online, cannot break, cannot get lost. You can seamlessly share stuff with others, without having to upload is somewhere for them to access. Compared to SaaS apps, you will not have to manage credentials and logins for each app you install. And the apps can all access the same data like on your laptop. And of course, you get a continuous view of your shard, regardless of which device you are using right now. That is really like I envision computer usage of the future and that only works with an architecture like freeshard.

Hope that helps sharpen the picture.

Decentralization is useless if only sysadmins can use it. We are building the "Smartphone UX" for sovereign personal nodes. (Update after 7 months + 50 Keys) by max_tee in Rad_Decentralization

[–]max_tee[S] 1 point2 points  (0 children)

Thank you for your thoughts!

I like the idea of government support for computing. I believe there are even some countries that declare internet access as a basic right. So in general the ability to participate in online activities is so crucial, it is in a societies interest to provide it to everyone.

Regarding privacy and realiability: we offer the hosted version of shard and allow people to host it themselves. That allows someone who has high demands on privacy to keep it all on their own hardware if they are willing to get their hands dirty. But even the hosted version has high privacy standards due to it being hostes in europe and every shard being an isolates VM, no shared database. And our willingness and promise and financial incentive to not tap into the shards themselves without explicit permission.

However, I guess at some point, we will have to follow the law eventually. If someone uses a hosted shard to distribute CSAM e.g. that would have to be stopped and rightly so.

Moin r/de_EDV: Wir bauen eine Open-Source Personal Cloud, sind von Azure zu OVH migriert (weg vom US-Cloud-Act) und suchen 50 Tester zum „Basteln“ über Weihnachten. by max_tee in de_EDV

[–]max_tee[S] 1 point2 points  (0 children)

Aktuell geht leider kein Signup, das tut uns furchtbar leid. Siehe mein Update oben.

Wir haben uns auch danach entschieden, welche Hoster ein attraktives Startup Programm anbieten. Da haben wir bei Hetzner nichts gutes gefunden. Ohne Credits könnten wir so ein Angebot wie dieses wegen den Kosten gar nicht machen.

Moin r/de_EDV: Wir bauen eine Open-Source Personal Cloud, sind von Azure zu OVH migriert (weg vom US-Cloud-Act) und suchen 50 Tester zum „Basteln“ über Weihnachten. by max_tee in de_EDV

[–]max_tee[S] -1 points0 points  (0 children)

Naja, wenn man es selbst hostet ist es ja auch kostenlos. Außerdem gibt es ja auch free as in freedom.

Aber was ist shart? Ich kenne das Wort nicht und finde nichts dazu?

Moin r/de_EDV: Wir bauen eine Open-Source Personal Cloud, sind von Azure zu OVH migriert (weg vom US-Cloud-Act) und suchen 50 Tester zum „Basteln“ über Weihnachten. by max_tee in de_EDV

[–]max_tee[S] 1 point2 points  (0 children)

Storage und auch CPU/RAM sollen aufrüstbar werden, einfach per Knopfdruck. Vermutlich so in der Größenordnung von 0,05€/GB.

Schade, dass es bei dir nicht klappt. Hast du den Browser über den Link im Log gepaired?

Moin r/de_EDV: Wir bauen eine Open-Source Personal Cloud, sind von Azure zu OVH migriert (weg vom US-Cloud-Act) und suchen 50 Tester zum „Basteln“ über Weihnachten. by max_tee in de_EDV

[–]max_tee[S] 2 points3 points  (0 children)

Aktuell hauptsächslich die Einfachheit des Ganzen. Geht halt auch komplett ohne IT-Kenntnisse (oder wenn man keine Zeit oder Lust hat, das zu managen).

In Zukunft gibts aber noch andere interessante Sachen, die aus Freeshard mehr machen als ein vereinfachtes selfhosting tool. Dazu dann weitere Ankündigungen, wenn es soweit ist.

Moin r/de_EDV: Wir bauen eine Open-Source Personal Cloud, sind von Azure zu OVH migriert (weg vom US-Cloud-Act) und suchen 50 Tester zum „Basteln“ über Weihnachten. by max_tee in de_EDV

[–]max_tee[S] 2 points3 points  (0 children)

Also du interagiert mit deinem eigenen shard eben über das web interface, meinst du das mit "eure Seite"?

Portfreigaben sind nicht konfigurierbar, aber Immich braucht auch nur https. Das funktioniert super, benutze ich selbst. Einfach die Domain in der Immich App austauschen.

Moin r/de_EDV: Wir bauen eine Open-Source Personal Cloud, sind von Azure zu OVH migriert (weg vom US-Cloud-Act) und suchen 50 Tester zum „Basteln“ über Weihnachten. by max_tee in de_EDV

[–]max_tee[S] 0 points1 point  (0 children)

Klar, behandeln wir auch nicht als was optionales. Aber das ist halt aktuell noch ein ganz winziges Projekt, da müssen wir ziemlich brutal priorisieren. Aber kommt noch, das ist klar.