diff --git a/docker/Dockerfile b/docker/Dockerfile index c5e98e3..a10710f 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -57,7 +57,10 @@ ENV CFGUPGRADE="true" ENV DB="auto" ENV DOCKER="true" ENV EARLYRENEW="30" +ENV ENABLELOG="true" +ENV ENABLELOGCOMPRESS="true" ENV FASTGEOIP="false" +ENV LOGROTATE="0" ENV MDNS="true" ENV MDNSNAME="''" ENV NOAUTH="false" diff --git a/docker/README.md b/docker/README.md index a360796..23d93b5 100644 --- a/docker/README.md +++ b/docker/README.md @@ -87,7 +87,10 @@ Variables are the same as those in [Start Parameters](https://github.com/tobychu | `DB` | `auto` (String) | Database backend to use (leveldb, boltdb, auto) Note that fsdb will be used on unsupported platforms like RISCV (default "auto"). | | `DOCKER` | `true` (Boolean) | Run Zoraxy in docker compatibility mode. | | `EARLYRENEW` | `30` (Integer) | Number of days to early renew a soon expiring certificate. | +| `ENABLELOG` | `true` (Boolean) | Enable system wide logging, set to false for writing log to STDOUT only. | +| `ENABLELOGCOMPRESS` | `true` (Boolean) | Enable log compression for rotated log files. | | `FASTGEOIP` | `false` (Boolean) | Enable high speed geoip lookup, require 1GB extra memory (Not recommend for low end devices). | +| `LOGROTATE` | `0` (Integer) | Enable log rotation and set the maximum log file size in KB (e.g. 25 for 25KB), set to 0 for disable. | | `MDNS` | `true` (Boolean) | Enable mDNS scanner and transponder. | | `MDNSNAME` | `''` (String) | mDNS name, leave empty to use default (zoraxy_{node-uuid}.local). | | `NOAUTH` | `false` (Boolean) | Disable authentication for management interface. | diff --git a/docker/entrypoint.py b/docker/entrypoint.py index e476d4b..814126e 100644 --- a/docker/entrypoint.py +++ b/docker/entrypoint.py @@ -87,22 +87,25 @@ def start_zoraxy(): zoraxy_args = [ "zoraxy", - f"-autorenew={getenv('AUTORENEW', '86400')}", - f"-cfgupgrade={getenv('CFGUPGRADE', 'true')}", - f"-db={getenv('DB', 'auto')}", - f"-docker={getenv('DOCKER', 'true')}", - f"-earlyrenew={getenv('EARLYRENEW', '30')}", - f"-fastgeoip={getenv('FASTGEOIP', 'false')}", - f"-mdns={getenv('MDNS', 'true')}", - f"-mdnsname={getenv('MDNSNAME', "''")}", - f"-noauth={getenv('NOAUTH', 'false')}", - f"-plugin={getenv('PLUGIN', '/opt/zoraxy/plugin/')}", - f"-port=:{getenv('PORT', '8000')}", - f"-sshlb={getenv('SSHLB', 'false')}", - f"-update_geoip={getenv('UPDATE_GEOIP', 'false')}", - f"-version={getenv('VERSION', 'false')}", - f"-webfm={getenv('WEBFM', 'true')}", - f"-webroot={getenv('WEBROOT', './www')}", + f"-autorenew={ getenv('AUTORENEW', '86400') }", + f"-cfgupgrade={ getenv('CFGUPGRADE', 'true') }", + f"-db={ getenv('DB', 'auto') }", + f"-docker={ getenv('DOCKER', 'true') }", + f"-earlyrenew={ getenv('EARLYRENEW', '30') }", + f"-enablelog={ getenv('ENABLELOG', '30') }", + f"-enablelogcompress={ getenv('ENABLELOGCOMPRESS', '30') }", + f"-fastgeoip={ getenv('FASTGEOIP', 'false') }", + f"-logrotate={ getenv('LOGROTATE', '0') }", + f"-mdns={ getenv('MDNS', 'true') }", + f"-mdnsname={ getenv('MDNSNAME', "''") }", + f"-noauth={ getenv('NOAUTH', 'false') }", + f"-plugin={ getenv('PLUGIN', '/opt/zoraxy/plugin/') }", + f"-port=:{ getenv('PORT', '8000') }", + f"-sshlb={ getenv('SSHLB', 'false') }", + f"-update_geoip={ getenv('UPDATE_GEOIP', 'false') }", + f"-version={ getenv('VERSION', 'false') }", + f"-webfm={ getenv('WEBFM', 'true') }", + f"-webroot={ getenv('WEBROOT', './www') }", ] zoraxy_proc = popen(zoraxy_args)