Как я делал домашнюю фотогаллерею


После рождения сына встала необходимость в хранении большого объема фото и видео контента, доступного для просмотра родствениками через интернет. Я начал думать как это организовать, и вот мой путь самурая с хэпиендом:

Облачные хранилища (GoogleDisk, DropBox и т.п.)

Первое что пришло в голову — выкладывать фото в облачное хранилище и настроить у всех заинтересованных родствеников синхронизацию с этим хранилищем. Это было пожалуй самое простое решение и я бы им пользовался если бы не одно но — доступное место в облаке кончилось ровно через год.
Пришлось думать что-то дальше…

Домашнее облако

К этому моменту мой домашний десктоп уже стал виртуальным сервером и переехал в прихожую на шкаф. Я решил что нужно иметь свое облако и выбрал для этого owncloud, в теории должно было быть все так же как в предыдущем варианте только вместо 2Гб свободного места я получаю 100Гб и возможность дальнейшего расширения.
Установил облако на виртуальную машину, работающую под управлением Debian 7.
Первый эксперимент закончился полным фейлом, я смонтировал в папку обрабатываемую этим облаком свой фотоархив ( 400 Гб ) и попытался посмотреть его через браузер. Сервер завис и даже перезагрузка его не спасла. Он ушел в индексацию каталога из которой уже не вернулся.
Следующая попытка и я не монтирую фотоархив а использую облако только для новых файлов. Вроде все работает нормально — синхронизация, доступ по вебу. НО! это приложение периодически что-то делает с загруженными файлами ( возможно читает хэш, выяснить так и не удалось ) и нагрузка на диск дико возрастает. Так как помимо этого сервера на виртуалке у меня стоит ещё 4 системы, такой загруз диска стал для меня критический. К тому же периодически в моменты таких загрузок облако становилось недоступным. Было принято решение отказаться от этого варианта из-за высокой ресурсоемкости.

Dropbox + Архивация + rsync + QuickGallery

К сожалению пришлось писать что-то свое, зато быстрое, эффективное и рабочее.
Итак я решил вернуться к облакам, но только для того чтобы передать контент с телефона/ноутбука на файловый сервер.

Выглядит это примерно так:
1) В течении недели я или супруга делаем фотографии с ребенком, периодически что-то стоящее публикуем в Dropbox, остальное удаляем.

2) Dropbox синхронизируется с папкой на файловом сервере под управлением Debian 7.

3) Раз в неделю запускается незатейливый скрипт, который берет все файлы из папки Dropbox и перемещает их в папку «Шара». Все файлы разбиваются по папкам соответствующим дате создания файла. В результате Dropbox постоянно чистится и мы не испытываем проблем с нехваткой места, а в папке Шара есть набор папок вида — 2014-11-26, 2014-11-27 в которых лежат фотографии

4) На домашнем ноутбуке настроена синхронизация через rsync с папкой «Шара» на файловом сервере, что позволяет иметь на ноуте полную копию того что лежит на файловом сервере. Ноутбук работает на Elementary OS.

5) Я или супруга периодически заходим на ноуте в папку с фотками и наводим там порядок — объединяем папки, даем им осмысленные названия. Все это синхронизируется с файловым сервером и там так же приводится все в порядок.

6) Теперь самое интересное — доступ родственикам к фотографиям. Реализация вобщем то простая, на файловом сервере поднимается веб-сервер, настраивается на фотоархив, а в фотоархив кладется скрипт фотогаллереи Quick Gallery. Для доступа к серверу из вне делается проброс портов через маршрутизатор и покупку статичного IP у провайдера.

P.S.: На данный момент Quick Gallery не может проигрывать видео, от чего было принято решение заменить её на что-то другое.

5 Comments

  1. Почему нельзя просто все фотки и видео скидывать во вКонтакте например? Зарегистрировать там всех родственников и дать им доступ, там же можно и комментарии писать и описания и в альбомы объединять, и место не ограничено.
    Или можно другой сервис подобрать, типа Flickr или кучу других.

    Reply
  2. Почему не скинешь, в Контакте можно закрывать доступ к фотоальбомам, можно доступ открыть только для определенной группы друзей или некоторых друзей.

    А реклама не так уж и мешает, можно баннерорезку включить.
    А лучше использовать ВК или фотохостинги для хранения, а для просмотра написать свой движок (с хранением URL всех фото) и выложить его на бесплатном хостинге без рекламы.
    А то свой сервер дома держать ИМХО стремно, он шумит и энергию потребляет.

    Reply
  3. О как, не знал про закрытые галлереи в ВК. Но всеравно не подходит — у меня 300 Гб. фото а там только в ручную переносить.

    Я задумался насчет Flickr, возможно это лучшее решение. Если там есть приватные галлереи то попробую перейти на него.
    Спасибо.

    Reply
  4. В ВК кстати можно и по несколько файлов закачивать, если несколько выделить или несколько перетащить в поле закачки, тогда они все по очереди закачиваются.
    Так что, чтобы все 300гб закачать, надо все в одну папку сложить (или в Linux жесткие ссылки создать), все их выделить и передать на закачку. Или отдельные папки в отдельные альбомы закачивать.

    Reply

Leave a Comment.