oguzhankrcb
Newbie
- Jul 22, 2026
- 4
- 0
Hi everyone. I have a bad habit of buying discounted VPS deals, so I end up moving my projects between servers more often than I would like to admit. Every move meant finding Docker projects again, copying web server configs, exporting databases, checking SSH and firewall settings, and then discovering one forgotten detail after the new server was already live.
I eventually got tired of repeating the same work and built HostShift for it. It is an open source Go CLI that connects over SSH, discovers an Ubuntu or Debian server, creates a reviewable migration plan, prepares the target, streams the data, and verifies the result.
The part I cared about most was keeping the source server untouched. HostShift does not use sudo on the source, restart services, install packages, change configuration, or create snapshots there. If a workload cannot be read safely while it is running, the tool reports it as a blocker instead of quietly skipping it.
It currently understands Docker Compose projects, standalone containers, MySQL, MariaDB, PostgreSQL, Redis, Nginx, Apache, SSH settings, firewall rules, and several common Linux services. Source and target versions do not need to match because compatibility is checked by platform capability rather than image name.
HostShift is a CLI first project, not an AI wrapper. The migration engine is deterministic Go code. There is an optional Codex plugin and MCP layer for people who want guided discovery and planning, but target changes still require a reviewed CLI command.
I also built a Docker migration matrix and a real VM test layer that run migrations between Ubuntu and Debian combinations, verify the target, reboot it, and confirm that the source did not change.
Version 0.3.0 is now available under the Apache 2.0 license. The project is still young, so honest feedback and real world edge cases would be genuinely useful.
GitHub: https://github.com/oguzhankrcb/HostShift
Documentation: https://hostshift.karacabay.com
I eventually got tired of repeating the same work and built HostShift for it. It is an open source Go CLI that connects over SSH, discovers an Ubuntu or Debian server, creates a reviewable migration plan, prepares the target, streams the data, and verifies the result.
The part I cared about most was keeping the source server untouched. HostShift does not use sudo on the source, restart services, install packages, change configuration, or create snapshots there. If a workload cannot be read safely while it is running, the tool reports it as a blocker instead of quietly skipping it.
It currently understands Docker Compose projects, standalone containers, MySQL, MariaDB, PostgreSQL, Redis, Nginx, Apache, SSH settings, firewall rules, and several common Linux services. Source and target versions do not need to match because compatibility is checked by platform capability rather than image name.
HostShift is a CLI first project, not an AI wrapper. The migration engine is deterministic Go code. There is an optional Codex plugin and MCP layer for people who want guided discovery and planning, but target changes still require a reviewed CLI command.
I also built a Docker migration matrix and a real VM test layer that run migrations between Ubuntu and Debian combinations, verify the target, reboot it, and confirm that the source did not change.
Version 0.3.0 is now available under the Apache 2.0 license. The project is still young, so honest feedback and real world edge cases would be genuinely useful.
GitHub: https://github.com/oguzhankrcb/HostShift
Documentation: https://hostshift.karacabay.com