[{"data":1,"prerenderedAt":189},["ShallowReactive",2],{"seo-verification":3,"blog-self-host-termix-ssh-server-manager-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-self-host-termix-ssh-server-manager-vps-en",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":125,"ctaBody":126,"ctaButton":127,"ctaUrl":128,"relatedPosts":129},490,"self-host-termix-ssh-server-manager-vps",{"fr":12,"en":10,"ar":13,"es":14},"self-host-termix-vps","استضافة-termix-على-vps-بديل-termius-مفتوح-المصدر","autoalojar-termix-en-vps-alternativa-termius","Self-Host Termix on a VPS: Open-Source Termius Alternative","Install Termix on a VPS: SSH terminal, SFTP files, Docker and metrics for all your servers in the browser. Open source, no subscription.",6,0,false,"2026-10-22T00:00:00+00:00","2026-10-23T13:27:02+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-termix-vps-poster.svg",{"categorySlug":34,"appSlug":35},"application-deployment-devops","termix","Termix is an open-source (Apache-2.0) server manager that brings everything you usually do with an SSH client into the browser: a host book, encrypted SSH keys, a tabbed terminal, an SFTP file manager, Docker container management and per-host metrics. It is the self-hosted counterpart of Termius, with no subscription, and your credentials stay on your own VPS. This guide installs it as a single Docker container behind HTTPS.",[38,42,53,90,93,109,113,116,119,122],{"type":39,"title":40,"body":41},"h2","Why self-host your SSH console","A desktop SSH client keeps your hosts and keys on a single computer; a cloud service like Termius syncs them through a third party, for a per-user subscription. Termix takes the third road: a server you host, reachable from any browser, the desktop app or a phone, with accounts and role-based sharing for the whole team.\n\nRunning it on a VPS rather than on a machine inside the network it manages has one simple advantage: when that network goes down, the console stays reachable. That is exactly when you need it.",{"type":43,"title":44,"items":45},"ul","What Termix gives you",[46,47,48,49,50,51,52],"**SSH terminal** — tabs, split screen, history, a command palette and reusable snippets.","**SFTP files** — browse, edit and transfer files, including from one server to another.","**Docker** — container list, logs, stats and console over SSH, with no agent to install.","**Metrics** — live CPU, memory, disk and network for every host.","**Credential vault** — passwords and keys encrypted per user and reusable across hosts.","**Teams** — accounts, roles, four-level host sharing, audit log, TOTP and passkeys.","**Plugins** — RDP\u002FVNC remote desktop, SSH tunnels, Kubernetes, Proxmox, OIDC SSO, enabled as you need them.",{"type":54,"title":55,"headers":56,"rows":60},"comparison","Termix, Termius or a desktop SSH client?",[5,57,58,59],"Termix (self-hosted)","Termius","Desktop SSH client",[61,66,71,76,81,85],[62,63,64,65],"Where your hosts and keys live","On your VPS","Synced through the vendor's service","On a single computer",[67,68,69,70],"Licence","Apache-2.0, open source","Proprietary","Varies (OpenSSH, PuTTY: free)",[72,73,74,75],"Cost","The price of the VPS","Subscription for sync and teams","Free",[77,78,79,80],"Access from a browser","Yes","No, app to install","No",[82,83,84,80],"Team host sharing","Yes, roles and audit log","Yes, team plans",[86,87,88,89],"Docker, SFTP files, metrics","Built in through plugins","SFTP, no Docker","Separate tools",{"type":39,"title":91,"body":92},"Prerequisites","An Ubuntu 24.04 VPS with **1 GB of RAM** and **2 GB of disk** is enough: Termix uses about 330 MB at idle. You need Docker with the Compose plugin, plus a hostname for HTTPS access — a sub-domain of one of your domains, or the free sub-domain that comes with a ServOrbit VPS.",{"type":94,"title":95,"steps":96},"steps","Install Termix with Docker Compose",[97,100,103,106],{"title":98,"body":99},"Create the Compose file","Create an `\u002Fopt\u002Ftermix` directory and put the following `docker-compose.yml` in it. The port is published on the loopback only: nginx exposes it over HTTPS.\n```yaml\nservices:\n  termix:\n    image: ghcr.io\u002Ftermix-ssh\u002Ftermix:26.10.4\n    restart: unless-stopped\n    ports:\n      - \"127.0.0.1:8080:8080\"\n    environment:\n      PORT: \"8080\"\n    volumes:\n      - termix-data:\u002Fapp\u002Fdata\n\nvolumes:\n  termix-data: {}\n```",{"title":101,"body":102},"Start the container","Start Termix and follow its boot:\n```bash\ndocker compose up -d\ndocker compose logs -f termix\n```\n\nOn first start, Termix generates its own secrets (JWT, database key, encryption key) and stores them in the `\u002Fapp\u002Fdata` volume. The line `Termix backend started successfully` tells you it is ready, within seconds.",{"title":104,"body":105},"Publish Termix over HTTPS","In the `server` block of your nginx vhost, proxy traffic to the container. The `Upgrade` and `Connection` headers are required: the terminal runs over WebSockets.\n```nginx\nlocation \u002F {\n    proxy_pass http:\u002F\u002F127.0.0.1:8080;\n    proxy_http_version 1.1;\n    proxy_set_header Upgrade $http_upgrade;\n    proxy_set_header Connection upgrade;\n    proxy_set_header Host $host;\n    proxy_set_header X-Forwarded-Proto $scheme;\n    proxy_read_timeout 1h;\n}\n```\n\nThen get a certificate (Certbot or similar). When you install from the ServOrbit Marketplace, this step is done for you.",{"title":107,"body":108},"Create the administrator account","Open your HTTPS address: Termix shows the sign-up form, and **the first account created becomes the administrator**. Create it right away, then turn off public registration in the admin settings. Then add a host (address, SSH port, user, key or password): the terminal opens in a tab.",{"type":110,"title":111,"body":112},"tip","Close the door right after installing","As long as no account exists, anyone who reaches the address can create the administrator account. Create yours as soon as the installation finishes, turn off registration, then enable TOTP or a passkey. A console that holds your SSH keys deserves the same protection as the servers themselves.",{"type":39,"title":114,"body":115},"Back up and update","All the data — SQLite database, generated encryption keys, plugins — lives in the `termix-data` volume. Archive it regularly:\n```bash\ndocker run --rm -v termix_termix-data:\u002Fdata -v \"$PWD\":\u002Fbackup alpine \\\n  tar czf \u002Fbackup\u002Ftermix-$(date +%F).tar.gz -C \u002Fdata .\n```\n\nKeep that archive somewhere safe: without the keys it holds, saved credentials can no longer be decrypted. To update, change the image tag in the Compose file, then run `docker compose pull && docker compose up -d`.",{"type":39,"title":117,"body":118},"The plugins to turn on first","Termix ships with its official plugins; an administrator enables, updates or removes them from the **Plugins** tab. For a first install on a VPS, four are often enough: **SSH Terminal** and **File Manager** for daily work, **Docker** to drive your servers' containers without opening a session, and **Host Metrics** to see at a glance which server is saturated.\n\nNext come the ones that serve a team: **TOTP** and **Passkeys** for two-factor authentication, **Single sign-on** to plug in an OpenID Connect provider you already host (Authentik, Pocket ID, ZITADEL), and **Session Recording** if you need a record of a contractor's work. Turn off what you do not use: every disabled plugin is one less surface to maintain, and the **Usage Statistics** plugin, which sends a small anonymous daily report, can be switched off like the others.",{"type":39,"title":120,"body":121},"Troubleshooting","**The terminal opens and closes right away.** The reverse proxy is not forwarding WebSockets: check the `Upgrade` and `Connection` headers in the nginx vhost, then reload nginx with `nginx -t && systemctl reload nginx`.\n\n**Connecting to a host fails.** From the VPS, first try the same connection on the command line (`ssh -p \u003Cport> \u003Cuser>@\u003Chost>`): if it fails too, the problem is the firewall or the key, not Termix. For a host only reachable from your internal network, go through a bastion or a VPN such as WireGuard.\n\n**Saved credentials no longer open after a restore.** The restored volume is missing the encryption keys generated on first start: restore the whole `termix-data` volume, never the SQLite database alone.\n\n**The interface stops responding.** Read the logs with `docker compose logs --tail 100 termix`: on start-up Termix logs every stage (database, plugins, backend), and the last line shown tells you where it stopped.",{"type":39,"title":123,"body":124},"One-click install from the ServOrbit Marketplace","The ServOrbit Marketplace installs Termix on your VPS with no command line: it deploys the container, configures nginx over HTTPS with WebSockets and gives you the access address in your client area. Pick a sub-domain of one of your domains or the VPS's free sub-domain, then create your administrator account on first access.","Your SSH console, on your own VPS","A ServOrbit Ubuntu 24.04 VPS with 1 GB of RAM is enough for Termix. One-click install from the Marketplace, HTTPS on the VPS's free sub-domain, and your SSH keys never leave your infrastructure.","Install Termix","\u002Fmarketplace\u002Fapplication-deployment-devops\u002Ftermix",[130,151,174],{"id":131,"slug":132,"slugs":133,"title":137,"excerpt":138,"readTime":139,"views":140,"isPinned":19,"publishedAt":141,"updatedAt":142,"category":143,"categories":148,"featuredImage":30,"bgImage":31,"posterImage":150,"relatedSolution":30},452,"first-ssh-login-vps",{"fr":134,"en":132,"ar":135,"es":136},"premier-acces-ssh-vps","أول-اتصال-ssh-بخادم-vps","primer-acceso-ssh-vps","Log in to your VPS over SSH for the first time","Retrieve your VPS root password with the one-time link received by email, then log in to your server over SSH for the first time.",2,1,"2026-10-16T00:00:00+00:00","2026-10-16T01:57:35+00:00",{"id":144,"name":145,"slug":146,"color":147,"icon":146},12,"Guides","guides","bg-emerald-500\u002F10 text-emerald-400",[149],{"id":144,"name":145,"slug":146,"color":147,"icon":146},"\u002Fblog\u002Fcovers\u002Fpremier-acces-ssh-vps-poster.svg",{"id":152,"slug":153,"slugs":154,"title":158,"excerpt":159,"readTime":160,"views":139,"isPinned":19,"publishedAt":161,"updatedAt":162,"category":163,"categories":169,"featuredImage":30,"bgImage":31,"posterImage":171,"relatedSolution":172},158,"bastion-host-on-vps-securing-your-ssh-access",{"fr":155,"en":153,"ar":156,"es":157},"heberger-bastion-host-vps","مضيف-bastion-على-خادم-vps-تأمين-وصولك-عبر-ssh","bastion-host-en-vps-accesos-ssh","Bastion Host on VPS: securing your SSH access","Deploy a Bastion Host on a ServOrbit VPS: a hardened SSH entry point, centralized access, logs and security rules.",3,"2026-07-05T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":164,"name":165,"slug":166,"color":167,"icon":168},8,"Security & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[170],{"id":164,"name":165,"slug":166,"color":167,"icon":168},"\u002Fblog\u002Fcovers\u002Fheberger-bastion-host-vps-poster.svg",{"categorySlug":168,"appSlug":173},"bastion-host",{"id":175,"slug":176,"slugs":177,"title":181,"excerpt":182,"readTime":164,"views":18,"isPinned":19,"publishedAt":183,"updatedAt":184,"category":185,"categories":186,"featuredImage":30,"bgImage":31,"posterImage":188,"relatedSolution":30},228,"initial-linux-server-hardening",{"fr":178,"en":176,"ar":179,"es":180},"durcissement-serveur-linux-initial","تصليب-الخادم-linux-الأولي","hardening-inicial-servidor-linux","Initial Linux Server Hardening","Create a sudo user, configure SSH with keys, enable UFW and fail2ban on Ubuntu or Debian in under an hour.","2026-08-06T00:00:00+00:00","2026-10-20T23:18:07+00:00",{"id":164,"name":165,"slug":166,"color":167,"icon":168},[187],{"id":164,"name":165,"slug":166,"color":167,"icon":168},"\u002Fblog\u002Fcovers\u002Fdurcissement-serveur-linux-initial-poster.svg",1792763235887]