I2pd docker

Материал из I2P-ilita вики
Версия от 22:27, 1 января 2024; 127.142.65.67 (обсуждение) (изменил версию образа)
Перейти к навигацииПерейти к поиску

Установка и настройка i2pd через контейнеризацию Docker

Получение образа Docker

Есть два варианта получения образа. Самостоятельная сборка образа и загрузка из регистра hub.docker.com

Через регистр hub.docker.com

Просто выполните в cli:

 docker pull purplei2p/i2pd:latest

Проверьте что образ загрузился:

 docker image ls

Самостоятельная компиляци i2pd и сборка образа Docker

Загрузите репозиторий i2pd:

 git clone https://github.com/PurpleI2P/i2pd.git

Переместите каталог с Dockerfile в ваш рабочий каталог:

 mv ./i2pd/contrib/docker ./

Перейдите в него:

 cd ./docker

Запустите сборку и компиляцию:

 docker buildx build -t i2pd:latest .

Проверьте наличие образа:

 docker image ls

Создание файла конфигурации compose

Для запуска конетейнера при помощи compose файла, можно воспользоваться этой конфигурацией. При запуске будет создан volume под именем *i2pd*.

docker-compose.yml:

version: '3.9'

networks:
  i2pd:
    name: i2pd

volumes:
  i2pd:
    name: i2pd

services:
  i2pd:
    image: i2pd:latest
    container_name: i2pd
    restart: unless-stopped
    ports:
      - "127.0.0.1:7070:7070/tcp"
      - "127.0.0.1:4444:4444/tcp"
      - "127.0.0.1:4447:4447/tcp"
      - "127.0.0.1:7650:7650/tcp"

    networks:
      - i2pd
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - i2pd:/home/i2pd/data

Создайте рабочий каталог в котором будет хранится файл docker-compose.yml:

 mkdir /opt/i2pd-dockerized && cd /opt/i2pd-dockerized

Создайте в нем файл docker-compose.yml и скопируйте в него конфиг приведенный выше:

 touch /opt/i2pd-dockerized/docker-compose.yml

Запуск контейнера через compose

Запустите контейнер находясь в рабочем каталоге:

 docker compose up -d


Проверка работоспособности контейнера

Удостоверьтесь что контейнер в рабочем состоянии:

 docker stats

При необходимости посмотрите логи:

 docker compose logs i2pd

Проверьте что у вас локально прослушиваются порты которые были проброшены из контейнера:

 ss -tnl src :7070
 ss -tnl src :4444
 ss -tnl src :4447

Зайдите на web консоль управления через браузер:

 http://127.0.0.1:7070/

Управление контейнером

Остановка:

 docker compose stop

Удаление:

 docker compose down

Редактирование конфигурации:

 vim /var/lib/docker/volumes/i2pd/_data/i2pd.conf