Hallo zusammen,
es gab hier vor einiger Zeit die Frage nach PP in Docker an dem ich ebenfalls interessiert war. Ich habe mir das jetzt nochmal angeguckt und es läuft. Mit dem Container kann man PP dann einfach im Browser aufrufen z.B. über ein Tablet.
Ich setze jetzt mal ein paar Docker Grundkenntnisse voraus, daher hier nur eine kurze Anleitung
dockerfile
############## docker build -t portfolio . #################
FROM jlesage/baseimage-gui:debian-12-v4
ENV APP_NAME="PortfolioPerformance"
ENV APP_ICON_URL=https://www.portfolio-performance.info/images/logo.png
ENV VERSION 0.72.2
ENV ARCHIVE https://github.com/buchen/portfolio/releases/download/${VERSION}/PortfolioPerformance-${VERSION}-linux.gtk.x86_64.tar.gz
ENV JAVA_VER 23
RUN \
apt-get update && \
apt-get -y --no-install-recommends install apt-transport-https \
wget \
ca-certificates \
&& wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /usr/share/keyrings/adoptium.asc \
&& echo "deb [signed-by=/usr/share/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb bookworm main" | tee /etc/apt/sources.list.d/adoptium.list \
&& apt-get update \
&& apt-get -y install \
temurin-${JAVA_VER}-jre && \
apt-get purge -y apt-transport-https \
wget && \
apt-get autoremove -y && \
apt-get clean
RUN \
add-pkg libgtk-3-bin && \
add-pkg --virtual build-dependencies wget && \
cd /opt && wget ${ARCHIVE} && tar xvzf PortfolioPerformance-${VERSION}-linux.gtk.x86_64.tar.gz && \
echo "-configuration\n/opt/portfolio/configuration\n-data\n/opt/portfolio/workspace\n$(cat /opt/portfolio/PortfolioPerformance.ini)" > /opt/portfolio/PortfolioPerformance.ini && \
echo "osgi.nl=de" >> /opt/portfolio/configuration/config.ini && \
chmod -R 777 /opt/portfolio && \
rm -r PortfolioPerformance-${VERSION}-linux.gtk.x86_64.tar.gz && \
install_app_icon.sh "$APP_ICON_URL" && \
del-pkg build-dependencies && \
sed -i "s/resize = 'scale';/resize = 'remote';/g" /opt/noVNC/app/ui.js
RUN \
echo '#!/bin/sh' >> /startapp.sh && \
echo 'cd /opt/portfolio/workspace' >> /startapp.sh && \
echo 'exec /opt/portfolio/PortfolioPerformance' >> /startapp.sh && \
chmod +x /startapp.sh
Die Datei speichert ihr auf eurem Docker Gerät, loggt euch per SSH ein, navigiert zu dem Pfad und gebt diesen Befehl ein:
docker build -t portfolio .
Der Punkt am Ende ist wichtig
Jetzt erstellt er das Image, nachdem das alles fertig ist den Container starten:
docker run -d \
--name PortfolioPerformance \
-v /pfad/zum/Ordner/PortfolioPerformance:/opt/portfolio/workspace \
-p 5800:5800 \
-e KEEP_APP_RUNNING=1 \
-e DARK_MODE=1 \
-e USER_ID=0 \
-e GROUP_ID=0 \
-e TZ="Europe/Berlin" \
portfolio
Alternativ als compose:
services:
portfolioperformance:
image: portfolio
container_name: PortfolioPerformance
ports:
- 5800:5800
volumes:
- /pfad/zum/Ordner/PortfolioPerformance:/opt/portfolio/workspace
environment:
- KEEP_APP_RUNNING=1
- DARK_MODE=1
- USER_ID=0
- GROUP_ID=0
- TZ=Europe/Berlin
restart: always
Anschließend einfach im Browser über eure-Geräte-IP:5800 öffnen.
In dem von euch gewählten Pfad könnt ihr jetzt eure Depot.xml Datei ablegen und im Browser öffnen.
Updates funktionieren ebenfalls, man muss das Image nicht bei jeder Version neu bauen.
Was nicht funktioniert ist das aufrufen von URLs über PP, da kein Browser installiert ist
In den Einstellungen muss noch ein Haken bei SWTChart gesetzt werden sonst funktioniert die Bestandsansicht nicht richtig. Das ist ein bekannter Fehler bei Debian.
Feedback ist gerne gesehen