From 3dfc5315deb3d7a9179b506ab4f0712e24b5d8b3 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Mon, 3 Jun 2019 20:04:04 -0500 Subject: [PATCH 1/9] bump to develop --- README.md | 2 +- varken/__init__.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9653cef7..f99c8e17 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

-Logo Banner +Logo Banner

[![Build Status](https://jenkins.cajun.pro/buildStatus/icon?job=Varken/master)](https://jenkins.cajun.pro/job/Varken/job/master/) diff --git a/varken/__init__.py b/varken/__init__.py index b906d409..a3424c87 100644 --- a/varken/__init__.py +++ b/varken/__init__.py @@ -1,2 +1,2 @@ -VERSION = "1.7.1" -BRANCH = 'master' +VERSION = "1.7.2" +BRANCH = 'develop' From ea658b9f8b124801f5607340b21ee1fb31c6ce30 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Tue, 11 Jun 2019 01:56:41 -0500 Subject: [PATCH 2/9] update docker files to newer python + no-cache-dir on pip install --- Dockerfile | 4 ++-- Dockerfile.arm | 4 ++-- Dockerfile.arm64 | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index bde351c0..e6b0a488 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM amd64/python:3.7.2-alpine +FROM amd64/python:3.7.3-alpine LABEL maintainers="dirtycajunrice,samwiseg0" @@ -15,7 +15,7 @@ COPY /data /app/data COPY /utilities /app/data/utilities RUN apk add --no-cache tzdata && \ - python3 -m pip install -r /app/requirements.txt + pip install --no-cache-dir -r /app/requirements.txt CMD cp /app/data/varken.example.ini /config/varken.example.ini && python3 /app/Varken.py --data-folder /config diff --git a/Dockerfile.arm b/Dockerfile.arm index 9f7fed1a..98db2c52 100644 --- a/Dockerfile.arm +++ b/Dockerfile.arm @@ -1,4 +1,4 @@ -FROM arm32v6/python:3.7.2-alpine +FROM arm32v6/python:3.7.3-alpine LABEL maintainers="dirtycajunrice,samwiseg0" @@ -13,7 +13,7 @@ COPY /varken /app/varken COPY /data /app/data RUN apk add --no-cache tzdata && \ - python3 -m pip install -r /app/requirements.txt + pip install --no-cache-dir -r /app/requirements.txt CMD cp /app/data/varken.example.ini /config/varken.example.ini && python3 /app/Varken.py --data-folder /config diff --git a/Dockerfile.arm64 b/Dockerfile.arm64 index 9ad67ebb..5000236c 100644 --- a/Dockerfile.arm64 +++ b/Dockerfile.arm64 @@ -1,4 +1,4 @@ -FROM arm64v8/python:3.7.2-alpine +FROM arm64v8/python:3.7.3-alpine LABEL maintainers="dirtycajunrice,samwiseg0" @@ -13,7 +13,7 @@ COPY /varken /app/varken COPY /data /app/data RUN apk add --no-cache tzdata && \ - python3 -m pip install -r /app/requirements.txt + pip install --no-cache-dir -r /app/requirements.txt CMD cp /app/data/varken.example.ini /config/varken.example.ini && python3 /app/Varken.py --data-folder /config From fb67f5a94c85bbe24b54e0a924c758fd72467b6f Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Tue, 18 Jun 2019 11:40:58 -0500 Subject: [PATCH 3/9] move logger to be initialized before self call. Fixes #138 --- varken/dbmanager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/varken/dbmanager.py b/varken/dbmanager.py index 06e6f18c..04eb51e9 100644 --- a/varken/dbmanager.py +++ b/varken/dbmanager.py @@ -8,13 +8,13 @@ class DBManager(object): def __init__(self, server): self.server = server + self.logger = getLogger() if self.server.url == "influxdb.domain.tld": self.logger.critical("You have not configured your varken.ini. Please read Wiki page for configuration") exit() self.influx = InfluxDBClient(host=self.server.url, port=self.server.port, username=self.server.username, password=self.server.password, ssl=self.server.ssl, database='varken', verify_ssl=self.server.verify_ssl) - self.logger = getLogger() try: version = self.influx.request('ping', expected_response_code=204).headers['X-Influxdb-Version'] self.logger.info('Influxdb version: %s', version) From 5ce0447c532b514fbf237627691b0080865057da Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Tue, 18 Jun 2019 15:20:25 -0500 Subject: [PATCH 4/9] Add ability to check for environment variable options --- varken/helpers.py | 7 +++ varken/iniparser.py | 128 +++++++++++++++++++++++++++++--------------- 2 files changed, 92 insertions(+), 43 deletions(-) diff --git a/varken/helpers.py b/varken/helpers.py index 723f39dc..65b886b1 100644 --- a/varken/helpers.py +++ b/varken/helpers.py @@ -196,3 +196,10 @@ def clean_sid_check(server_id_list, server_type=None): else: logger.error('No valid %s', t.upper()) return False + + +def boolcheck(var): + if var.lower() in ['true', 'yes']: + return True + else: + return False diff --git a/varken/iniparser.py b/varken/iniparser.py index 0ec00498..ed32c088 100644 --- a/varken/iniparser.py +++ b/varken/iniparser.py @@ -1,4 +1,5 @@ from shutil import copyfile +from os import environ as env from logging import getLogger from os.path import join, exists from re import match, compile, IGNORECASE @@ -6,7 +7,7 @@ from varken.varkenlogger import BlacklistFilter from varken.structures import SickChillServer, UniFiServer -from varken.helpers import clean_sid_check, rfc1918_ip_check +from varken.helpers import clean_sid_check, rfc1918_ip_check, boolcheck from varken.structures import SonarrServer, RadarrServer, OmbiServer, TautulliServer, InfluxServer @@ -42,8 +43,8 @@ def config_blacklist(self): def enable_check(self, server_type=None): t = server_type - global_server_ids = self.config.get('global', t) - if global_server_ids.lower() in ['false', 'no', '0']: + global_server_ids = env.get(f'VRKN_GLOBAL_{t.upper()}', self.config.get('global', t)) + if global_server_ids.lower() in ['false', 'no']: self.logger.info('%s disabled.', t.upper()) else: sids = clean_sid_check(global_server_ids, t) @@ -141,13 +142,14 @@ def parse_opts(self, read_file=False): self.config_blacklist() # Parse InfluxDB options try: - url = self.url_check(self.config.get('influxdb', 'url'), include_port=False, section='influxdb') - port = self.config.getint('influxdb', 'port') - ssl = self.config.getboolean('influxdb', 'ssl') - verify_ssl = self.config.getboolean('influxdb', 'verify_ssl') - - username = self.config.get('influxdb', 'username') - password = self.config.get('influxdb', 'password') + url = self.url_check(env.get('VRKN_INFLUXDB_URL', self.config.get('influxdb', 'url')), + include_port=False, section='influxdb') + port = int(env.get('VRKN_INFLUXDB_PORT', self.config.getint('influxdb', 'port'))) + ssl = boolcheck(env.get('VRKN_INFLUXDB_SSL', self.config.get('influxdb', 'ssl'))) + verify_ssl = boolcheck(env.get('VRKN_INFLUXDB_VERIFY_SSL', self.config.get('influxdb', 'verify_ssl'))) + + username = env.get('VRKN_INFLUXDB_USERNAME', self.config.get('influxdb', 'username')) + password = env.get('VRKN_INFLUXDB_PASSWORD', self.config.get('influxdb', 'password')) except NoOptionError as e: self.logger.error('Missing key in %s. Error: %s', "influxdb", e) self.rectify_ini() @@ -170,29 +172,40 @@ def parse_opts(self, read_file=False): for server_id in service_enabled: server = None section = f"{service}-{server_id}" + envsection = f"{service}_{server_id}".upper() try: - url = self.url_check(self.config.get(section, 'url'), section=section) + url = self.url_check(env.get(f'VRKN_{envsection}_URL', self.config.get(section, 'url')), + section=section) apikey = None if service != 'unifi': - apikey = self.config.get(section, 'apikey') - - scheme = 'https://' if self.config.getboolean(section, 'ssl') else 'http://' - verify_ssl = self.config.getboolean(section, 'verify_ssl') + apikey = env.get(f'VRKN_{envsection}_APIKEY', self.config.get(section, 'apikey')) + ssl_scheme = boolcheck(env.get(f'VRKN_{envsection}_SSL', self.config.get(section, 'ssl'))) + scheme = 'https://' if ssl_scheme else 'http://' + verify_ssl = boolcheck(env.get(f'VRKN_{envsection}_VERIFY_SSL', + self.config.get(section, 'verify_ssl'))) if scheme != 'https://': verify_ssl = False if service in ['sonarr', 'radarr', 'lidarr']: - queue = self.config.getboolean(section, 'queue') - queue_run_seconds = self.config.getint(section, 'queue_run_seconds') + queue = boolcheck(env.get(f'VRKN_{envsection}_QUEUE', + self.config.get(section, 'queue'))) + queue_run_seconds = int(env.get(f'VRKN_{envsection}_QUEUE_RUN_SECONDS', + self.config.getint(section, 'queue_run_seconds'))) if service in ['sonarr', 'lidarr']: - missing_days = self.config.getint(section, 'missing_days') - future_days = self.config.getint(section, 'future_days') - - missing_days_run_seconds = self.config.getint(section, 'missing_days_run_seconds') - future_days_run_seconds = self.config.getint(section, 'future_days_run_seconds') + missing_days = int(env.get(f'VRKN_{envsection}_MISSING_DAYS', + self.config.getint(section, 'missing_days'))) + future_days = int(env.get(f'VRKN_{envsection}_FUTURE_DAYS', + self.config.getint(section, 'future_days'))) + + missing_days_run_seconds = int(env.get( + f'VRKN_{envsection}_MISSING_DAYS_RUN_SECONDS', + self.config.getint(section, 'missing_days_run_seconds'))) + future_days_run_seconds = int(env.get( + f'VRKN_{envsection}_FUTURE_DAYS_RUN_SECONDS', + self.config.getint(section, 'future_days_run_seconds'))) server = SonarrServer(id=server_id, url=scheme + url, api_key=apikey, verify_ssl=verify_ssl, missing_days=missing_days, future_days=future_days, @@ -201,21 +214,31 @@ def parse_opts(self, read_file=False): queue=queue, queue_run_seconds=queue_run_seconds) if service == 'radarr': - get_missing = self.config.getboolean(section, 'get_missing') - get_missing_run_seconds = self.config.getint(section, 'get_missing_run_seconds') + get_missing = boolcheck(env.get(f'VRKN_{envsection}_GET_MISSING', + self.config.get(section, 'get_missing'))) + get_missing_run_seconds = int(env.get( + f'VRKN_{envsection}_GET_MISSING_RUN_SECONDS', + self.config.getint(section, 'get_missing_run_seconds'))) server = RadarrServer(id=server_id, url=scheme + url, api_key=apikey, verify_ssl=verify_ssl, queue_run_seconds=queue_run_seconds, get_missing=get_missing, queue=queue, get_missing_run_seconds=get_missing_run_seconds) if service == 'tautulli': - fallback_ip = self.config.get(section, 'fallback_ip') + fallback_ip = env.get(f'VRKN_{envsection}_FALLBACK_IP', + self.config.get(section, 'fallback_ip')) - get_stats = self.config.getboolean(section, 'get_stats') - get_activity = self.config.getboolean(section, 'get_activity') + get_stats = boolcheck(env.get(f'VRKN_{envsection}_GET_STATS', + self.config.get(section, 'get_stats'))) + get_activity = boolcheck(env.get(f'VRKN_{envsection}_GET_ACTIVITY', + self.config.get(section, 'get_activity'))) - get_activity_run_seconds = self.config.getint(section, 'get_activity_run_seconds') - get_stats_run_seconds = self.config.getint(section, 'get_stats_run_seconds') + get_activity_run_seconds = int(env.get( + f'VRKN_{envsection}_GET_ACTIVITY_RUN_SECONDS', + self.config.getint(section, 'get_activity_run_seconds'))) + get_stats_run_seconds = int(env.get( + f'VRKN_{envsection}_GET_STATS_RUN_SECONDS', + self.config.getint(section, 'get_stats_run_seconds'))) invalid_wan_ip = rfc1918_ip_check(fallback_ip) @@ -231,13 +254,25 @@ def parse_opts(self, read_file=False): get_stats_run_seconds=get_stats_run_seconds) if service == 'ombi': - issue_status_counts = self.config.getboolean(section, 'get_issue_status_counts') - request_type_counts = self.config.getboolean(section, 'get_request_type_counts') - request_total_counts = self.config.getboolean(section, 'get_request_total_counts') - - issue_status_run_seconds = self.config.getint(section, 'issue_status_run_seconds') - request_type_run_seconds = self.config.getint(section, 'request_type_run_seconds') - request_total_run_seconds = self.config.getint(section, 'request_total_run_seconds') + issue_status_counts = boolcheck(env.get( + f'VRKN_{envsection}_GET_ISSUE_STATUS_COUNTS', + self.config.get(section, 'get_issue_status_counts'))) + request_type_counts = boolcheck(env.get( + f'VRKN_{envsection}_GET_REQUEST_TYPE_COUNTS', + self.config.get(section, 'get_request_type_counts'))) + request_total_counts = boolcheck(env.get( + f'VRKN_{envsection}_GET_REQUEST_TOTAL_COUNTS', + self.config.get(section, 'get_request_total_counts'))) + + issue_status_run_seconds = int(env.get( + f'VRKN_{envsection}_ISSUE_STATUS_RUN_SECONDS', + self.config.getint(section, 'issue_status_run_seconds'))) + request_type_run_seconds = int(env.get( + f'VRKN_{envsection}_REQUEST_TYPE_RUN_SECONDS', + self.config.getint(section, 'request_type_run_seconds'))) + request_total_run_seconds = int(env.get( + f'VRKN_{envsection}_REQUEST_TOTAL_RUN_SECONDS', + self.config.getint(section, 'request_total_run_seconds'))) server = OmbiServer(id=server_id, url=scheme + url, api_key=apikey, verify_ssl=verify_ssl, request_type_counts=request_type_counts, @@ -248,19 +283,24 @@ def parse_opts(self, read_file=False): issue_status_run_seconds=issue_status_run_seconds) if service == 'sickchill': - get_missing = self.config.getboolean(section, 'get_missing') - get_missing_run_seconds = self.config.getint(section, 'get_missing_run_seconds') + get_missing = boolcheck(env.get(f'VRKN_{envsection}_GET_MISSING', + self.config.get(section, 'get_missing'))) + get_missing_run_seconds = int(env.get( + f'VRKN_{envsection}_GET_MISSING_RUN_SECONDS', + self.config.getint(section, 'get_missing_run_seconds'))) server = SickChillServer(id=server_id, url=scheme + url, api_key=apikey, verify_ssl=verify_ssl, get_missing=get_missing, get_missing_run_seconds=get_missing_run_seconds) if service == 'unifi': - username = self.config.get(section, 'username') - password = self.config.get(section, 'password') - site = self.config.get(section, 'site').lower() - usg_name = self.config.get(section, 'usg_name') - get_usg_stats_run_seconds = self.config.getint(section, 'get_usg_stats_run_seconds') + username = env.get(f'VRKN_{envsection}_USERNAME', self.config.get(section, 'username')) + password = env.get(f'VRKN_{envsection}_PASSWORD', self.config.get(section, 'password')) + site = env.get(f'VRKN_{envsection}_SITE', self.config.get(section, 'site')).lower() + usg_name = env.get(f'VRKN_{envsection}_USG_NAME', self.config.get(section, 'usg_name')) + get_usg_stats_run_seconds = int(env.get( + f'VRKN_{envsection}_GET_USG_STATS_RUN_SECONDS', + self.config.getint(section, 'get_usg_stats_run_seconds'))) server = UniFiServer(id=server_id, url=scheme + url, verify_ssl=verify_ssl, site=site, username=username, password=password, usg_name=usg_name, @@ -271,3 +311,5 @@ def parse_opts(self, read_file=False): self.logger.error('Missing key in %s. Error: %s', section, e) self.rectify_ini() return + except ValueError as e: + self.logger.error("Invalid configuration value in %s. Error: %s", section, e) From 4ee0551ca20ad608815858e8ee3c3d9238c0ddad Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Tue, 18 Jun 2019 17:09:46 -0500 Subject: [PATCH 5/9] allow data folder to be configured via env var. Adds to #137 --- Dockerfile | 4 +++- Dockerfile.arm | 4 +++- Dockerfile.arm64 | 4 +++- Varken.py | 19 ++++++++----------- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index e6b0a488..5538ce1f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,6 +4,8 @@ LABEL maintainers="dirtycajunrice,samwiseg0" ENV DEBUG="True" +ENV DATA_FOLDER="/config" + WORKDIR /app COPY /requirements.txt /Varken.py /app/ @@ -17,6 +19,6 @@ COPY /utilities /app/data/utilities RUN apk add --no-cache tzdata && \ pip install --no-cache-dir -r /app/requirements.txt -CMD cp /app/data/varken.example.ini /config/varken.example.ini && python3 /app/Varken.py --data-folder /config +CMD cp /app/data/varken.example.ini /config/varken.example.ini && python3 /app/Varken.py VOLUME /config diff --git a/Dockerfile.arm b/Dockerfile.arm index 98db2c52..2a5732fd 100644 --- a/Dockerfile.arm +++ b/Dockerfile.arm @@ -4,6 +4,8 @@ LABEL maintainers="dirtycajunrice,samwiseg0" ENV DEBUG="True" +ENV DATA_FOLDER="/config" + WORKDIR /app COPY /requirements.txt /Varken.py /app/ @@ -15,6 +17,6 @@ COPY /data /app/data RUN apk add --no-cache tzdata && \ pip install --no-cache-dir -r /app/requirements.txt -CMD cp /app/data/varken.example.ini /config/varken.example.ini && python3 /app/Varken.py --data-folder /config +CMD cp /app/data/varken.example.ini /config/varken.example.ini && python3 /app/Varken.py VOLUME /config diff --git a/Dockerfile.arm64 b/Dockerfile.arm64 index 5000236c..a83d917e 100644 --- a/Dockerfile.arm64 +++ b/Dockerfile.arm64 @@ -4,6 +4,8 @@ LABEL maintainers="dirtycajunrice,samwiseg0" ENV DEBUG="True" +ENV DATA_FOLDER="/config" + WORKDIR /app COPY /requirements.txt /Varken.py /app/ @@ -15,6 +17,6 @@ COPY /data /app/data RUN apk add --no-cache tzdata && \ pip install --no-cache-dir -r /app/requirements.txt -CMD cp /app/data/varken.example.ini /config/varken.example.ini && python3 /app/Varken.py --data-folder /config +CMD cp /app/data/varken.example.ini /config/varken.example.ini && python3 /app/Varken.py VOLUME /config diff --git a/Varken.py b/Varken.py index 4464085b..487cbeaa 100644 --- a/Varken.py +++ b/Varken.py @@ -4,6 +4,7 @@ from queue import Queue from sys import version from threading import Thread +from os import environ as env from os import access, R_OK, getenv from distro import linux_distribution from os.path import isdir, abspath, dirname, join @@ -45,8 +46,6 @@ def thread(job, **kwargs): opts = parser.parse_args() - DATA_FOLDER = abspath(join(dirname(__file__), 'data')) - templogger = getLogger('temp') templogger.setLevel(DEBUG) tempch = StreamHandler() @@ -54,17 +53,15 @@ def thread(job, **kwargs): tempch.setFormatter(tempformatter) templogger.addHandler(tempch) - if opts.data_folder: - ARG_FOLDER = opts.data_folder + DATA_FOLDER = env.get('DATA_FOLDER', vars(opts).get('data_folder') or abspath(join(dirname(__file__), 'data'))) - if isdir(ARG_FOLDER): - DATA_FOLDER = ARG_FOLDER - if not access(DATA_FOLDER, R_OK): - templogger.error("Read permission error for %s", DATA_FOLDER) - exit(1) - else: - templogger.error("%s does not exist", ARG_FOLDER) + if isdir(DATA_FOLDER): + if not access(DATA_FOLDER, R_OK): + templogger.error("Read permission error for %s", DATA_FOLDER) exit(1) + else: + templogger.error("%s does not exist", DATA_FOLDER) + exit(1) # Set Debug to True if DEBUG env is set enable_opts = ['True', 'true', 'yes'] From 028231551a4652497b5cfdac70a78b560a54c196 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Tue, 18 Jun 2019 17:32:30 -0500 Subject: [PATCH 6/9] update env examples in docker-compose. Adds to #137 --- docker-compose.yml | 95 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 92 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7ff4a276..ab6e51d6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,9 +21,98 @@ services: volumes: - /path/to/docker-varken/config-folder:/config environment: - - PGID=911 - - PUID=911 - - TZ=America/Chicago + - VRKN_GLOBAL_SONARR_SERVER_IDS=1,2 + - VRKN_GLOBAL_RADARR_SERVER_IDS=1,2 + - VRKN_GLOBAL_LIDARR_SERVER_IDS=false + - VRKN_GLOBAL_TAUTULLI_SERVER_IDS=1 + - VRKN_GLOBAL_OMBI_SERVER_IDS=1 + - VRKN_GLOBAL_SICKCHILL_SERVER_IDS=false + - VRKN_GLOBAL_UNIFI_SERVER_IDS=false + - VRKN_INFLUXDB_URL=influxdb.domain.tld + - VRKN_INFLUXDB_PORT=8086 + - VRKN_INFLUXDB_SSL=false + - VRKN_INFLUXDB_VERIFY_SSL=false + - VRKN_INFLUXDB_USERNAME=root + - VRKN_INFLUXDB_PASSWORD=root + - VRKN_TAUTULLI_1_URL=tautulli.domain.tld:8181 + - VRKN_TAUTULLI_1_FALLBACK_IP=1.1.1.1 + - VRKN_TAUTULLI_1_APIKEY=xxxxxxxxxxxxxxxx + - VRKN_TAUTULLI_1_SSL=false + - VRKN_TAUTULLI_1_VERIFY_SSL=false + - VRKN_TAUTULLI_1_GET_ACTIVITY=true + - VRKN_TAUTULLI_1_GET_ACTIVITY_RUN_SECONDS=30 + - VRKN_TAUTULLI_1_GET_STATS=true + - VRKN_TAUTULLI_1_GET_STATS_RUN_SECONDS=3600 + - VRKN_SONARR_1_URL=sonarr1.domain.tld:8989 + - VRKN_SONARR_1_APIKEY=xxxxxxxxxxxxxxxx + - VRKN_SONARR_1_SSL=false + - VRKN_SONARR_1_VERIFY_SSL=false + - VRKN_SONARR_1_MISSING_DAYS=7 + - VRKN_SONARR_1_MISSING_DAYS_RUN_SECONDS=300 + - VRKN_SONARR_1_FUTURE_DAYS=1 + - VRKN_SONARR_1_FUTURE_DAYS_RUN_SECONDS=300 + - VRKN_SONARR_1_QUEUE=true + - VRKN_SONARR_1_QUEUE_RUN_SECONDS=300 + - VRKN_SONARR_2_URL=sonarr2.domain.tld:8989 + - VRKN_SONARR_2_APIKEY=yyyyyyyyyyyyyyyy + - VRKN_SONARR_2_SSL=false + - VRKN_SONARR_2_VERIFY_SSL=false + - VRKN_SONARR_2_MISSING_DAYS=7 + - VRKN_SONARR_2_MISSING_DAYS_RUN_SECONDS=300 + - VRKN_SONARR_2_FUTURE_DAYS=1 + - VRKN_SONARR_2_FUTURE_DAYS_RUN_SECONDS=300 + - VRKN_SONARR_2_QUEUE=true + - VRKN_SONARR_2_QUEUE_RUN_SECONDS=300 + - VRKN_RADARR_1_URL=radarr1.domain.tld + - VRKN_RADARR_1_APIKEY=xxxxxxxxxxxxxxxx + - VRKN_RADARR_1_SSL=false + - VRKN_RADARR_1_VERIFY_SSL=false + - VRKN_RADARR_1_QUEUE=true + - VRKN_RADARR_1_QUEUE_RUN_SECONDS=300 + - VRKN_RADARR_1_GET_MISSING=true + - VRKN_RADARR_1_GET_MISSING_RUN_SECONDS=300 + - VRKN_RADARR_2_URL=radarr2.domain.tld + - VRKN_RADARR_2_APIKEY=yyyyyyyyyyyyyyyy + - VRKN_RADARR_2_SSL=false + - VRKN_RADARR_2_VERIFY_SSL=false + - VRKN_RADARR_2_QUEUE=true + - VRKN_RADARR_2_QUEUE_RUN_SECONDS=300 + - VRKN_RADARR_2_GET_MISSING=true + - VRKN_RADARR_2_GET_MISSING_RUN_SECONDS=300 + - VRKN_LIDARR_1_URL=lidarr1.domain.tld:8686 + - VRKN_LIDARR_1_APIKEY=xxxxxxxxxxxxxxxx + - VRKN_LIDARR_1_SSL=false + - VRKN_LIDARR_1_VERIFY_SSL=false + - VRKN_LIDARR_1_MISSING_DAYS=30 + - VRKN_LIDARR_1_MISSING_DAYS_RUN_SECONDS=300 + - VRKN_LIDARR_1_FUTURE_DAYS=30 + - VRKN_LIDARR_1_FUTURE_DAYS_RUN_SECONDS=300 + - VRKN_LIDARR_1_QUEUE=true + - VRKN_LIDARR_1_QUEUE_RUN_SECONDS=300 + - VRKN_OMBI_1_URL=ombi.domain.tld + - VRKN_OMBI_1_APIKEY=xxxxxxxxxxxxxxxx + - VRKN_OMBI_1_SSL=false + - VRKN_OMBI_1_VERIFY_SSL=false + - VRKN_OMBI_1_GET_REQUEST_TYPE_COUNTS=true + - VRKN_OMBI_1_REQUEST_TYPE_RUN_SECONDS=300 + - VRKN_OMBI_1_GET_REQUEST_TOTAL_COUNTS=true + - VRKN_OMBI_1_REQUEST_TOTAL_RUN_SECONDS=300 + - VRKN_OMBI_1_GET_ISSUE_STATUS_COUNTS=true + - VRKN_OMBI_1_ISSUE_STATUS_RUN_SECONDS=300 + - VRKN_SICKCHILL_1_URL=sickchill.domain.tld:8081 + - VRKN_SICKCHILL_1_APIKEY=xxxxxxxxxxxxxxxx + - VRKN_SICKCHILL_1_SSL=false + - VRKN_SICKCHILL_1_VERIFY_SSL=false + - VRKN_SICKCHILL_1_GET_MISSING=true + - VRKN_SICKCHILL_1_GET_MISSING_RUN_SECONDS=300 + - VRKN_UNIFI_1_URL=unifi.domain.tld:8443 + - VRKN_UNIFI_1_USERNAME=ubnt + - VRKN_UNIFI_1_PASSWORD=ubnt + - VRKN_UNIFI_1_SITE=default + - VRKN_UNIFI_1_USG_NAME=MyRouter + - VRKN_UNIFI_1_SSL=false + - VRKN_UNIFI_1_VERIFY_SSL=false + - VRKN_UNIFI_1_GET_USG_STATS_RUN_SECONDS=300 depends_on: - influxdb restart: unless-stopped From 578b9606524614a3bf69ad8f35bad4a42979b19c Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Tue, 18 Jun 2019 17:38:30 -0500 Subject: [PATCH 7/9] re-add tz --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index ab6e51d6..e5439746 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,6 +21,7 @@ services: volumes: - /path/to/docker-varken/config-folder:/config environment: + - TZ=America/Chicago - VRKN_GLOBAL_SONARR_SERVER_IDS=1,2 - VRKN_GLOBAL_RADARR_SERVER_IDS=1,2 - VRKN_GLOBAL_LIDARR_SERVER_IDS=false From 8d2d51b199e7892c3e16f18f5bf22aa08157a4cd Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sun, 23 Jun 2019 23:21:06 -0500 Subject: [PATCH 8/9] v1.7.2 CHANGELOG + version to master --- CHANGELOG.md | 21 ++++++++++++++++++--- varken/__init__.py | 2 +- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c93f2017..f376a951 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,22 @@ # Change Log -## [v1.7.1](https://github.com/Boerderij/Varken/tree/v1.7.1) (2019-06-03) -[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.0...v1.7.1) +## [v1.7.2](https://github.com/Boerderij/Varken/tree/v1.7.2) (2019-06-23) +[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.1...v1.7.2) + +**Implemented enhancements:** + +- Allow configuration via environment variables [\#137](https://github.com/Boerderij/Varken/issues/137) + +**Fixed bugs:** + +- \[BUG\] logger invoked before initialization in dbmanager [\#138](https://github.com/Boerderij/Varken/issues/138) + +**Merged pull requests:** + +- v1.7.2 Merge [\#134](https://github.com/Boerderij/Varken/pull/134) ([DirtyCajunRice](https://github.com/DirtyCajunRice)) + +## [1.7.1](https://github.com/Boerderij/Varken/tree/1.7.1) (2019-06-04) +[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.0...1.7.1) **Fixed bugs:** @@ -273,7 +288,7 @@ **Merged pull requests:** - v0.1 [\#20](https://github.com/Boerderij/Varken/pull/20) ([samwiseg0](https://github.com/samwiseg0)) -- Added selfplug [\#19](https://github.com/Boerderij/Varken/pull/19) ([si0972](https://github.com/si0972)) +- Added selfplug [\#19](https://github.com/Boerderij/Varken/pull/19) ([Roxedus](https://github.com/Roxedus)) - Major rework of the scripts [\#14](https://github.com/Boerderij/Varken/pull/14) ([samwiseg0](https://github.com/samwiseg0)) - fix worldmap after change to maxmind local db [\#11](https://github.com/Boerderij/Varken/pull/11) ([madbuda](https://github.com/madbuda)) - Update sonarr.py [\#7](https://github.com/Boerderij/Varken/pull/7) ([ghost](https://github.com/ghost)) diff --git a/varken/__init__.py b/varken/__init__.py index a3424c87..f6e1dae4 100644 --- a/varken/__init__.py +++ b/varken/__init__.py @@ -1,2 +1,2 @@ VERSION = "1.7.2" -BRANCH = 'develop' +BRANCH = 'master' From b219fbb9ed59f52326c90c03a9342aeb7f272165 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sun, 23 Jun 2019 23:23:06 -0500 Subject: [PATCH 9/9] update merge # --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f376a951..200532fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ **Merged pull requests:** -- v1.7.2 Merge [\#134](https://github.com/Boerderij/Varken/pull/134) ([DirtyCajunRice](https://github.com/DirtyCajunRice)) +- v1.7.2 Merge [\#144](https://github.com/Boerderij/Varken/pull/144) ([DirtyCajunRice](https://github.com/DirtyCajunRice)) ## [1.7.1](https://github.com/Boerderij/Varken/tree/1.7.1) (2019-06-04) [Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.0...1.7.1)