Fork me on GitHub

Herr Knedel/Великі справи з контейнерами: Netbox на Synology - Diskstation

Created Sun, 25 Apr 2021 09:28:11 +0100 Modified Sat, 01 Oct 2022 10:50:08 +0000 Schwierigkeitsgrad: Es kann etwas länger dauern

342 Words

NetBox - безкоштовне програмне забезпечення, що використовується для управління комп’ютерними мережами. Сьогодні я покажу, як встановити службу Netbox на Synology DiskStation.

Крок 1: Підготуйте Synology

По-перше, на DiskStation повинен бути активований вхід по SSH. Для цього необхідно зайти в “Панель управління” > “Термінал

Далі можна увійти через “SSH”, вказаний порт та пароль адміністратора (користувачі Windows використовують Putty або WinSCP). Заходжу через Термінал, winSCP або Putty і залишаю цю консоль відкритою на потім.

Крок 2: Створіть папку NETBOX

Створюю новий каталог з назвою “netbox” в каталозі Docker.

Тепер необхідно завантажити та розпакувати в директорії наступний файл: https://github.com/netbox-community/netbox-docker/archive/refs/heads/release.zip. Для цього я використовую консоль:
x
+
Terminal

$ cd /volume1/docker/netbox/
$ sudo wget https://github.com/netbox-community/netbox-docker/archive/refs/heads/release.zip
$ sudo /bin/7z x release.zip
$ cd netbox-docker-release
$ sudo mkdir netbox-media-files
$ sudo mkdir netbox-redis-data
$ sudo mkdir netbox-postgres-data

Потім редагую файл “docker/docker-compose.yml” і вношу свої адреси Synology в “netbox-media-files”, “netbox-postgres-data” і “netbox-redis-data”:

version: '3.4'
services:
  netbox: 
    image: netboxcommunity/netbox:${VERSION-v3.1-1.6.0}
    depends_on:
    - postgres
    - redis
    - redis-cache
    - netbox-worker
    env_file: env/netbox.env
    user: 'unit:root'
    volumes:
    - ./startup_scripts:/opt/netbox/startup_scripts:z,ro
    - ./initializers:/opt/netbox/initializers:z,ro
    - ./configuration:/etc/netbox/config:z,ro
    - ./reports:/etc/netbox/reports:z,ro
    - ./scripts:/etc/netbox/scripts:z,ro
    - ./netbox-media-files:/opt/netbox/netbox/media:z
    ports:
    - "8097:8080"
    
  netbox-worker:
    image: netboxcommunity/netbox:${VERSION-v3.1-1.6.0}
    env_file: env/netbox.env
    user: 'unit:root'
    depends_on:
    - redis
    - postgres
    command:
    - /opt/netbox/venv/bin/python
    - /opt/netbox/netbox/manage.py
    - rqworker

  netbox-housekeeping:
    image: netboxcommunity/netbox:${VERSION-v3.1-1.6.0}
    env_file: env/netbox.env
    user: 'unit:root'
    depends_on:
    - redis
    - postgres
    command:
    - /opt/netbox/housekeeping.sh

  # postgres
  postgres:
    image: postgres:14-alpine
    env_file: env/postgres.env
    volumes:
    - ./netbox-postgres-data:/var/lib/postgresql/data

  # redis
  redis:
    image: redis:6-alpine
    command:
    - sh
    - -c # this is to evaluate the $REDIS_PASSWORD from the env
    - redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
    env_file: env/redis.env
    volumes:
    - ./netbox-redis-data:/data

  redis-cache:
    image: redis:6-alpine
    command:
    - sh
    - -c # this is to evaluate the $REDIS_PASSWORD from the env
    - redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
    env_file: env/redis-cache.env


Дуже важливо, щоб спадщина була прийнята”: *netbox" замінюється і вводиться порт для “netbox”. Після цього я можу запустити файл Compose:

x
+
Terminal

$ sudo docker-compose up

Створення бази даних може зайняти деякий час. Поведінку можна спостерігати через деталі контейнера. Я викликаю сервер netbox з IP-адресою Synology і своїм портом контейнера.