Личный архив страниц из интернета?

Я человек любопытный и нередко нахожу страничку интернете, которые не очень попялурны, но при этом в будущем я хотел бы посерьезнее изучить. Вы можете подумать, ну сделай закладку и делов. Но проблема в том что люди просто переносят, удаляют, меняют эти странички. И остается это чувство... я сошел с ума и мне приснилась та статья? Может её не было никогда?

Идея в том что нужно просто скопировать всякие картинки, стили, javascript по соотстветствующему адресу и как-то их аккуратно сохранить чтобы открывать локально. Ну и потому еще как их сделать доступными легко с любого компьютера. Ну к сути, я нашел прекрасный проект под названием ArchiveBox, который создавался почти один в один под мои запросы.

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

Не все VPS поддержавают контейнеры...

Это стало для меня новостью после нескольких безуспешных часов с обновления Ubuntu, и попытками запустить базовый образ для проверки работоспособности Docker. Так как я использую фактически виртуальный сервер (Virtual Private Server), то они создаются на базе специального программного обеспечения со своими стандартами, как OpenVZ, KVM.

Общение с тех.поддержкой подтвердило мои подозрения и мне пришлось обновить сервер буквально отказавшись от всех старых данных, настроек и прочего. Но после заказа нового хостинга я смог получить работающую контейнеризацию. И теперь я могу вызывать со своего сервера образ проекта по арзивации веб-страниц и не заваливать все непонятным зависимостями и файликами.

Не так быстро

Так для результатов работы ArchiveBox я решил использовать папку которую в контейнер я монтировал на этапе запуска архивации. И оказалось что моя папка не соответствует правам доступа пользователя от которого запускается основной процесс образа. Есть грубый вариант дать доступе к папке для ВСЕХ (как я сделал первоначально), а по факту надо было дать доступ на запись группе docker на сервере.

Так же имейте ввиду что архив создается, на века! Там есть и pdf-версия, и какие-то специальные архивные форматы, так что сложные странички легко могут потребовать гигабайт места на жестком диске. Но сейчас 21 век и это стоит копейки в сравнении с началом 3 тысячетелия.

Так же мне потребовалось сделать маленькую модификацию работы веб-сервера, чтобы он сам создавал index-content при просмотре папок с архивным данными.

Немного о грустном

Если вы скачали страницу с ошибкой, хотите что-то удалить, исправить. То я реально без понятия как это сделать без полной установки проекта на ваш сервер. Когда мне потребовалось удалить неудачные данные, то я просто снес интересующие меня папки и руками отредактировал основную страницу со списком архивированных данных. Кривота конечно, но я просто буду осмотрительнее выбирать адреса в следующий раз.