Polarion on your laptop, ready in minutes.
One build. Every version. All platforms.
See it in action
Build once, run anywhere. Control everything from VS Code or the terminal — start, stop, logs, debugger, mail catcher.
What it does
A production-grade Docker image that turns Polarion setup from a half-day chore into a two-command workflow.
PostgreSQL, WebSocket proxy, SVN aliases, and memory tuning handled automatically. Drop in your Polarion ZIP, build, and start — nothing else to configure.
zero-configBundled workspace file with tasks for every action: start, stop, logs, error grep, debugger attach, and hot plugin redeploy. Run everything without leaving your editor.
vscode tasksJDWP debug port exposed out of the box. Attach VS Code's Java debugger and set breakpoints inside any Polarion class or your own plugin — live, while Polarion runs.
jdwp · port 8000Embedded Mailpit catches all outgoing Polarion notifications automatically. Inspect every email at localhost:8025 without touching a real mailbox. Override with a real SMTP host for integration testing.
localhost:8025Deploy your plugin JAR into a running container without restarting Polarion. The "Plugin: Redeploy" VS Code task copies and triggers reloading — plugin loop iteration time drops to seconds.
no restart neededFull support for macOS's new native container runtime (macOS 26+) alongside Docker and OrbStack. One Dockerfile, every runtime — including Apple's linux/amd64 emulation layer.
macos 26+Setup
Download your Polarion ZIP from Siemens and drop it into the repo's data/ folder. That's the only file you need to supply.
One command. Docker (or OrbStack, or Apple Container) handles everything: OS layer, PostgreSQL, Java, WebSocket config, and the Polarion installation itself.
docker build -t polarion:local .Run the container, open VS Code, and start building. Attach the debugger, deploy your plugin, inspect emails — all from within your editor.
./polarionctl.sh startCompatibility
One Dockerfile. Every major container runtime. Pick what's already installed.
container build and the linux/amd64 platform flag.Quick Start
Choose your container runtime. Copy the commands. You're developing on Polarion in minutes.
# Clone and drop in your Polarion ZIP git clone https://github.com/phillipboesger/polarion-docker cp ~/Downloads/PolarionALM_*.zip data/ # Build docker build --platform linux/amd64 -t polarion:local . # Run docker run -d \ --name polarion \ --platform linux/amd64 \ --memory 4g \ -p 80:80 \ -p 8025:8025 \ -p 5433:5433 \ -p 5005:5005 \ -e JAVA_OPTS="-Xmx3g -Xms3g" \ -e JDWP_ENABLED=true \ --volume polarion_repo:/opt/polarion/data/svn \ --volume polarion_extensions:/opt/polarion/polarion/extensions \ polarion:local # Polarion: http://localhost/ Mailpit: http://localhost:8025/
# Requires macOS 26+ with Apple Container container system start container builder start --cpus 8 --memory 8g container build --platform linux/amd64 -t polarion:local . container builder stop container run -d \ --name polarion \ --platform linux/amd64 \ --rosetta \ --cpus 8 \ --memory 4g \ -p 127.0.0.1:8080:80 \ -p 127.0.0.1:8025:8025 \ -p 127.0.0.1:5433:5433 \ -p 127.0.0.1:5005:5005 \ -e JAVA_OPTS="-Xmx3g -Xms3g" \ -e JDWP_ENABLED=true \ -v polarion_repo:/opt/polarion/data/svn \ -v polarion_extensions:/opt/polarion/polarion/extensions \ polarion:local # Polarion: http://localhost:8080/ Mailpit: http://localhost:8025/
// Open the bundled workspace file in VS Code code polarion-docker.code-workspace // Then run tasks via ⌘⇧P → "Tasks: Run Task" // Container: Start → builds image if needed, starts container Container: Stop → graceful shutdown Container: Logs → live log tail in terminal Container: Errors → filter log for ERROR / WARN Debugger: Attach → connect Java debugger Plugin: Redeploy → hot-deploy plugin JAR without restart
// .vscode/launch.json — already included in the workspace { "type": "java", "name": "Attach to Polarion (Docker)", "request": "attach", "hostName": "localhost", "port": 5005 } // Container must be started with JDWP enabled (-p 5005:5005 -e JDWP_ENABLED=true) // Then use the VS Code "Debugger: Attach" task or F5 // Set breakpoints in your plugin or Polarion classes — they hit live.
ghcr.io/phillipboesger/polarion-docker image bundles a licensed Polarion install and is only accessible to authorized pull accounts. Use Build from Source above unless you already have access.
# Every Polarion version ships its own image tag (e.g. 2506, 2606). # Use :latest to always get the most recent release. docker run -d \ --name polarion \ --platform linux/amd64 \ --memory 4g \ -p 80:80 \ # Polarion web UI → http://localhost/ -p 8025:8025 \ # Mailpit → http://localhost:8025/ -p 5433:5433 \ # PostgreSQL -p 5005:5005 \ # JDWP debugger -e JAVA_OPTS="-Xmx3g -Xms3g" \ -e JDWP_ENABLED=true \ --volume polarion_repo:/opt/polarion/data/svn \ --volume polarion_extensions:/opt/polarion/polarion/extensions \ ghcr.io/phillipboesger/polarion-docker:latest
Polarion & AI Freelancer · Bösger Digital
Nearly a decade of Polarion experience. I built polarion-docker because setting up a local Polarion instance was taking half a day — and I needed to do it every time I started with a new client or version. Now it's two commands.
Open-source, self-hosted, and running in minutes. Your ZIP, your machine, your data.