Skip to content

docs: add manual WSL setup steps for SSL and port binding#56

Open
iArroe wants to merge 1 commit intoiloveitaly:masterfrom
iArroe:feature/wsl-setup-docs
Open

docs: add manual WSL setup steps for SSL and port binding#56
iArroe wants to merge 1 commit intoiloveitaly:masterfrom
iArroe:feature/wsl-setup-docs

Conversation

@iArroe
Copy link
Copy Markdown

@iArroe iArroe commented Feb 24, 2026

I’ve managed to get the full local environment up and running with a secure HTTPS trust chain. Since the automated scripts ran into some hurdles with how WSL interacts with the Windows host, I had to perform several manual interventions to bridge the gap. Here’s a quick rundown of what I did to get the project operational:

To start, I had to handle some foundational pathing issues by locating the localias binary within the version manager and manually linking it to /usr/local/bin. Once the command was accessible, I shifted focus to the networking and security side to ensure the frontend and backend could talk to each other securely. This involved a few key steps:

  • Identified the binary path in my version manager and established a global symbolic link and execution permissions so the localias command would work across the system.

  • Used setcap to grant the binary permission to bind to ports 80 and 443. This was necessary to allow the daemon to handle web traffic without needing to run every command as root.

  • Performed a recursive ownership fix on the .local/state/localias directory to ensure my user had full access to the PKI store and private keys, which resolved some early "permission denied" errors.

  • Manually extracted the Root CA from the Linux environment and imported it into the Windows Trusted Root Certification Authorities store. This is what finally cleared the "Not Secure" warnings and gave me the green padlock in Brave.

  • Initialized the Docker daemon within WSL to stand up our containerized dependencies. This ensured that Postgres, Redis, and Mailpit were properly provisioned and mapped to their respective project subdomains.

  • Audited the Windows host for port collisions and disabled the W3SVC service to make sure the WSL traffic controller could "own" the local domains without interference.

By clearing these hurdles, the full stack is now synchronized. The Vite frontend is live at https://web.localhost and the FastAPI backend documentation is fully accessible at https://api.python-template.localhost/docs.

Copy link
Copy Markdown
Owner

@iloveitaly iloveitaly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • follow the PR template when submitting a PR
  • way too much text in your description, make it shorter

@@ -0,0 +1,13 @@
# Updated WSL Ports for Today
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this looks like a mistake

export OPENAI_API_KEY="api-key"
export SENTRY_DSN="backend-dsn"
export POSTHOG_SECRET_KEY="secret-key"
# op_inject_source <<'EOF'
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't include all changes, just the changes for the WSL setup

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants