Develop Kiwi TCMS Remotely on Ubuntu 24.04 (Headless) with IntelliJ IDEA Ultimate + JetBrains Gateway (Windows 11)

Goal: Use IntelliJ IDEA Ultimate on Windows 11 to edit and run Kiwi TCMS on a GUI-less Ubuntu 24.04 server via JetBrains Gateway (SSH). All compute (indexing, run/debug) runs on the server; your Windows machine shows a thin JetBrains UI. Browse the app at http://127.0.0.1:8000/ via port forwarding.

Server prep (do this first):
Spin Up a Kiwi TCMS Dev Environment on Ubuntu 24.04 Server (Headless) and Access It via SSH Port Forwarding

Development only. For production, use a real WSGI/ASGI server, reverse proxy, TLS, and a managed database.


Prerequisites

Windows 11

  • IntelliJ IDEA Ultimate (signed in).
  • JetBrains Gateway (from JetBrains Toolbox or standalone).
  • Built-in OpenSSH client (PowerShell ssh).

Ubuntu 24.04 (headless)

  • Prepared exactly as in the linked post: repo at ~/Kiwi, venv at ~/kiwi-env, Node via nvm, npm install in ~/Kiwi/tcms, DB migrated, superuser created.
  • SSH access (examples use user administrator).

  1. Connect with Gateway → SSH
  • Launch JetBrains GatewaySSHNew Connection.
  • Host: client.maksonlee.com   Username: administrator.
  • IDE backend: IntelliJ IDEA.
  • Project directory: /home/administrator/Kiwi.
  • Click Start IDE and Connect → a JetBrains Client window opens on Windows (the IDE backend runs on the server).

  1. Install plugins on Host (server-side IDE)

In JetBrains Client → Settings (Ctrl+Alt+S) → Plugins → Host:

  • Install Python (by JetBrains).
  • Install Django (by JetBrains).
  • Restart the remote IDE backend when prompted.

Make sure both show under Host, not only Client.


  1. Point IntelliJ to the server venv (IntelliJ way)

IntelliJ uses Project Structure for Python interpreters.

  • Project Structure (Ctrl+Alt+Shift+S) → SDKs+Add Python SDK from disk… → choose: /home/administrator/kiwi-env/bin/python
  • ProjectSDK: select Python 3.12 virtualenv at ~/kiwi-env.
  • ModulesDependenciesModule SDK: set the same SDK if needed.

  1. Enable Django

Settings → Languages & Frameworks → Django → Enable Django Support

  • Django project root: /home/administrator/Kiwi
  • Settings: select tcms/settings/devel.py (Kiwi TCMS dev settings)
  • Manage script: manage.py

  1. Create run/debug configurations
  • Webpack (watch)

Use a login shell:

source ~/.bashrc; cd ~/Kiwi/tcms && ./node_modules/.bin/webpack watch
  • Django (runserver)
Run → Edit Configurations… → + → Django Server
Name: Django (Kiwi)
Host: 127.0.0.1
Port: 8000
Working directory: /home/administrator/Kiwi
Python interpreter: Python 3.12 virtualenv at ~/kiwi-env
(Optional) Environment: PYTHONUNBUFFERED=1; DJANGO_SETTINGS_MODULE=tcms.settings.devel
  • (Optional) One-click start for both
Run → Edit Configurations… → + → Compound
Name: Kiwi: Webpack + Django
Add: Webpack (watch), Django (Kiwi)

Start Webpack first (or the Compound), then Django.


  1. Open the app locally (forward 8000 → Windows)

Option A — inside IntelliJ (recommended): When Django is running, the Run window shows a listening port 8000. Click the port badgeForward Port (or Forward & Open in Browser).

Option B — classic PowerShell SSH:

ssh -N -L 8000:127.0.0.1:8000 administrator@client.maksonlee.com

Open http://127.0.0.1:8000/.


  1. Verify
  • Kiwi TCMS homepage opens at http://127.0.0.1:8000/; log in with the superuser.
  • Webpack rebuilds on file changes.
  • Django shows access logs/tracebacks in the Run tool window.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top