Shrink Docker Image, bump version, docker run as non-root

This commit is contained in:
bohdan-s
2021-12-24 13:12:01 +11:00
parent bdf21001c4
commit 2cddb4d9e8
3 changed files with 27 additions and 4 deletions
+9 -3
View File
@@ -1,4 +1,6 @@
FROM python:3
FROM python:3-slim
RUN useradd sungather
WORKDIR /usr/src/sungather
@@ -6,6 +8,10 @@ COPY requirements.txt ./
RUN pip install --no-cache-dir --upgrade -r requirements.txt
COPY SunGather/ .
RUN touch /config/config.yaml
CMD [ "python", "sungather.py -c /config/config.yaml" ]
VOLUME /config
COPY SunGather/config-example.yaml /config/config.yaml
USER sungather
CMD [ "python", "sungather.py", "-c", "/config/config.yaml" ]
+17
View File
@@ -80,6 +80,10 @@ python3 sungather.py
docker pull bohdans/sungather
docker run -v {path to}/config.yaml:/config/config.yaml -e TZ=Australia/Sydney --name sungather bohdans/sungather
```
or if using the http export
```sh
docker run -v {path to}/config.yaml:/config/config.yaml -e TZ=Australia/Sydney -p 8080:8080 --name sungather bohdans/sungather
```
Note: replace Australia/Sydney with relevant timezone
<p align="right">(<a href="#top">back to top</a>)</p>
@@ -92,6 +96,19 @@ See config-example.py it contains default options and comments.
If you want to use the new Energy section in Home Assistant, follow the Home Assistant setup below.
<p align="right">(<a href="#top">back to top</a>)</p>
### Commandline Arguments
usage: python3 sungather.py [options]
Commandline arguments override any config file settings
**-c config.yaml** - Specify config file.
**-v 30** - Logging Level, 10 = Debug, 20 = Info, 30 = Warning (default), 40 = Error
**--runonce** - Run once then exit
**-h** - print this help message and exit (also --help)
Example:
```sh
python3 sungather.py -c /full/path/config.yaml
```
## Exports
+1 -1
View File
@@ -11,7 +11,7 @@ class export_http(object):
# Configure HTTP
def configure(self, config):
self.webServer = HTTPServer(('localhost', config.get('port',8080)), MyServer)
self.webServer = HTTPServer(('', config.get('port',8080)), MyServer)
t = Thread(target=self.webServer.serve_forever)
t.start()
logging.info("Configured Simple HTTP Server")