Fork me on GitHub

Herr Knedel/Geweldige dingen met containers: Netbox op Synology - Diskstation

Created Sun, 25 Apr 2021 09:28:11 +0100 Modified Sun, 03 Apr 2022 06:46:10 +0000 Schwierigkeitsgrad: Es kann etwas länger dauern

371 Words

NetBox is gratis software voor het beheer van computernetwerken. Vandaag laat ik zien hoe een Netbox-service op het Synology DiskStation kan worden geïnstalleerd.

Stap 1: Synology voorbereiden

Eerst moet de SSH-aanmelding op het DiskStation worden geactiveerd. Om dit te doen, ga naar het “Configuratiescherm” > “Terminal

Vervolgens kunt u inloggen via “SSH”, de opgegeven poort en het beheerderswachtwoord (Windows-gebruikers gebruiken Putty of WinSCP). Ik log in via Terminal, winSCP of Putty en laat deze console open voor later.

Stap 2: NETBOX-map maken

Ik maak een nieuwe map genaamd “netbox” in de Docker map.

Nu moet het volgende bestand worden gedownload en uitgepakt in de directory: https://github.com/netbox-community/netbox-docker/archive/refs/heads/release.zip. Ik gebruik de console hiervoor:
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

Dan bewerk ik het “docker/docker-compose.yml” bestand en voer mijn Synology adressen in bij “netbox-media-files”, “netbox-postgres-data” en “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


Het is zeer belangrijk dat de erfenis “«: *netbox” is vervangen en een poort voor “netbox” is ingevoerd. Daarna kan ik het Compose-bestand starten:

x
+
Terminal

$ sudo docker-compose up

Het kan enige tijd duren om de database aan te maken. Het gedrag kan worden waargenomen via de details van de container. Ik bel de netbox server met het Synology IP adres en mijn container poort.