diff --git a/init/docker/docker-compose.env.example b/init/docker/docker-compose.env.example new file mode 100644 index 00000000..3f412975 --- /dev/null +++ b/init/docker/docker-compose.env.example @@ -0,0 +1,12 @@ +INFLUXDB_USERNAME=admin +INFLUXDB_PASSWORD=admin +INFLUXDB_DATABASE=unifi + +GRAFANA_USERNAME=admin +GRAFANA_PASSWORD=admin + +UP_BRANCH=stable +UP_UNIFI_USER=influx +UP_UNIFI_PASS= +UP_UNIFI_URL=https://127.0.0.1:8443 +UP_DEBUG=false \ No newline at end of file diff --git a/init/docker/docker-compose.yml b/init/docker/docker-compose.yml new file mode 100644 index 00000000..fcdbdddf --- /dev/null +++ b/init/docker/docker-compose.yml @@ -0,0 +1,55 @@ +version: '2' +services: + influxdb: + restart: always + image: influxdb:latest + ports: + - '8086:8086' + volumes: + - influxdb-storage:/var/lib/influxdb + environment: + - INFLUXDB_DB=${INFLUXDB_DATABASE} + - INFLUXDB_ADMIN_USER=${INFLUXDB_USERNAME} + - INFLUXDB_ADMIN_PASSWORD=${INFLUXDB_PASSWORD} + chronograf: + image: chronograf:latest + restart: always + ports: + - '127.0.0.1:8888:8888' + volumes: + - chronograf-storage:/var/lib/chronograf + depends_on: + - influxdb + environment: + - INFLUXDB_URL=http://influxdb:8086 + - INFLUXDB_USERNAME=${INFLUXDB_USERNAME} + - INFLUXDB_PASSWORD=${INFLUXDB_PASSWORD} + grafana: + image: grafana/grafana:latest + restart: always + ports: + - '3000:3000' + volumes: + - grafana-storage:/var/lib/grafana + depends_on: + - influxdb + environment: + - GF_SECURITY_ADMIN_USER=${GRAFANA_USERNAME} + - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD} + - GF_INSTALL_PLUGINS=grafana-clock-panel,natel-discrete-panel,grafana-piechart-panel + unifi-poller: + restart: always + image: golift/unifi-poller:${UP_BRANCH} + environment: + - UP_INFLUX_DB=${INFLUXDB_DATABASE} + - UP_INFLUX_USER=${INFLUXDB_USERNAME} + - UP_INFLUX_PASS=${INFLUXDB_PASSWORD} + - UP_INFLUX_URL=http://influxdb:8086 + - UP_UNIFI_USER=${UP_UNIFI_USER} + - UP_UNIFI_PASS=${UP_UNIFI_PASS} + - UP_UNIFI_URL=${UP_UNIFI_URL} + - UP_DEBUG=${UP_DEBUG} +volumes: + influxdb-storage: + chronograf-storage: + grafana-storage: