VPS Linux Ubuntu
Match your Ubuntu release, CPU architecture and application before choosing a VPS. Compare clean operating systems with ready-made images, then check the environment you receive.
Check the environment before you order.
- ReleaseApplication support and remaining maintenance
- ArchitectureNative binaries, container images and CPU features
- TemplateA clean OS, a panel or a ready-made application
On this page
Check your Ubuntu image choice
Match the intended image to your application, then record what you receive. Leave an answer unknown when you do not have evidence. This check uses published labels and your answers; it does not connect to a server or estimate application capacity.
Need a starting point? Choose your task
- Install your own stack
Choose a clean OS when you need control of runtimes and packages. Select the release supported by your application, then check its resources.
Compare the stack requirements - Use a ready-made panel or application
Use the template’s own Ubuntu label. A newer plain Ubuntu image does not mean the same application template uses it.
Compare image types - Move an existing service
Record the current release, architecture and recovery status first. An upgrade, a separate migration and a disk reinstall need different plans.
Choose a migration route
These starting points set the deployment route only. Your application, release, architecture and unverified requirements remain yours to check.
Choose Ubuntu 22.04, 24.04 or 26.04 for your VPS
Ubuntu is the operating system; the VPS supplies hosting resources and access. Choose a compatible image first, then use the hosting comparison to check resources and costs. This page focuses on OS and application compatibility.
| Release | Standard security maintenance ends | When it can fit |
|---|---|---|
| 26.04 LTS | May 2031 | Your complete stack supports it and the exact image’s CPU requirements are met. Check the cloud-image variant below. |
| 24.04 LTS | May 2029 | Your application supports it; the package examples and separate first-website walkthrough on this site use this release. |
| 22.04 LTS | May 2027 | A required template or supported dependency still uses it. Record the constraint and plan migration. |
| 20.04 LTS | Ended May 2025 | Still appears in the reviewed provider catalogue. Confirm extended maintenance coverage or a migration plan before relying on it. |
These dates describe standard Ubuntu security maintenance, not every installed package. Ubuntu Pro coverage, third-party repositories and container images need separate checks. A supported release is necessary for many deployments, but does not establish application compatibility.
A plain Ubuntu image and an application template are different choices
The public VDSina Standard catalogue lists the choices below. These are provider labels, checked on 12 October 2026. Confirm the exact build, architecture and regional availability in the order form.
| Image | Published Ubuntu label | Decision before ordering |
|---|---|---|
| Plain Ubuntu | 26.04 / 24.04 / 22.04 / 20.04 | Use your application’s supported release; plan installation and maintenance. |
| HestiaCP or FASTPANEL | Ubuntu 22 | The panel template’s OS can differ from the plain OS list. Check the panel version and licence terms. |
| Docker Portainer | Ubuntu 22 | Check Engine, Portainer and container versions separately; an image label does not confirm your Compose stack. |
| Gnome Desktop + RDP | Ubuntu 24 | Select explicitly when a desktop is needed; confirm resources and remote-access configuration. |
A control panel is not a graphical desktop, and a container image is not the VPS operating-system image. Need an application-specific route? Use the application image selector. Need a first SSH and HTTPS setup? Use the deployment route check.
Choose the image as well as the plan
Review the available OS or application template before completing an order.
Check the CPU variant as well as amd64 or arm64
amd64 and arm64 identify different architectures. They do not establish all required CPU features. Ubuntu’s amd64v3 variant targets the x86-64-v3 instruction level.
Starting with Ubuntu 26.04, Canonical publishes amd64v3 variants. Generic Ubuntu Download images include both legacy amd64 and amd64v3 variants; Canonical’s official images for public cloud platforms use v3-enabled builds under the amd64 name. A provider’s Ubuntu 26.04 label does not identify which image it supplies.
For the exact provider image, ask which variant is supplied and whether the virtual CPU exposes the required instructions. uname -m or a visible AVX2 flag alone is not a complete compatibility test. The provider’s public Ubuntu label does not verify that combination.
Keep unconfirmed compatibility open: verify the image requirements and guest CPU together before migration. An architecture label, a recent physical CPU or an SSH login is not proof that every application binary will work.
Check what changes in the application stack
These are the default component series documented for each Ubuntu release, checked on 12 October 2026. They are not the currently installed versions in a provider template. Security revisions can change without changing the series.
| Component | 22.04 LTS | 24.04 LTS | 26.04 LTS |
|---|---|---|---|
| Python | 3.10 | 3.12 | 3.14 |
| PHP | 8.1 | 8.3 | 8.5 |
| PostgreSQL | 14 | 16 | 18 |
| MySQL | 8.0 | 8.0 | 8.4 |
Check your dependency lock files, native extensions, PHP modules and database driver against the intended series. A panel can supply its own packages; a PPA has its own release coverage; a container tag has its own userspace. None of those is determined solely by the host’s Ubuntu version.
Two additional checks before moving to 26.04
Check older MySQL authentication against the 8.4 defaults before migrating accounts. Also check older container tooling: systemd 259 removes cgroup v1 support. Test the specific dependency rather than treating a successful OS upgrade as an application test.
Identify the image you received
Run these read-only commands inside the VPS. They identify the distribution, running kernel, package architecture and machine architecture. Keep the results with your deployment notes before installing more software.
cat /etc/os-release
uname -r
dpkg --print-architecture
uname -mScroll sideways to see the full table
| Result | How to interpret it |
|---|---|
| VERSION_ID in /etc/os-release | Installed Ubuntu release, such as 24.04 |
| Kernel from uname -r | Kernel currently running; may change after an update and reboot |
| amd64 from dpkg / x86_64 from uname | Common package and machine names for 64-bit x86 |
| arm64 from dpkg / aarch64 from uname | Common names for 64-bit Arm |
The kernel string alone does not identify the Ubuntu release or its support coverage. Providers can use cloud-specific kernels. An amd64-only binary should not be assumed to run natively on arm64; confirm an Arm build or explicitly supported alternative before committing.
Check how the image was provisioned
Many images use cloud-init to install keys, create accounts and configure networking. Check whether it exists before requesting its status. Absence alone is not a fault: determine how your provider provisions that image.
if command -v cloud-init >/dev/null 2>&1; then
cloud-init status --long
else
printf '%s\n' 'cloud-init is not installed; check the provider provisioning method.'
fiA running state means setup is still in progress. An error or degraded state needs investigation even if SSH works. When cloud-init is present, examine the relevant logs:
sudo tail -n 50 /var/log/cloud-init.log
sudo tail -n 50 /var/log/cloud-init-output.logInitialization scripts can print sensitive values; redact logs before sharing. Do not run cloud-init clean or replace network files just to hide an error. Completed provisioning also does not prove an application, database or backup job is healthy; check these separately.
Inspect package candidates before installation
The versioned package names below are Ubuntu 24.04 examples. On another release, inspect that release’s package names and your application’s requirements; a missing 24.04 package name alone does not mean the new image is broken.
Refresh metadata, then inspect candidates for the components you intend to use. The update command refreshes the index without installing these application packages. Record candidate versions and the repositories offering them.
sudo apt update
apt-cache policy python3 php postgresql
apt-cache policy python3.12 php8.3 postgresql-16An Installed: (none) line means the package is absent. A candidate of (none) means your package sources do not currently offer it. First check names, architecture and configured Ubuntu components rather than adding an arbitrary repository.
Metapackages such as php and postgresql select a default implementation; inspect the versioned package too. For installed software, check the actual executable or running service. python3 --version and php --version identify those executables; a database server can differ from its client tools.
Work through a compatibility decision
Suppose an application supports only Python 3.10 and supplies a native extension only for amd64. These are hypothetical requirements, not a claim about a named product. A default Ubuntu 24.04 arm64 image fails two checks: default Python is 3.12 and the extension targets another architecture.
Changing to amd64 addresses architecture but does not change default Python. A virtual environment isolates packages using the interpreter that created it; it does not turn Python 3.12 into 3.10. Do not replace Ubuntu's system Python to satisfy the application.
Options include upgrading the application or choosing a separately maintained runtime/container with a documented support plan. Confirm all native components support the target platform. An older Ubuntu release has its own remaining maintenance window and is not an automatic fix.
For acceptance, exercise the extension's code path, a database operation, a background job and a backup/restore cycle in staging. Record versions and the application build. Successful installation or a passing home-page request is too narrow to establish compatibility.
Keep containers and package support in the plan
Containers separate application dependencies from Ubuntu's default packages while relying on the host kernel, storage and networking. Check for a supported image build for your platform. Emulation changes performance and support assumptions; do not silently substitute it for a native build.
Persist data in documented volumes or external storage and practise restoring it independently of disposable containers. Pin releases or image digests for reproducibility while scheduling updates. A permanently pinned vulnerable image is reproducible but poorly maintained.
Distinguish Ubuntu release support from coverage of each installed package. Standard security maintenance and Ubuntu Pro have different coverage. Third-party repositories, downloaded binaries and container images have their own maintainers. Record who updates each layer instead of assuming the Ubuntu version covers everything.
Separate routine updates from release upgrades
Inspect pending packages and failed services before changes. These commands list information without performing a distribution upgrade. Refresh package metadata first.
apt list --upgradable
systemctl --failed
if [ -f /var/run/reboot-required ]; then cat /var/run/reboot-required; fiReview and apply package updates in a suitable window, then repeat application checks. Services may restart during maintenance. The reboot marker is useful when present; its absence does not prove every component is current.
Test a release upgrade on a copy or newly provisioned machine. Recheck runtimes, repositories, database upgrade requirements and extensions. Plan final data synchronization and a route back that accounts for writes after the change. A pre-upgrade snapshot cannot contain later customer orders.
Turn a check result into a next step
The identity commands above describe the guest, not the application binary or container you intend to run. If Docker with the Buildx plugin is already available, replace YOUR_IMAGE:YOUR_TAG with the actual image reference. This registry lookup needs network access and may require your own registry login; never paste credentials into this website.
docker buildx imagetools inspect YOUR_IMAGE:YOUR_TAGFor an image already present locally, replace LOCAL_IMAGE with its name or digest:
docker image inspect --format '{{.Os}}/{{.Architecture}}' LOCAL_IMAGECompare the required linux/amd64 or linux/arm64 platform with the intended guest. An OCI index can also contain unknown/unknown attestations; these are not application platforms. An inaccessible registry or missing plugin means the check is incomplete. A matching platform still leaves CPU instructions, extensions and kernel requirements to check. Emulation is a separate route, not a performance guarantee.
| Result or symptom | What to compare | Next step |
|---|---|---|
| exec format error | Guest architecture, actual executable format, container platform and script interpreter | Use the correct build or fix the interpreter/format; do not reinstall the OS based on this message alone. |
| Illegal instruction | The failing binary’s CPU requirements and the instructions exposed to the guest; also investigate application defects | Identify the exact failing component. A physical CPU model or one AVX flag is not a complete x86-64-v3 check. |
| No package candidate | Package name, Ubuntu release, enabled repositories, architecture and index-update errors | Resolve the repository or package-name mismatch. A versioned 24.04 name can be absent on another release. |
| cloud-init degraded / error | Extended status, failed stages and relevant errors | Check which tasks failed. A done stage or an SSH login alone does not validate the application. |
| cloud-init absent / disabled | The provider’s actual provisioning method | Confirm access and initialization separately; absence alone is not proof of a bad image. |
| OS or architecture differs from the order | Saved order/image label against /etc/os-release and dpkg output | Keep the current data intact and investigate with the provider before replacing the disk. |
The original apt update example refreshes local package indexes and uses the network; it is not a read-only inventory command. Log excerpts may contain secrets. Keep raw provisioning data private and share only a redacted error when requesting help.
Update, upgrade or move to a new image?
| Situation | Route to assess | Before changing the working system |
|---|---|---|
| Same supported release | Routine package and application updates | Review pending changes and service restart requirements; keep recovery available. |
| Move to a later LTS on the same architecture | Successive supported LTS upgrades: 20.04 → 22.04 → 24.04 → 26.04 | Each step needs compatible repositories, packages, disk space and an application check. Do not skip directly from 22.04 to 26.04 using the standard in-place path. |
| Change architecture, use a different template, or rebuild the stack | A separate clean destination and application/data migration | Recreate compatible dependencies and restore portable data. This differs from upgrading the existing OS. |
| Reinstall the existing disk | Destructive replacement, according to the provider’s reinstall process | Export and verify recovery first. A new OS image does not preserve application data by default. |
Before an in-place upgrade, confirm console access, a supported source release, free disk space, third-party repositories and held packages. Third-party repositories can be disabled during the upgrade; do not blindly re-enable entries for the old release.
do-release-upgrade -c checks for an offered upgrade and can contact release metadata; it does not perform the upgrade. “No new release found” can reflect upgrade availability, release policy or the current system state. Do not add -d merely to force a production upgrade.
For a separate destination, restore the application and a consistent database, check a required request and background job, then plan the final data sync and traffic switch. Decide how to handle new writes if you roll back: changing DNS back does not return those writes to the old database.
Check published software support against the provider template
Docker Engine and HestiaCP documentation currently list Ubuntu 22.04, 24.04 and 26.04. Hestia requires a fresh OS and supports 64-bit AMD64 and ARM64. Its recommended memory is 4 GB; the 1 GB minimum excludes SpamAssassin and ClamAV. A minimum installation requirement is not application capacity.
This upstream support does not change the provider’s Hestia template label of Ubuntu 22. For a newer supported OS, confirm a clean-image installation route instead of assuming the ready-made template uses it. Do not install a clean-OS panel recipe over an existing production stack.
We checked the published requirements; we have not installed or load-tested every OS, architecture and application combination.
Using your own image: ISO, cloud disk, minimal and daily builds
An installer ISO, a cloud disk image such as QCOW2, and a root-filesystem archive are different artifacts. Choose the format accepted by the installation or import workflow; renaming the extension does not convert it.
Canonical’s minimal images omit many interactive convenience packages while retaining access to the Ubuntu archive. A missing editor or manual page is not automatically an image fault. A smaller download does not establish lower application RAM requirements. Release builds and preview daily builds also differ; daily builds are not a production-readiness substitute.
The provider’s public ISO instructions, whose answer was updated in February 2024, state a maximum of 8 GB and no validity check after upload. Confirm the current account limit before using a custom ISO. This does not establish that the provider offers every Canonical variant as a ready-made template. See installation and console options.
Compare what you selected with what was delivered
Use the image check above to save the expected and observed values, open questions and next steps as TXT or JSON. A successful login is only one check; leave missing evidence marked unconfirmed. Keep the exact provider image ID and your private recovery record alongside that download.
| Check | Record before ordering | Verify after provisioning |
|---|---|---|
| OS and CPU | Release, image ID, architecture and required CPU variant | Use the identity commands above; confirm the guest CPU features against that image’s requirements. |
| Provisioning | SSH account, key injection and provisioning method | Check a fresh login and the provisioning result; investigate errors before installing more software. |
| Application | Runtime, extensions, database and repository support | Check installed versions and exercise required application paths, a database operation and a background job. |
| Recovery | Exportable data/configuration, copy destination and restore method | Restore the application and data separately; record the outcome and unresolved failures. |
If a check fails: keep the working service and its data in place. Investigate an unexpected image with the provider, choose a supported application build, or test a separate destination. Do not erase the current disk to experiment with another image.
Plan a backup and restore check →
Ready to choose your Ubuntu VPS?
Take your release, architecture and application requirements to the available plans.
Ubuntu Linux VPS questions
Which Linux is best for a VPS?
Start with the distributions supported by your application and the tools your team can maintain. Ubuntu LTS is a candidate when the complete stack supports its release and architecture. Debian or another distribution may fit different requirements. There is no universal winner independent of the application, support policy and maintenance plan.
Should I choose Ubuntu 22.04, 24.04 or 26.04?
Choose from releases supported by the complete application stack and offered as an appropriate provider image. The table above separates maintenance dates from compatibility. A newer release can require changes to runtimes, repositories or CPU features; an older supported release leaves less standard maintenance time.
Does amd64 mean that every x86 VPS can run every Ubuntu image?
No. The package architecture does not describe every instruction available to the guest. For a 26.04 cloud image, confirm the image variant and its CPU requirements with the provider. Do not infer support from the physical CPU brand, the word x64 or a single CPU flag.
Is a graphical Ubuntu desktop included?
A plain server image does not promise a graphical desktop or RDP. The reviewed provider catalogue separately lists Gnome Desktop + RDP on Ubuntu 24. Confirm the exact image, resources and remote-access setup before ordering; the listing is not a desktop performance test.
Is Ubuntu VPS hosting free?
The operating system and the hosted server are different things. A provider can charge for CPU, memory, storage, network and extras even when Ubuntu has no OS licence charge. For free tiers, credits and eligibility, use the free VPS options guide.
Can I replace the image without losing data?
A provider reinstall commonly replaces the server disk. Check its procedure, export data and configuration, and verify recovery first. Reinstalling and an in-place release upgrade are different operations.
Does a supported OS mean the ready-made application image uses it?
No. Upstream software support, a provider’s plain Ubuntu image and a preinstalled application template are separate facts. Check the selected template’s own release label and verify the installed versions after provisioning.
Scope and documentation
Release and image choices checked on 12 October 2026 against Canonical’s lifecycle, architecture documentation and 26.04 release notes; Docker Engine Ubuntu requirements; Hestia installation requirements; and the provider’s Standard image catalogue. Component series come from Canonical’s 22.04, 24.04 and 26.04 release notes. Identity and package examples use Ubuntu 24.04 documentation, cloud-init status, dpkg, Python environments and Ubuntu package management; container checks use Docker’s image-inspection documentation. The upgrade and custom-image notes follow Ubuntu’s release-upgrade and image documentation and the provider’s ISO instructions.
The commands are documented checks, not proof that we tested every provider image. Exact image build, CPU exposure, application-template resources and current order availability still require confirmation for your selection.