diff --git a/scripts/Common/Software/docker/services/jellyfin/proton-entrypoint.sh b/scripts/Common/Software/docker/services/jellyfin/proton-entrypoint.sh
index 922a5453..b79fa2b1 100644
--- a/scripts/Common/Software/docker/services/jellyfin/proton-entrypoint.sh
+++ b/scripts/Common/Software/docker/services/jellyfin/proton-entrypoint.sh
@@ -8,7 +8,7 @@ fi
 export DBUS_SESSION_BUS_ADDRESS=`dbus-daemon --fork --config-file=/usr/share/dbus-1/session.conf --print-address`
 mkdir -p ~/.config
 ln -s /data/proton ~/.config/protonvpn
-
+pvpn-login || exit $?
 pvpn-cli || true
 ip link show protonwire0 >/dev/null 2>&1 || exit
 exec "$@"
diff --git a/scripts/Common/Software/docker/services/jellyfin/pvpn-cli.py b/scripts/Common/Software/docker/services/jellyfin/pvpn-cli.py
index 41f9ee48..3da324b3 100644
--- a/scripts/Common/Software/docker/services/jellyfin/pvpn-cli.py
+++ b/scripts/Common/Software/docker/services/jellyfin/pvpn-cli.py
@@ -10,23 +10,6 @@ from protonvpn_nm_lib.api import FeatureEnum
 from protonvpn_nm_lib.core.servers.list import LogicalServer
 
 cli = CLIWrapper()
-
-if not cli.protonvpn.get_session().is_valid:
-    print("You are not logged in.", file=sys.stderr)
-
-    if (sys.__stdin__ != None) and sys.__stdin__.isatty():
-        print("Please log in to ProtonVPN", file=sys.stderr)
-        print("Username: " + environ["PVPN_USERNAME"], file=sys.stderr)
-        result = subprocess.run(["protonvpn-cli", "login", environ["PVPN_USERNAME"]])
-
-        if result.returncode != 0:
-            exit(result.returncode)
-        else:
-            exit(0)
-    else:
-        print("Please run this container interactively in order to log in.", file=sys.stderr)
-        exit(1)
-
 parser = ArgumentParser()
 
 args = sys.argv[1:]
diff --git a/scripts/Common/Software/docker/services/jellyfin/pvpn-login.py b/scripts/Common/Software/docker/services/jellyfin/pvpn-login.py
new file mode 100644
index 00000000..65982f99
--- /dev/null
+++ b/scripts/Common/Software/docker/services/jellyfin/pvpn-login.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python3
+from os import environ
+import sys
+from protonvpn_cli.cli_dialog import subprocess
+from protonvpn_cli.cli_wrapper import CLIWrapper
+
+cli = CLIWrapper()
+
+if not cli.protonvpn.get_session().is_valid:
+    print("You are not logged in.", file=sys.stderr)
+
+    if (sys.__stdin__ != None) and sys.__stdin__.isatty():
+        username = environ["PVPN_USERNAME"]
+        print("Please log in to ProtonVPN", file=sys.stderr)
+        print("Username: " + username, file=sys.stderr, flush=True)
+        result = subprocess.run(["protonvpn-cli", "login", username])
+
+        if result.returncode != 0:
+            exit(result.returncode)
+        else:
+            exit(0)
+    else:
+        print("Please run this container interactively in order to log in.", file=sys.stderr, flush=True)
+        exit(1)