Перейти к содержимому
Главная страница » Запуск ArchiveBox в Docker

Запуск ArchiveBox в Docker

ArchiveBox — это решение для самостоятельного архивирования в интернете, позволяющее сохранять и просматривать сайты в автономном режиме. В этом руководстве объясняется, как самостоятельно разместить ArchiveBox в Docker VPS и опубликовать его с помощью обратного прокси-сервера Caddy.

Настройте ArchiveBox

Войдите в свой Docker VPS по SSH.

Переключитесь на пользователя docker.

su - docker

Создайте новый пустой каталог для ArchiveBox и его данных.

mkdir ~/archivebox && cd ~/archivebox

Загрузите официальный файл Docker Compose для ArchiveBox.

curl -O 'https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/master/docker-compose.yml'

(Необязательно) Вы можете настроить политику перезапуска для ArchiveBox. Например, чтобы всегда автоматически перезапускаться, отредактируйте docker-compose.yml и установите restart: always, как показано здесь.

 services:
     archivebox:
         image: ${DOCKER_IMAGE:-archivebox/archivebox:latest}
         command: server --quick-init 0.0.0.0:8000
         ports:
             - 8000:8000
         restart: always
         environment:
             - ALLOWED_HOSTS=*
             - MEDIA_MAX_SIZE=750m
         volumes:
             - ./data:/data.

Запустите начальную настройку.

docker-compose run archivebox init --setup

Введите имя пользователя, адрес электронной почты и пароль для пользователя с правами администратора веб-интерфейса.

Запустим сервер 

docker-compose up -d

Можно проверить работу archivebox по адресу: http://IP вашего сервера:8000

Если archivebox не запустился, настройте брандмауэр. На этом можно было бы закончить, но мы хотим, чтобы archivebox открывался не по IP адресу, а по доменному имени, для этого подключим DNS и настроим обратный прокси сервер.

Вернитесь в учётную запись пользователя root. Все последующие действия должны выполняться от имени пользователя root.

exit

Установите правила брандмауэра UFW

Если на сервере включен брандмауэр UFW, который разрешает трафик SSH на порту 22. Чтобы разрешить доступ к веб-серверу, включите HTTP на порту 80 и HTTPS на порту 443.

# ufw allow 80
# ufw allow 443

Включите брандмауэр и проверьте состояние.

# ufw enable
# ufw status

Добавьте сервер в DNS

Caddy обрабатывает сертификаты SSL/TLS и перенаправляет веб-трафик на ArchiveBox. Чтобы автоматические сертификаты Caddy работали, вы должны иметь возможность определять свой сервер по имени.

Направьте запись DNS A вашего сервера на IP-адрес вашего сервера Docker VPS.

Убедитесь, что записи DNS верны. Замените указанное ниже имя на DNS-имя вашего сервера.

# dig archivebox.example.com

Убедитесь, что у вас есть раздел «Ответ» и что IP-адрес соответствует DNS-имени вашего сервера.

 ;; ANSWER SECTION:
 archivebox.example.com.  3600  IN  A  192.0.2.123

Настройте обратный прокси-сервер Caddy

Установите Caddy.

# apt install -y debian-keyring debian-archive-keyring apt-transport-https
# curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo apt-key add -
# curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee -a /etc/apt/sources.list.d/caddy-stable.list
# apt update
# apt install caddy

Отредактируйте файл конфигурации Caddy.

# nano /etc/caddy/Caddyfile

Замените содержимое на строки ниже и укажите доменное имя вашего сервера.

 archivebox.example.com

 reverse_proxy localhost:8000

Перезагрузите конфигурацию.

# caddy reload --config /etc/caddy/Caddyfile

Перейдите на свой новый сайт по названию, чтобы убедиться, что он работает. Например:

https://archivebox.example.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *