{
  "id": 18256249,
  "title": "GUI for Docker running on a VPS | Setting up Portainer | Access on your local machine through SSH Tunnelling",
  "url": "https://urgent.news/2026/11/05/gui-for-docker-running-on-a-vps-setting-up-portainer-access-on-your",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-05T05:40:53.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/ishanjarwal/gui-for-docker-running-on-a-vps-setting-up-portainer-access-on-your-local-machine-through-ssh-30ig"
  },
  "original_language": "en",
  "account": "Setting up a Graphical User Interface (GUI) for Docker running on a VPS is straightforward with Portainer. This Docker-based tool provides a web-based interface for managing Docker containers. To achieve this, Portainer was installed as a Docker container on an Ubuntu VPS.\n\nThe process begins by ensuring Docker is installed and running on the VPS. Once Docker is operational, Portainer Community Edition is pulled and started as a container. The container exposes the Portainer HTTPS interface on port 9443 locally and communicates with the Docker engine using the Docker socket.\n\nA setup token is generated by Portainer, which is retrieved from the container logs and used for the initial setup. This token is crucial as it authenticates the setup process.\n\nTo access Portainer from a local machine without exposing port 9443 to the public internet, an SSH tunnel is created. This is done using the ssh command on the local machine, specifying the local and remote ports, as well as the VPS IP address. The SSH tunnel must remain active to maintain access.\n\nUpon accessing Portainer through the browser, it is important to note that Portainer defaults to HTTPS. Therefore, the correct URL to access is https://localhost:9443.\n\nAfter the initial setup, a user and password must be created. It is highly recommended to save this password in a password manager for security purposes.\n\nThe advantage of this setup is that Portainer is contained within a Docker container, providing an additional layer of security by not exposing the dashboard publicly. Portainer's dashboard is accessible through the SSH tunnel, utilizing the existing SSH access to securely reach the dashboard. To enhance security, ensure that port 9443 is blocked from public access in the VPS firewall, as mounting /var/run/docker.sock grants Portainer extensive control over Docker on the VPS, necessitating secure administration of its credentials.",
  "summary": "To see what's happening in docker, we have Docker Desktop. But what if your VPS runs docker, do we have a GUI for that ? So I recently set up Portainer on my Ubuntu VPS to manage Docker containers through a web-based interface. Instead of exposing the Portainer dashboard directly to the public internet, I decided to access it through an SSH tunnel. Here's a quick walkthrough of how I got it…",
  "key_points": [
    "Portainer GUI installed as Docker container on Ubuntu VPS",
    "SSH tunnel created for local access without exposing port 9443",
    "Password manager recommended for secure storage of Portainer password"
  ],
  "editors_take": "Using Portainer with SSH tunneling allows administrators to manage remote containers through a web interface while maintaining a secure perimeter that prevents public exposure of the management dashboard.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}