This guide explains how to reproduce the remote-development workflow for the shared project workstation. It is written for publication and handover, so all workstation names, user names, and credentials are represented as placeholders.
Each contributor works in:
Before starting, make sure you have:
Install and configure the VPN or private-network client used by the project. Confirm that the workstation hostname resolves and is reachable before continuing.
Example test:
ping <workstation-hostname>
Install the Microsoft Remote SSH extension in VS Code. This is the default access method because multiple contributors can work simultaneously without interfering with each other.
Add a host entry to your local SSH configuration:
Host project-workstation
HostName <workstation-hostname>
User <your-username>
Then connect from VS Code through the command palette using Remote-SSH: Connect to Host.
After connecting to the workstation, create a personal project folder and clone the repository there:
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\Projects"
Set-Location "$env:USERPROFILE\Projects"
git clone https://github.com/wanderfunke/bluegreencity-ki.git
Set-Location bluegreencity-ki
Recommended pattern:
If you need direct database access from Python, create a local .env file:
Copy-Item .env.example .env
Minimal structure:
POSTGIS_HOST=<database-hostname>
POSTGIS_PORT=5432
POSTGIS_DB=<database-name>
POSTGIS_USER=<database-user>
POSTGIS_PASSWORD=<database-password>
DATABASE_URL=postgresql://<database-user>:<url-encoded-password>@<database-hostname>:5432/<database-name>
Rules:
Generate a key pair on your local machine if you want passwordless login:
ssh-keygen -t ed25519 -C "your.email@example.org"
Add the public key to the authorized key location required by the workstation policy. The exact location depends on whether the user account is standard or administrative on Windows.
General verification step:
ssh <your-username>@<workstation-hostname>
Use Remote Desktop only for tasks that truly require a full GUI session. Remote-SSH should remain the default development path.
Good reasons to use Remote Desktop:
Typical sequence:
Useful commands:
git pull origin main
git checkout -b feature/<short-name>
git status
Administrator tasks should be documented without embedding passwords directly in scripts.
Safer pattern for creating a Windows user interactively:
$Username = "newuser"
$FullName = "New User"
$Password = Read-Host "Enter a temporary password" -AsSecureString
New-LocalUser $Username -Password $Password -FullName $FullName -Description "Remote development account"
Add-LocalGroupMember -Group "Administrators" -Member $Username
If SSH keys are required for administrative Windows accounts, document the correct authorized-keys location in an internal admin note rather than distributing live workstation paths and account details publicly.