Pavion / tvstreamrecord

Timed TV stream recording for Python
GNU General Public License v3.0
45 stars 10 forks source link

Konfiguration woanders speichern (docker) #35

Closed axute closed 3 years ago

axute commented 5 years ago

Hallo,

ich habe das ganze im Docker laufen und Probleme mit der settings.db diese zu speichern. Es wäre super wenn man den Pfad zum speichern der Konfiguration ändern/überschreiben könnte.

Beispiel wäre dass ich sie in/config/settings.db legen könnte ...

VG axute

Pavion commented 5 years ago

Hi Axute,

man kann ja schlecht den Pfad zur Konfigurationsdatei in der Konfigurationsdatei vorgeben :P

Du kannst diesen aber gern mit einem normalen Editor in sql.py ändern und das Tool (neu)starten: https://github.com/Pavion/tvstreamrecord/blob/master/sql.py#L26

Zwar würde er durch jede neue Version überschrieben, jedoch a) plane ich derzeit keine :) b) auch in einer neuen Version könnte dann der Pfad wieder geändert werden, wodurch die alte Konfiguration gelesen und bei Bedarf automatisch migriert wird.

Grüße Pav

axute commented 5 years ago

Hi Pav, es wäre halt sehr praktisch wenn ich nur eine Umgebungsvariable setzen müsste, welche angibt in welchem Ordner sich die settings.db befindet. Aktuell habe ich es mit einem symbolic-link gelöst, nicht sehr schön aber funktioniert anscheinend. Trotzdem vielen Dank für die Antwort.

Falls jemand an dem Dockerfile interessiert ist:

FROM python:2.7.16-alpine3.10
ENV TIMEZONE=Europe/Berlin
RUN apk update && apk add --no-cache --upgrade python ca-certificates ffmpeg tzdata wget zip tar && rm -rf /var/cache/apk/* && rm -rf /tmp/*
RUN cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime && echo Europe/Berlin > /etc/timezone
EXPOSE 8030/tcp
RUN wget -qO - https://github.com/Pavion/tvstreamrecord/archive/1.4.1.tar.gz | tar -xvz -C /
RUN mv /tvstreamrecord-1.4.1 /tvstreamrecord
RUN mkdir /config
RUN touch /config/settings.db
RUN cd /tvstreamrecord && ln -s /config/settings.db
RUN ls -la /tvstreamrecord
WORKDIR /tvstreamrecord
CMD ["python","/tvstreamrecord/tvstreamrecord.py"]

VG axute

Pavion commented 5 years ago

Eigentlich finde ich die Lösung mit dem Symlink ziemlich elegant...

Eine weitere Lösung mit automatischer Pfadaktualisierung (Quelle: https://stackoverflow.com/questions/27713362/editing-files-from-dockerfile)

RUN sed -i "s|'settings.db'|'config/settings.db'|g" /tvstreamrecord/sql.py

Pavion commented 3 years ago

Implementiert mit 1.5.1 und dem offiziellen Docker-Image: https://hub.docker.com/repository/docker/pavion/tvstreamrecord/ Danke für die Ideen, manchmal brauche ich halt ein paar Jahre 😄