Redundancy 2 - leichtgewichtiges Cloud Computing auf dem Raspberry Pi

  • Toll, da fällt mir ein Stein von Herzen :D. Danke für dein Feedback!


    Bin gerade dabei, den Updater zu entwickeln. Wird bald releasefertig sein. Somit werden zukünftige Versionen ganz bequem aus Redundancy heraus aktualisiert.



    [hr]
    Allgemein poste ich momentan recht viele Neugikeiten über Redundancy 2 auch auf meinem Blog bzw. über meinen Twitter - Account

  • Hallo,

    gestern habe ich den Updater im Repository eingepflegt. Alle Redundancy - Versionen ab 1.9.13-beta3-2 können nun über diesen automatisch aktualisiert werden.


    Ziel des Ganzen ist natürlich, zukünftig einen einfacheren Aktualisierungsprozess zu gewährleisten.


    Der Aktualisierungsprozess läd ein Abbild des GitHub - Repositories herunter und speichert diesen in /Temp/. Anschließend werden die Inhalte des Abbildes in den Programmpfad extrahiert.
    Nicht extrahiert (und somit nicht überschrieben) werden /Storage/,/Temp,/Snapshots/, /Documents/, /Installer/ und Redundancy.conf. Letztere wird während der Aktualisierung mit neuen Variablen (falls vorhanden) befüllt. /Temp/ wird nach Beenden wieder geleert.


    Hinweis I: Bitte beachtet, falls Ihr an eurer Installation händisch Veränderungen (sprich Dateien angepasst) vorgenommen habt, das diese nicht erkannt und überschrieben werden. Sichert diese Dateien, falls notwendig.


    Hinweis II: Legt vor Aktualisierungen ein Backup an. Es kann immer ein unerwartetes Problem auftreten.


    Hinweis III: Es ist möglich, dass der Updater noch Fehler beinhaltet. Ich bitte daher um Fehlerbericht, wenn Ihr etwas finden solltet. Danke!


    Ich habe allgemeine Hinweise noch im Redundancy - Wiki auf GitHub zusammengefasst.


    Wurde der Updater getestet? Ich habe die Demoinstanz (vorher auf 1.9.12, https://redundancy.pfweb.eu/Demo/ ) mithilfe des Updaters auf die aktuelle Version gebracht. Auch habe ich meinen Pi (vorher auf 1.9.11*) und meinen NAS (vorher auf 1.9.13-git-beta3-1) mithilfe des Updaters aktualisiert.
    [hr]
    * 1.9.11 ist die älteste Version, die noch unterstützt wird. Um den Updater einzupflegen, müssen einige Daten vorher aktualisiert werden. Siehe dazu hier mehr. Version 1.9.12 verhält sich dabei ähnlich. Ich werde für alle Versionen in dieser Tabelle aufführen, ob diese noch unterstützt wird.

  • Redundancy sucht Mitstreiter!


    Redundancy wurde in den vergangenen Monaten zu einem sehr großen Projekt, das schon lange nicht mehr alleine von einer Person getragen wird. Seit einiger Zeit ist noch ein zweiter Entwickler mit beteiligt, außerdem konnte ein Übersetzer für das Projekt gewonnen werden. Um die Möglichkeit zu bieten, Redundancy zu verbessern und Aufgabenbereiche auf mehr Mithelfer verteilen zu können, suchen wir Mitstreiter.


    Was solltest Du mitbringen, um mitzuhelfen?


    Vor allem Zeit und Motivation, etwas Beisteuern zu wollen. Natürlich gibt es keine direkte Gegenleistung bei einem solchen Projekt. Es geht rein um den Spaß daran, ein solches Projekt zu realisieren (und vielleicht irgendwann eine Alternative zu etablierten Systemen zu bieten :cool: ). Natürlich musst Du nicht zwingend programmieren können. Es gibt viele Aufgaben, die auch ohne solche Kenntnisse bewältigt werden können, beispielsweise in Form einer Übersetzung oder durch das Anlegen eines Handbuchs.


    Wenn Du interessiert sein solltest, bitte an dieser Stelle (https://redundancy.pfweb.eu/dev/ ) registrieren (die Registrierung ist nur heute aktiv, danach bitte per PM bei mir melden). Ich habe deshalb ein kleines Forum selbst aufgesetzt, da eine Entwicklungs - Diskussion hier sowieso fehl am Platze ist. Bitte nach erfolgter Registrierung ein neues Thema im "Team" Forum starten und deine gewünschte Rolle im Projekt nennen. Das Forum ist von außen erst einmal nicht sichtbar und soll lediglich zu einer "internen" Diskussionsplattform für die Beteiligten genutzt werden.


    Ich möchte nur Vorschläge machen.


    Du kannst natürlich weiterhin hier mit uns in Kontakt treten und Vorschläge machen :thumbs1:.


    Warum ist diese Plattform von außen nicht lesbar?


    Es sollen z. B. neue Features oder Änderungen erst öffentlich gemacht werden, wenn diese auch von allen Entwicklern "abgenickt" und somit auch bereit sind. Wie erwähnt ist dieses Mini - Board nur eine interne Diskussionplattform für jene, die an dem Projekt mithelfen möchten.


    :danke_ATDE: für das Lesen dieser Wall of Text!


    Gruß
    Fury

  • Hallo,


    ich habe diese Woche einige kleine Fehler behoben. Auch habe ich damit begonnen, den XSS - Schutz umzukonzipieren.


    Das Update kann normal eingespielt werden, ABER:
    -> Deaktiviert die Option "Program_Enable_Banning" durch setzen auf "0" vor dem Update. Grund: Der XSS - Schutz betrachtet nun auch die aktuellen Sitzungsdaten. Da in der vorherigen Version in den Sitzungsdaten noch Template - Informationen (somit HTML - Tags) gespeichert waren, führt dies sonst zu einem Fehlalarm, mit dem Ihr euch selbst bannt. Nach dem Update einfach kurz von Redundancy ab- und wieder anmelden (wichtig, sonst sind ja immernoch die Template Daten in eurer Sitzung). Danach kann die Option wieder auf "1" gesetzt werden. Redundancy kann anschließend wieder normal verwendet werden.


    Gruß
    Fury

  • In den Vergangenen Tagen hatte ich Gelegenheit, an vielen kleinen Stellen Hand anzulegen. Ich habe vor allem mehrere Dialoge optisch überarbeitet, sodass diese besser in das Gesamtdesign von Redundancy 2 passen.


    Als kleines Beispiel hierfür, der "Suchen" Dialog:


    oben:alt/ unten:neu


    280x175


    Neben dem Suchen Dialog wurde der Dialog für das Passwort zurücksetzen, für das Anlegen neuer Ordner, für das Umbennenen, sowie der zum Passwort neu holen überarbeitet.


    Auch lässt sich Redundancy auf Mobilgeräten jetzt deutlich besser anzeigen (sowohl auf kleinen Geräten (Handys) als auch Tablets) :shy:.


    Zu guter letzt habe ich eine neue Funktion geschrieben, welche das Verwalten der Benutzerfreigaben ermöglicht. So kann man auch Freigaben, falls nicht gewünscht, ablehnen.


    300x175


    Ich hoffe, jemand antwortet mal wieder auf meinen Post hier. Es scheint mir, als wäre das Interesse stark geschwunden =(, oder täusche ich mich da?


    Übrigends: Die Demo - Instanz ist immer auf dem neusten Stand (durch den Updater). Ihr könnt da mit den Anmeldedaten demo und demo123 gerne euch ein Bild der neusten Änderungen machen ;).


    :danke_ATDE:


    Gruß
    Fury

  • Hallo zusammen,


    ich möchte hier an dieser Stelle einmal ausführlich über den aktuellen Stand von Redundancy berichten:


    Ihr habt ja bestimmt gemerkt, dass das letzte wirklich große Update schon sehr weit zurück liegt. Das hat primär private Gründe, ich (bzw. inzwischen eher wir) aktuell einfach nicht dazu, wirklich viel Zeit in Redundancy zu investieren. Ich hoffe, dass sich dieses Problem jedoch in naher Zukunft lösen wird, wodurch ich wieder mehr Zeit dafür haben werde, an Redundancy zu arbeiten. Und nun zur erfreulichen Neuigkeit: Redundancy (oder kurz R2) wird überholt. Komplett. Das beinhaltet eine neue Basis und eine neue, flottere Oberfläche. Insgesamt ist dafür folgendes geplant:


    • Ein schnellere, reaktivere Benutzeroberfläche, implementiert in JavaScript und Angular.JS
    • Eine überarbeitete Benutzeroberfläche
    • Eine neue und aufgeräumte Systemarchitektur, die eine robustere Version des virtuellen Dateisystems mitbringen wird
    • Support für andere Datenbanken wie PostgreSQL, SQLite, MS – SQL usw..
    • Fachchinesisch: Professionelleres Umfeld mit automatisierten Komponententests!


    Der letzte Punkt ist vor allem von qualitativer Relevanz. Ich will durch das Testen ermöglichen, die Qualität der Software (und des darin enthaltenen Dateisystems) endgültig feststellen zu können.


    In Folge der Überholung wird Redundancy neu strukturiert werden. Ich habe an dieser Stelle mal eine kleine Infografik eingebettet, die kurz die neue Architektur darstellen soll



    Ich pflege weiterhin den aktuell auf GitHub liegenden Zweig. Somit kann jeder weiterhin Redundancy benutzen und dann später auf die neue Version wechseln.


    Ganz wichtig: Momentan ist nur festgelegt, dass die überarbeitete Version von Redundancy die Funktionen aus der aktuellen Version haben wird. Wenn Ihr wünsche habt, könnt Ihr diese gerne _jetzt_ äußern. Weitere Infos habe ich dazu auf meinem Blog zusammengefasst: http://0fury.de/redundancy-2-n…rungen-euer-wunschzettel/


    :danke_ATDE:
    Danke fürs lesen und freundliche Grüße
    Fury

  • Wir haben einen Entwickler dazu gewinnen können, der sich nur um die Clients (u. a. auf Win) kümmern wird. Aufgrund der neuen Architektur ist das Hauptprogramm selbst schon eine Schnittstelle, die Oberfläche selbst ist dann auch nur ein Client. Somit ist das dann von Anfang an mit dabei :).

  • Hallo Fury, und auch die anderen am Projekt beteiligten.. oder die "Tester" hier.


    Bisher bin ich noch recht Neu beim Rasp Pi Projekt.. und habe fast das erste mal, einen solch längeren ForenThread kpl. gelesen, weil es einfach sehr spannend war.


    Denn auch ich setze OwnCloud ein, um in einem sehr kleinen Team, die Termine, Kontakte und letztendlich Dateien zu teilen und zu koordinieren.


    Da es mir bei OwnCloud, gerade mit de´m WIN-Client öfter passiert ist, dass eben NICHT synchronisiert wurde, haben wir uns inzwischen nur noch auf Kontakte und Termine zurück gezogen.


    Da ich nun den Rasp ohnehin im Büro für ein email2FAX nutzen möchte, hätte er eigentlich sonst nichts zu tun.
    Daher interessiert mich dieses Projekt sehr.


    Gerade wie sehr engagiert Du/Ihr hier seid, fasziniert mich.. alle Achtung dafür.


    Noch hatte ich nicht die Zeit (Kundenprojekte), Redundancy zu installieren, doch das kommt sicherlich in den nächsten Tagen.


    Grundsätzlich würde ich es sehr schätzen, wenn DEine Cloud, auf einem RASP PI, mit USB-Festplatten und z.B. Synology-NAS auf sehr einfach Weise arbeiten würde. (scheint es ja zu können)
    Des weiteren, ein Client unter Windows 7, das synchronisieren übernimmt. UNd zwar das Augenmerk, neben der Geschwindigkeit, die noch akzeptable sein sollte bei rund.. 5.000-10.000 Dateien (teils viele sehr kleine Dateien, teils wenige große), aber extrem wichtig, dass es sicher gehändelt wird.
    Also kein Datenverlust!
    Auch nicht, wenn ein User eine Datei Lokal geöffnet hat, und ein anderen User, ebenaflls die gleiche Datei mit eigene Änderungen speichert.


    Oder sperrt der Client eine (zur Änderung) geöffnete Datei? (wäre auch eine Möglichkeit, prima gelöst als Optionseinstellung[pro User/generell für den Client])


    CALDAV auch für externe Quellen, also Speicher auf einem anderen Server einbinden, wäre eine interessante Erweiterung.


    OB das als Modul/App oder wie auch immer, ist eher eine Frage, wie sehr "belastet" es den Rasp-Pi, oder auch nicht.


    Ich würde mich freuen, wenn Ihr das Projekt so weiter betreiben könnt, wie ihr das bisher getan habt.
    Ich bin auch begeistert, wie viele sich hier trotz der längeren Zeit immer noch zum testen finden.
    Sobal ich Redundancy installiert habe, stehe ich auch für Test bereit.


    Also sehr gerne weiter so.. mit Client macht es wirklich wesentlich mehr Sinn.


    Aus meiner Sicht, wäre ein Client für Android zwar nett.. aber eher leicht untergeordnet.
    Sehr wichtig, einfache Installation.. (denn mit mehr Verbreitung, werden sich auch "nur Consumer" damit befassen.. und da kann man nicht davon ausgehen, dass die sich mit Linux und im speziellen mit dem PI auskennen, oder das wollen.)


    Ich werde das Projekt mit freude weiter beobachten.


    Danke für das, was Ihr schon mal bisher geleistet habt.:danke_ATDE::thumbs1::bravo2:

  • Hallo,


    erst mal Danke für deine Antwort :)!


    Wenn ich gerade Kontakte und Kalender lese: Bitte beachte, Redundancy ist eine reine Dateicloud. Sonstige Datentypen, die man später mal speichern _könnte_, sind eine reine Plugin - Geschichte. Aber dazu bei gegebener Zeit mehr.


    Zum Thema Client: Es wird Clients geben und natürlich sollen diese die Dateien nicht sperren. Das ist ja ein no-go! Es gibt derzeit schon einen Ansatz für einen Client, aber der ist, sagen wir mal, nicht wirklich zum Einsatz geeignet.
    Zum Thema *DAV und USB - Platten/ Datensicherheit: Das geht derzeit auch schon (bedingt), DAV nicht, aber ich würde auf jeden Fall für einen produktiven Betrieb auf die zukünftige Version warten. Das Warten wird sich lohnen, glaube mir :). Aber für eine kleine Testinstallation ist die aktuelle Version auf jeden Fall bereit.
    Die Datensicherheit wird in der zukünftigen Version mittels automatisierter Tests überprüft, wobei natürlich zu beachten ist, dass es bei Softwaresystemen keine Garantien gibt ;).
    Zum Thema Performance: Die Performance wird eigentlich nur durch PHP beschränkt, der darunterlegenden Datenbankschicht sind die Mengen der Datensätze relativ egal bzw. stellen kein Problem dar. Lediglich große Dateilisten (= viele Dateien in einem Ordner) verursachen aktuell relativ große Ladezeiten. ABER: Ich bereite ein Miniupdate vor, dass hier etwas Ladezeit einspart.


    Was meinst du mit OB?


    Zum Thema Android App: Im Grunde genommen ist das unnötig. Redundancy's Oberfläche benutzt das so genannte Bootstrap - Framework, das es ermöglicht, eine Weboberfläche auf allen Bildschirmgrößen optimal anzeigen zu können. Und um Bandbreite zu sparen, braucht man hier auch keinen riesigen Synchronisieralgorithmus. Das reicht dann, die notwendigen Daten "on the fly" über die Weboberfläche herunter zu laden. An für sich merkt man dann keinen Unterschied ob man jetzt eine App nutzt oder ob man Redundancy über den Browser aufruft. Die Anzeige ist in beiden Fällen optimal an Mobilgeräte angepasst.


    Die Installation habe ich vor nicht all zu lager Zeit optimiert und etwas bereinigt. Ich würde mich über ein Feedback freuen.


    So long, stay tuned, wir werden weiterhin versuchen, Redundancy zu verbessern. Außerdem wird die nächste Version einen sehr großen Evolutionsschritt darstellen :).


    Gruß
    Fury


  • Was meinst du mit OB?


    Das war einfach der Satzanfang, mit fälschlicherweise einem großen "B".. einfach "Ob es als....", bei mir kann es schon mal vorkommen, dass ich den 2. Buchstaben auch noch groß schreibe.. bin da mit den Fingern nicht so geübt.


    Das mit Android, das sehe ich in etwa auch so.. klar, mit richtiger App, ist es ein Stück bequemer.. nicht erst Browser auf machen.. die Addy wählen.. sich dann erst einloggen.. und dann erst zur Datei.. usw..
    Aber wenn ich z.B. meine Erfahrung mit Owncloud bei MEINEM Einsatzgebiet sehe, da lade ich nicht dauernd irgendwelche Dateien runter auf´s Handy, oder schiebe z.B. Bilder hoch, die ich gerade geschossen habe.


    Wenn die nächste Version, so ein Evolutionssprung ist, dann warte ich mal, habe ja jetzt schon üner ein Jahr mich mit OwnCloud rum geschlagen, da kommt es auf zwei Wochen (Scherz) auch nicht an. :D


    Ich denke, wenn es eine neue Version gibt, wirst Du das hier schon kund tun.

  • Mal sehen, vielleicht gibt es eine begrenzte Android App, aber das hängt davon ab, ob sich jemand findet, der daran arbeiten kann :D


    Nur so als Vorwarnung: Die nächste große Version wird frühstens im Herbst in einer ersten Version zur Verfügung stehen. Ich hoffe, du hälst es noch so lange aus :D. Demnächst gibts aber mal eine kleine Screenshotserie über das neue Design.


    Am Rande erwähnt. Ich veröffentliche Neuigkeiten primär auf meinem Blog (http://0fury.de) und auf Twitter (@0fury) bevor ich sie hier kund tue. Das sei nur am Rande erwähnt ^^

  • na dann nehem ich Deinen Blog doch mal im "UpdateScanner" auf.
    Übrigens, nützliches Tool im Firefox, gerade für solche Blog & WebSites Geschichten.


    Wie gesagt, wenn ich etwas Zeit habe, dann werde ich wohl noch im Sommer mal, die bisherige Version testweise installieren.


    Wenn dann im Herbst die ganz neue Version kommt, wirds halt noch mal gemacht. Ich denke, das ich bis dahin dann auch etwas mehr Erfahrung mit dem Pi habe und mir das leichter von der Hand geht.


    By the Way... ich sehe gerade, dass DU das "Arch ARM" auf Deinem Rasp hast?


    Redundancy geht aber auch mit dem Wheezy?

  • Meine Erfahrung mit mit dem Filebasirten MYSQLi im zusammenhang mit Owncloud, waren nicht so gut. Viel zu langsam bei meinem Szenario.
    Jetzt mit reinem MYSQL, geht es schon besser. Aber so wirklich schnell ist die nicht.. leider.

  • Na MYSQLi, soweit ich das von der OwnCloud kenne, ist doch nicht wie man das üblich kennt, eine DB über den MYSQL-Server, sondern die Daten sind in einer Datei gespeichert (daher Filebasiert).


    Jetzt habe ich aber Sicherheitshalber mal im WIKIpedia nachgeschaut.. http://de.wikipedia.org/wiki/MySQLi und muss zugeben, das ist eine völlig andere Erklärung als ich das bisher kannte.
    Da habe ich nämlich im Dateisystem, auf dem Server die DB, als EIN File im Root liegen gehabt.


    Hmm, jetzt bin ich im Moment selbst etwas verwirrt. Vielleicht vergißt Du das für´s Erste einfach mal..
    Denn ich komme im Moment auch nicht an die Datei ran, da ich nicht alle Login´s im Kopf habe.. und da bin ich seit einem Jahr nicht mehr drauf gewesen.

  • Alles klar, okay. Datenbanken bzw deren Benutzung in Programmen können gerne mal etwas verwirren.


    Nur so als Info: Redundancy benutzt eine Kombination aus einer Datenbank und "flat file" - Speichern. Der "Dateibaum" (die Infos, welche Ordner es gibt) ist in der Datenbank hinterlegt, die Dateien selbst liegen im Speicherverzeichnis.


    Grüße
    Fury

  • Aktuell wird endlich aktiv an der neuen Version von Redundancy 2 entwickelt. Mein Hauptaugenmerk liegt derzeit an der Implementierung der Serverfunktionalitäten über die REST-API, mit deren Hilfe später die eigentliche Funktionalität bereitgestellt wird. Der aktuelle Stand beschreibt sich wie folgt, es sei jedoch zu beachten, dass der aktuelle Stand nur aus den Serverkomponenten besteht, es gibt noch keine konkrete Oberfläche:


    -Dateisystemstruktur konzipiert
    -Verzeichnisse erstellen
    -Dateien hochladen
    -Dateien und Verzeichnisse umbenennen
    -Verzeichnisse löschen
    -Dateien löschen
    -Dateien und Verzeichnisse verschieben


    Apropos Dateisystem: Das neue Dateisystem ist deutlich "sauberer" als das alte Dateisystem. Gerade der Fall des Verschiebens eines Verzeichnisses ist deutlich entschärft und verbessert worden (siehe Grafik):



    Insgesamt sind die Hauptfunktionen derzeit fast nur auf das Dateisystem beschränkt. Jedoch sind das bisher nicht alle implementierten Funktionen. Im Bereich der für die benutzerrelevanten Funktionen wurden auch bereits diverse Funktionen verankert.


    Aktuell ist der Funktionsumfang nur ein Bruchteil von dem, was insgesamt benötigt wird. Aber für wenige Tage ist die Menge an implementierten Funktionen nicht allzu schlecht.


    Gestern habe ich mich primär um das Rechtemanagement gekümmert. Dabei soll im Gegensatz zur Vorgängerversion, die nur 3 Gruppen ("User","Admin" und "Gast") besaß, mehr Freiheiten im Bezug auf die Gruppen gegeben werden. So ist geplant, dass der Administrator des System Gruppen erstellen kann, die individuelle Berechtigungen haben, die vom Admin aktiv verändert werden können. So kann man z. B. einen Zugang realisieren, der nicht gelöscht, der aber sonst "normal" wie ein Benutzer verwendet werden kann.


    Als nächstes Folgen primär die Funktionen für das Dateisystem und etliche Hilfsfunktionen, die nach und nach benötigt werden. Ich hoffe, das bald auch in Sachen Oberfläche ein Fortschritt zu erkennen ist. Die Arbeiten an der Weboberfläche haben nämlich gestern begonnen.


    In Sachen (Windows-) Client gibt es ebenfalls Fortschritte vorzuweisen. Wir konnten einen zusätzlichen Entwickler für das Projekt gewinnen, der sich nun um den Client kümmert. Aufgrund der neuen Architektur können die Arbeiten am Webinterface als auch am Client gleichzeitig verlaufen, da beide auf die gleiche API aufsetzen.


    So, das wars fürs erste :).


    Gruß
    Fury