Comment créer mon propre serveur Dropbox / Ubuntu One à la maison?

70

Est-ce que quelqu'un connaît des ressources qui peuvent me montrer comment créer mon propre serveur "Dropbox, Ubuntu One" à la maison?

J'aime beaucoup l'idée de ces services, mais je ne veux pas mettre mes «trucs» dans les nuages. Idéalement, il devrait avoir un client qui fonctionne sous Linux et Windows.

J'ai essayé d'installer iFolder sur mon Ubuntu 10.04, mais sans succès jusqu'à présent.

    
posée user1978 05.09.2010 - 19:08
la source

13 réponses

41

Actuellement, il n’existe pas d’alternative open source très performante. La meilleure chose à surveiller est le projet sparkleshare: lien

Espérons que cela deviendra une excellente alternative.

    
réponse donnée Rick 05.09.2010 - 19:13
la source
44

Il y en a en fait beaucoup.

  • SparkleShare (deps: git / subversion, mono, python) à github Logiciel de synchronisation basé sur une interface graphique.

    a Versionnage: via un système de contrôle de source, il est donc basé sur un serveur central via un numéro de version.

    b. Etat: en développement

    c. Avantages: OSS, mono-modulaire si facilement modulable, Inconvénients: processus au niveau utilisateur, dépendant du GC, protocole de partage inefficace par ordre de grandeur car git est principalement destiné aux petits fichiers texte, assez difficile à compiler (j'ai essayé). Utiliser des outils de haut niveau.

  • lipsync (deps: Unison, rsync) Logiciel basé sur un service en ligne de commande.

    a Gestion des versions: via le algorithme rsync delta . Je suppose que le programmeur doit choisir la résolution de conflit.

    b. Etat: Je ne trouve pas son code source, donc je n'en ai aucune idée. Les seules choses de son dépôt git sont des binaires.

    c. Avantages: bonne configuration, utilisation d’outils de niveau intermédiaire.

  • iFolder - Dropbox de Novell. Je n'ai pas encore étudié sa source. Je veux juste avoir cette édition avec et si les gens sont intéressés, j'ajouterai plus.

    a Versionnage:

    b. Etat: Problématique à obtenir pour compiler même sur Ubuntu, sans parler des paquets. Voici un guide d'installation détaillé .

    c. Avantages: client Windows X64, mature, intégration AD avec ACL, fonctionnalités qu'aucun autre projet n'a commencé à implémenter. Je pense que cela pourrait être un bon point de départ. Inconvénients: Novell pourrait ne pas utiliser son dépôt public svn comme référentiel principal et ne faire que des sauts de code. Je ne sais pas exactement à ce sujet cependant. Peut-être trop couplé à openSUSE pour s’installer facilement sur Ubuntu. Pour vérifier ses algorithmes.

  • scp / rcp - déconseillé en faveur de rsync

  • DRDB : bloque les outils de mise en miroir des périphériques pour RAID-1 distribué, c'est-à-dire une variante de serveur de la boîte de dépôt. Je n'ai pas encore vérifié son code source, mais ce n'est que Linux. L'algorithme actuel serait probablement facile à combiner avec le code source dans mes réflexions ci-dessous.

    a Versionnage: format de message interne sur LAN / WAN

    b. Etat: semble assez mature

    c. Avantages: assez stable pour Linux, Inconvénients: aucun autre système d'exploitation n'est pris en charge

En ce moment, j'étudie l'amélioration des temps de compilation sur un Windows 7 virtualisé, où la compilation sur un Windows 7 en métal est de 40 s, mais virtualisée sur environ 3 m 20. Je pense à écrire un pilote ioctl qui est un cache en écriture qui ressemble à un disque virtuel pour les dossiers sélectionnés sur NTFS.

En utilisant le logiciel ci-dessus, je pense qu'une semaine de développement à temps plein de 2-3 personnes produirait un Alpha utilisable qui ne perdrait pas vos fichiers en combinant les logiciels ci-dessus.

Sur mon système alors, l’idée générale serait:

  1. Montez un lecteur virtuel \? {GUID}, c’est-à-dire le disque virtuel et le cache RW. Le logiciel créant ce lecteur virtuel prend deux paramètres d'entrée (qui sont essentiels):

    a Le dossier cible; Il s'agit du dossier SMB. Je vais donc laisser la pile réseau du système d'exploitation gérer le véritable IO. Dans mon cas, il s’agit du dossier virtuel VMWare, qui a lui-même une cible sur un lecteur ext4, mais il pourrait facilement s'agir de votre serveur de fichiers utilisant SAMBA / SMB.

    b. Le chemin du dossier à monter, par ex. C: \ ramdisk

    Ce code de création de volumes virtuels est issu du code TrueCrypt , dans /Driver/DriverFilter.c (entre autres fichiers)

  2. Le lecteur utilise le protocole SMB / VMWare / network pour récupérer des données au démarrage; il récupère avec une priorité de tâche basse, de manière asynchrone à partir du réseau et remplit son cache. Il pourrait utiliser un algorithme de compactage simple et avoir 1 thread qui utilise la continuation de type boîte de message pour obtenir de bonnes performances. Sous Windows, il pourrait utiliser les appels IO asynchrones normaux et sous Linux, il pourrait utiliser le epoll / inotify l'implémentation et prendre le code de nginx .

  3. Mon service, à savoir le disque ram, monte le disque ramdisk non nommé en tant que dossier NTFS. Tous les programmes peuvent continuer à écrire sur C: \ ramdisk ou sur tout ce que j'appelle.

  4. La copie asynchrone du réseau continue. Avec un taux de lecture d'environ 100 Mo / s et 2 Go de disque virtuel, il serait de 20,5 secondes pour lire toutes les données.

Chaque appel à lire effectuerait un calcul de l’index dans l’unité de traitement dans un tableau fixe de taille N: ulong GiB fixe. Cela nécessiterait une résolution de conflit, ou des verrous en lecture-écriture.Si nous implémentions un algorithme de résolution de conflits comme ceux disponibles via Microsoft Sync, nous pourrions transmettre chaque fragment en conflit comme un message à un autre processus de résolution de conflit. Dropbox le résout en créant un nouveau fichier et en le nommant "Copie en conflit du nom d'utilisateur de PrevFileName (aaaa-MM-jj) .ext". Peut-être cela pourrait-il être modifié à travers un petit widget, si l'on compile avec cette source unique - le widget détecterait les changements en suspens en tant que messages / événements et choisirait le protocole de résolution de conflit. En tant que tel, lors de la programmation sur un dossier en mode exclusif, la machine virtuelle Windows peut définir le widget sur «exclusif».

Cela aurait ces PRO

  • Ce serait non-bloquant / asynchrone
  • Cela supposerait, mais n’exige pas qu’un ordinateur écrit principalement dans les fichiers.
  • Cela fonctionnerait pour des fichiers volumineux arbitrairement
  • Cela fonctionnerait sur * nix et Windows en liant les projets mentionnés.
  • Cela fonctionnerait lorsque des performances de lecture élevées sont nécessaires (c’est-à-dire que les fichiers sont physiquement situés sur le disque)
  • Lorsque les événements en conflit sont atteints, il est possible de fournir une application d’interface utilisateur qui permet à l’utilisateur d’écrire / télécharger des plugins qui agissent en toute sécurité pour différents types d’événements - à savoir différents types de fichiers. Par exemple. Un fichier texte pourrait être créé avec Kompare / WinDiff, tandis qu'un fichier binaire serait dupliqué et enregistré sous un autre fichier.
réponse donnée Henrik 31.01.2011 - 20:22
la source
18

OwnCloud ! sonne comme quelque chose que vous recherchez.

    
réponse donnée Dinesh 22.10.2011 - 11:18
la source
5

J'ai entendu parler de Syncany sur Podcast Ubuntu UK , actuellement en version bêta, mais qui semble répondre aux exigences

    
réponse donnée deveneyi 24.06.2011 - 18:57
la source
3

Je ne pense pas que ce soit ce que vous recherchez, mais cela dépend de votre utilisation.

CrashPlan est un logiciel de sauvegarde et un service d’hébergement de sauvegarde en ligne associé, mais ce qui est différent, c’est que leur logiciel vous permet pour sauvegarder vos données via Internet (ou LAN) sur un autre PC exécutant le logiciel.

Cela signifie que la destination ne doit pas nécessairement être dans le cloud. Ce n'est pas tout à fait comme Dropbox en ce sens qu'il s'agit plus de sauvegarder plutôt que de synchroniser et d'accéder aux fichiers de partout, mais si vous ne souhaitez que des sauvegardes, cela fonctionne bien. Si vous voulez accéder aux fichiers sauvegardés depuis l’autre PC, je pense que vous pouvez effectuer une "restauration locale" mais ce n’est pas quelque chose que j’ai essayé.

Le logiciel de base est gratuit et prend en charge le mode "sauvegarde sur un autre ordinateur", mais uniquement la sauvegarde planifiée, mais il existe une version "pro" du logiciel qui permet également une synchronisation en temps réel plutôt que les sauvegardes planifiées. . (Le stockage en nuage est également un paiement facultatif par mois supplémentaire)

    
réponse donnée Simon P Stevens 05.09.2010 - 20:12
la source
3

J'utilise Unison pour le client et rsnapshot (rsync avec le script perl) pour la sauvegarde du serveur.

    
réponse donnée bassgey 21.10.2010 - 14:20
la source
2

Voir si cela aide:

lien

    
réponse donnée guest442 05.09.2010 - 22:21
la source
2

Si vous souhaitez configurer deux machines (ou plus) avec un dossier répliqué, jetez un coup d’œil à glusterfs.

Il est facile à configurer si vous suivez les Guide de l'utilisateur GlusterFS .

    
réponse donnée Richard Holloway 07.09.2010 - 00:34
la source
2

Personne n’a mentionné bitorrent sync ? Fonctionne sur n'importe quoi - Ubuntu, Windows, de nombreux systèmes d'exploitation de smartphone, raspberry pi .... vous l'appelez, cela fonctionne probablement et en tant qu'utilisateur régulier. Transferts cryptés, les fichiers ne sont pas stockés sur le cloud (bien que je pense que bittorrent exécute le tracker pour cela), raisonnablement rapide, vous pouvez partager sélectivement des dossiers, et pratiquement aucune complication, il vous suffit de copier et coller une clé sur l'autre système.

Une fois configuré, ça marche.

    
réponse donnée Journeyman Geek 08.02.2014 - 05:33
la source
1

Je surveille AeroFS . Il semble que ce soit un service de type Dropbox où le stockage dans le cloud est facultatif. Je ne sais pas si / quand ils implémenteront le support mobile et je suppose que cela nécessiterait que vous synchronisiez ces fichiers sur le cloud. Je suis principalement intéressé par une solution de synchronisation assez simple entre les ordinateurs Windows, Mac et Linux.

Ils sont au début de la version bêta, mais vous pouvez vous inscrire si vous le souhaitez.

    
réponse donnée dempa 28.01.2012 - 12:01
la source
1

J'utilise apache avec mod_dav (webdav) pour un serveur web Apache, je peux le monter en tant que lecteur et monter / télécharger des fichiers sur le Web. C'est assez simple, mais pourrait couvrir vos besoins.

    
réponse donnée JurjenB 21.02.2012 - 20:35
la source
1

Bien qu’il existe déjà des alternatives intéressantes et qu’il s’agisse d’une question plus ancienne, je suis convaincu que ce sujet n’est manifestement pas obsolète et, au contraire, prend de plus en plus d’importance à cause des derniers événements. / p>

Je souhaite donc partager ma propre expérience. Ma solution actuelle pour un environnement propre au cloud hébergé est Seafile .

Fonctions Seafile:

  • Accès au cloud basé sur le Web
  • Clients pour Linux, Windows, Mac, iOS (non gratuit), Android
  • Gestion des utilisateurs / groupes
  • Organisation du fichier via différentes bibliothèques
  • Synchronisation automatique des fichiers via le logiciel client
  • Possibilité de publier des fichiers via la création de liens publics

Mes expériences Seafile

  • L'installation a été facile et rapide! (sur un slim debian vm, avec des fichiers stockés via share sur l'hôte physique dmraid 5)
  • Interface utilisateur propre et fonctionnelle
  • Logiciel client propre et fonctionnel
  • Il y avait no problèmes fonctionnels pour moi, jusqu'à maintenant! (en utilisant cela depuis quelques semaines maintenant)
  • L’ensemble des fonctionnalités est basique (comparé à owncloud par exemple), mais je souligne que tout fonctionne ici!
  • Pas de support proxy direct (du moins pour le client Linux - et l'interface Web!). Remarque: l’interface Web fonctionne, mais le téléchargement de fichiers via l’interface Web ne fonctionne pas derrière un proxy - ne savez pas si cela est possible d’une manière ou d’une autre

Comme je n'ai pas besoin de support proxy, je suis vraiment satisfait de Seafile!

    
réponse donnée Nicolas 29.07.2014 - 10:35
la source
0

J'utilise SSHFS pour monter des répertoires sur mon serveur en tant que répertoires locaux sur mon ordinateur de bureau et mon ordinateur portable. Toutes les modifications de fichiers sont enregistrées directement sur le serveur. Contrairement à dropbox, les fichiers ne sont pas stockés localement sur vos ordinateurs clients. Je pense que c'est génial car vous n'avez pas à vous soucier de la synchronisation et du contrôle de version, mais ce n'est pas idéal pour une utilisation hors connexion ou des fichiers très volumineux.

C'est très simple et direct, et je trouve que c'est la meilleure solution. La seule chose que je ne l'utilise pas, ce sont les gros médias, comme les images et les films, car tous les fichiers sont accessibles via le réseau. Ceux que je synchronise avec Rsync.

Lien vers la documentation SSHFS - & gt; lien

    
réponse donnée Sam Swift 31.01.2011 - 20:25
la source

Lire d'autres questions sur les étiquettes