Dev environments tutorials
Developer environments on your server: self-hosted Git with Gitea, git-push deploys, CI/CD, staging, code-server, environment variables, Node, Python, PHP and systemd.
How to keep sessions running after disconnect with tmux
tmux keeps your terminal sessions alive even after you close SSH, ideal for long-running tasks.
Updated 7/20/2026Dev environmentsHow to create a systemd service for your app
Make your app start automatically and restart itself if it stops, with a systemd service.
Updated 7/20/2026Dev environmentsHow to manage environment variables and secrets
Keep passwords and keys out of your code, in environment variables, safely and correctly.
Updated 7/20/2026Dev environmentsHow to install PHP (multiple versions) and Composer
Install the PHP version your project needs, along with Composer for package management.
Updated 7/20/2026Dev environmentsHow to install Node.js with nvm (multiple versions)
Install and switch between multiple Node.js versions on the same server with nvm.
Updated 7/20/2026Dev environmentsHow to set up Python virtual environments
Isolate each Python project dependencies with virtual environments, so they do not clash.
Updated 7/20/2026Dev environmentsHow to build a CI/CD pipeline
Automate testing and deploying your code on every change, with a CI/CD pipeline on your server.
Updated 7/20/2026Dev environmentsHow to run VS Code in the browser with code-server
Code from anywhere with VS Code running on your server, accessible from a browser.
Updated 7/20/2026Dev environmentsHow to set up a staging environment
Test changes on a copy of production before shipping them, to avoid surprises.
Updated 7/20/2026Dev environmentsHow to deploy with a simple git push
Set up a deploy flow where a git push automatically updates the app on the server.
Updated 7/20/2026Dev environmentsHow to self-host your own Git with Gitea
Run your own Git server, lightweight and fast, with Gitea, the self-hosted alternative to GitHub.
Updated 7/20/2026