diff --git a/Installation.md b/Installation.md new file mode 100644 index 0000000..864b806 --- /dev/null +++ b/Installation.md @@ -0,0 +1,56 @@ +## Installation via Docker + +To pull the latest stable version to your local cache, use the following docker +pull command: + +```sh +docker pull ghcr.io/thenetworkguy/netbox-zabbix-sync:main +``` + +Make sure to specify the needed environment variables for the script to work +(see [here](#set-environment-variables)) on the command line or use an +[env file](https://docs.docker.com/reference/cli/docker/container/run/#env). + +```sh +docker run -d -t -i -e ZABBIX_HOST='https://zabbix.local' \ +-e ZABBIX_TOKEN='othersecrettoken' \ +-e NETBOX_HOST='https://netbox.local' \ +-e NETBOX_TOKEN='secrettoken' \ +--name netbox-zabbix-sync ghcr.io/thenetworkguy/netbox-zabbix-sync:main +``` + +This should run a one-time sync, you can check the sync with +`docker logs netbox-zabbix-sync`. + +The image uses the default `config.py` for it's configuration, you can use a +volume mount in the docker run command to override with your own config file if +needed (see [config file](#config-file)): + +```sh +docker run -d -t -i -v $(pwd)/config.py:/opt/netbox-zabbix/config.py ... +``` + +## Installation from Source + +### Cloning the repository + +```sh +git clone https://github.com/TheNetworkGuy/netbox-zabbix-sync.git +``` + +### Packages + +Make sure that you have a python environment with the following packages +installed. You can also use the `requirements.txt` file for installation with +pip. + +```sh +# Packages: +pynetbox +pyzabbix + +# Install them through requirements.txt from a venv: +virtualenv .venv +source .venv/bin/activate +.venv/bin/pip --require-virtualenv install -r requirements.txt +```