Το NetBox είναι ένα δωρεάν λογισμικό που χρησιμοποιείται για τη διαχείριση δικτύων υπολογιστών. Σήμερα θα σας δείξω πώς να εγκαταστήσετε μια υπηρεσία Netbox στον Synology DiskStation.
Βήμα 1: Προετοιμάστε τη Synology
Πρώτον, η σύνδεση SSH πρέπει να ενεργοποιηθεί στον DiskStation. Για να το κάνετε αυτό, μεταβείτε στον “Πίνακα Ελέγχου” > “Τερματικό
Στη συνέχεια, μπορείτε να συνδεθείτε μέσω “SSH”, της καθορισμένης θύρας και του κωδικού πρόσβασης διαχειριστή (οι χρήστες των Windows χρησιμοποιούν το Putty ή το WinSCP).
Συνδέομαι μέσω Terminal, winSCP ή Putty και αφήνω αυτή την κονσόλα ανοιχτή για αργότερα.
Βήμα 2: Δημιουργία φακέλου NETBOX
Δημιουργώ έναν νέο κατάλογο με όνομα “netbox” στον κατάλογο Docker.
Τώρα πρέπει να κατεβάσετε το ακόλουθο αρχείο και να το αποσυμπιέσετε στον κατάλογο: https://github.com/netbox-community/netbox-docker/archive/refs/heads/release.zip. Χρησιμοποιώ την κονσόλα γι' αυτό:
$ 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
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:
$ sudo docker-compose up
Καλώ τον διακομιστή netbox με τη διεύθυνση IP της Synology και τη θύρα του εμπορευματοκιβωτίου μου.