Windows
This version is not production-ready and may result in data loss. Use at your own risk.
No Backup - No Mercy!
We strongly recommend using the Docker-based installation for PLANKA.
The manual installation requires additional security configurations and a deep understanding of your environment. For example, to prevent SSRF and accidental access to internal services, you would need to properly configure an outgoing HTTP proxy.
The Docker version comes with a pre-installed outgoing proxy, which can be easily configured using Docker-only environment variables (OUTGOING_BLOCKED_IPS, OUTGOING_BLOCKED_HOSTS, OUTGOING_ALLOWED_IPS, OUTGOING_ALLOWED_HOSTS) to safely restrict outbound traffic.
System Requirements
- PostgreSQL (tested with v16): https://www.postgresql.org/download/windows/
- Node.js (tested with v22): https://nodejs.org/en/download/
- Python (tested with v3.10): https://www.python.org/downloads/
- Windows PowerShell as Administrator
Install PLANKA (Nightly)
Create the installation directory:
mkdir C:\planka
cd C:\planka
Clone the repo:
git clone https://github.com/plankanban/planka.git .
Install dependencies and build the client:
npm install
cd client
npm run build
Set Up Symlinks
Instead of copying files, use symbolic links for easier updates:
New-Item -ItemType SymbolicLink -Path "C:\planka\server\public\favicon.ico" -Target "C:\planka\client\dist\favicon.ico"
New-Item -ItemType SymbolicLink -Path "C:\planka\server\public\logo192.png" -Target "C:\planka\client\dist\logo192.png"
New-Item -ItemType SymbolicLink -Path "C:\planka\server\public\logo512.png" -Target "C:\planka\client\dist\logo512.png"
New-Item -ItemType SymbolicLink -Path "C:\planka\server\public\manifest.json" -Target "C:\planka\client\dist\manifest.json"
New-Item -ItemType SymbolicLink -Path "C:\planka\server\public\robots.txt" -Target "C:\planka\client\dist\robots.txt"
New-Item -ItemType SymbolicLink -Path "C:\planka\server\public\assets" -Target "C:\planka\client\dist\assets"
New-Item -ItemType SymbolicLink -Path "C:\planka\server\views\index.html" -Target "C:\planka\client\dist\index.html"
Configure Environment Variables
Go to the server directory and copy the sample .env file:
cd C:\planka\server
cp .env.sample .env
Generate a secret key:
-join ((33..126) | Get-Random -Count 32 | % {[char]$_})
Note the output - you'll need it for the
.envfile.
Edit the .env file:
notepad.exe .env
Example .env configuration:
## Required
BASE_URL=http://YOUR_DOMAIN_NAME:YOUR_PORT
DATABASE_URL=postgresql://planka:YOUR_DATABASE_PASSWORD@localhost/planka
SECRET_KEY=YOUR_GENERATED_KEY
## Optional
...
Security note: For manual installations, you need to configure your own
OUTGOING_PROXYor implement firewall rules to restrict outbound traffic and prevent access to internal services.
Initialize the Database and Create an Admin User
Initialize the database:
npm run db:init
Create an admin user:
npm run db:create-admin-user
Sample output:
Email: YOUR_ADMIN_EMAIL
Password: YOUR_ADMIN_PASSWORD
Name: ...
Username (optional): ...
Start PLANKA
From the server directory, start PLANKA:
npm start --prod
Access PLANKA
Once the services are running, browse to http://YOUR_DOMAIN_NAME:YOUR_PORT and log in as YOUR_ADMIN_EMAIL with the password YOUR_ADMIN_PASSWORD.
Troubleshooting
If you encounter issues during the build process on Windows, try:
git config --global core.autocrlf false
Then restart the installation process from the beginning.