Greyhole uses Samba to create a storage pool of all your available hard drives, and allows you to create redundant copies of the files you store.
PHP C Shell Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
DEBIAN Improvement: check that the required PHP extensions are enabled, befo… May 17, 2018
docs Removed reference to SQLite (not supported anymore) Mar 10, 2017
includes Bugfix: --balance-status ws not displaying properly for drives with 1… Oct 1, 2017
samba-module Bugfix: Fix mkdir/rmdir issue on Samba 4.5 Dec 28, 2017
scripts-examples Complete implementation of LogHooks (missing doc) Feb 8, 2017
web-app Bugfix: disk usage web-app: error when selected folder contains only … Jun 27, 2017
.build_excluded_files.txt Add systemd service into releases Sep 26, 2017
.gitignore Ignore Atom Remote FTP config file Sep 15, 2017
COPYING First public commit Dec 16, 2009
INSTALL Bugfix: Fix mkdir/rmdir issue on Samba 4.5 Dec 28, 2017
Logo.psd Committing logo PSD Sep 19, 2011
Makefile Bugfix: inject included files before replacing %VERSION%, to make sur… Apr 12, 2014
README.md Updated PHPStorm logo Feb 28, 2017
UPGRADING Removing executable bit on a bunch of files that don't need it. Feb 9, 2014
USAGE Improved USAGE instructions that will skip trying to re-create the gr… Jun 22, 2017
build_greyhole.sh Fix build script: .tar.gz was not uploaded to Github Jun 22, 2017
build_vfs.sh Compiling VFS for Samba 4.7 requires --without-pam on configure command Sep 26, 2017
github-auto-post-downloads.php Only upload latest packages to Github Dec 29, 2012
greyhole Bugfix: Endless loop when create_copies_from_metafiles() returns FALS… Jun 29, 2017
greyhole-custom-cp.sh Added documentation about custom copy_method to man page; added examp… Apr 20, 2016
greyhole-dfree Bugfix: greyhole-dfree is a Bash script really; /bin/sh is not good e… Mar 24, 2014
greyhole-dfree.php Bugfix: Stop using open_basedir directive, which is causing weird iss… Apr 8, 2017
greyhole-php Fix warning about permissions, when trying to overwrite /tmp/greyhole… May 25, 2018
greyhole.cron.d Bugfix: on reboot, mark all write operations as complete, to make sur… Jul 23, 2015
greyhole.cron.daily Removing executable bit on a bunch of files that don't need it. Feb 9, 2014
greyhole.cron.weekly Fix for Ubuntu 15 now using systemd instead of Upstart, and samba ini… Jul 4, 2015
greyhole.example.conf Removed reference to SQLite (not supported anymore) Mar 10, 2017
greyhole.spec Typo in .spec file Jun 18, 2017
greyhole.systemd Update systemd service file Sep 26, 2017
initd_script.sh Bugfix: Stop using open_basedir directive, which is causing weird iss… Apr 8, 2017
inject-includes.php Bugfix: Don't add a she-bang in web-app/index.php during build Jun 27, 2017
install-greyhole-package.sh yum install -y in install script Jun 19, 2017
irc_notif.sh Improvement: Simple changes to build & announce scripts Dec 4, 2011
logrotate.greyhole Uniformity: Keep 60 days of logs, 60 days of tasks_completed (default) Jan 25, 2014
schema-mysql.sql Bugfix: complete = 'written' was not an option Feb 18, 2017
schema-sqlite.sql Removing executable bit on a bunch of files that don't need it. Feb 9, 2014
test_cases.php Bugfix: Ignored folder renamed: files won't be processed Feb 15, 2014
upstart.conf Bugfix: say something when the service is started but will die instan… Jun 7, 2014

README.md

Greyhole

Code Climate

Greyhole is an application that uses Samba to create a storage pool of all your available hard drives (whatever their size, however they're connected), and allows you to create redundant copies of the files you store, in order to prevent data loss when part of your hardware fails.

Links

Features

JBOD concatenation storage pool

Configure as many hard drives as you'd like to be included in your pool. You're storage pool size will be the sum of the free space in all the hard drives you include. Your hard drives can be internal, external (USB, e-Sata, Firewire...), or even mount of remote file systems, and you can include hard drives of any size in your pool.

Per-share redundancy

For each of your shares that use the space of your storage pool, indicate how many copies of each file you want to keep. Each of those copies will be stored in a different hard drive, in order to prevent data loss when one or more hard drives fail. For very important files, you can even specify you'd like to keep copies on all available hard drives.

Easily recoverable files

Greyhole file copies are regular files, visible on any machine, without any hardware or software required. If you take out one hard drive from your pool, and mount it anywhere else, you'll be able to see all the files that Greyhole stored on it. They will have the same filenames, and they'll be in the same directories you'd expect them to be.

Documentation

The GitHub Wiki contains the Greyhole documentation.

Acks

Greyhole is developed mainly using a free open-source license of
PHPStorm
kindly provided by JetBrains. Thanks guys!