Difference between revisions of "NixOS friendly hosters"

From NixOS Wiki
Jump to: navigation, search
(add PHP-Friends to the list)
m (guide is now finished)
 
(6 intermediate revisions by 5 users not shown)
Line 42: Line 42:
 
|-
 
|-
 
![https://www.hetzner.de/ Hetzner Online]
 
![https://www.hetzner.de/ Hetzner Online]
| From Hetzner's rescue image one can boot into the nixos installer using a custom [https://github.com/nix-community/nixos-generators kexec] image that is configured with the IPv6 provided by Hetzner and also contain your ssh key.
+
| From Hetzner's rescue image one can boot into the nixos installer using a custom [https://github.com/nix-community/nixos-images kexec] image. The installation can be fully automated using [https://github.com/numtide/nixos-anywhere nixos-anywhere]. Hetzner also provides an [https://wiki.hetzner.de/index.php/LARA/en#Installing_an_OS interface] to upload your own ISO-images. Also here you may want to build your own iso-image, which has openssh with ssh keys due the lack of a remote console. An easier method to install NixOS on Hetzner, is to use the existing integration into [https://nixos.org/nixops/manual/#idm140737318364240 NixOps]. Also see [[Install_NixOS_on_Hetzner_Online|Install NixOS on Hetzner Online]] for future information
Tip: The kexec tarball as generated by nixos-generators can remain put into the <code>/boot</code> partition for future use.
 
Hetzner also provides an [https://wiki.hetzner.de/index.php/LARA/en#Installing_an_OS interface] to upload your own ISO-images. Also here you may want to build your own iso-image, which has openssh with ssh keys due the lack of a remote console. An easier method to install NixOS on Hetzner, is to use the existing integration into [https://nixos.org/nixops/manual/#idm140737318364240 NixOps]. Also see [[Install_NixOS_on_Hetzner_Online|Install NixOS on Hetzner Online]] for future information
 
 
|-
 
|-
 
![https://www.hetzner.com/cloud Hetzner&nbsp;Cloud]
 
![https://www.hetzner.com/cloud Hetzner&nbsp;Cloud]
|Hetzner Cloud has NixOS ISO images that can be mounted on a running instance. You cannot directly choose NixOS as initial distribution when creating a VM.
+
| Hetzner Cloud has NixOS ISO images that can be mounted on a running instance.
 +
When creating the VM, you have to choose a different initial distribution and than select the NixOS under "ISO images" in the VM instance page to reboot into the NixOS installer. An alternative approach is using [https://github.com/numtide/nixos-anywhere nixos-anywhere] than can also use other Linux distributions as a base and convert them into NixOS installation. See also [[Install_NixOS_on_Hetzner_Cloud|Install NixOS on Hetzner Cloud]].
 
|-
 
|-
 
![https://liteserver.nl/ LiteServer]
 
![https://liteserver.nl/ LiteServer]
|NixOS ISO is available from the control panel.
+
|NixOS ISO is available from the control panel. Also see [[Install_NixOS_on_Liteserver|Install NixOS on Liteserver]].
 
|-
 
|-
 
![https://bandwagonhost.com BandwagonHost]
 
![https://bandwagonhost.com BandwagonHost]
Line 88: Line 87:
 
![https://www.digitalocean.com DigitalOcean]
 
![https://www.digitalocean.com DigitalOcean]
 
|[https://github.com/elitak/nixos-infect nixos-infect] can be used to transform an existing installation into NixOS. This method will be also used in [https://nixos.org/nixops/manual/#sec-deploying-to-digital-ocean NixOps].
 
|[https://github.com/elitak/nixos-infect nixos-infect] can be used to transform an existing installation into NixOS. This method will be also used in [https://nixos.org/nixops/manual/#sec-deploying-to-digital-ocean NixOps].
 +
|-
 +
![https://www.linode.com/docs/guides/install-nixos-on-linode/ Linode]
 +
|Linode Guide.
 
|-
 
|-
 
![https://www.genesiscloud.com/ Genesis&nbsp;Cloud]
 
![https://www.genesiscloud.com/ Genesis&nbsp;Cloud]
Line 112: Line 114:
 
This section links to or explains methods that can be used on various providers. As always, with unsupported hosts and unsupported distributions, your mileage may vary.
 
This section links to or explains methods that can be used on various providers. As always, with unsupported hosts and unsupported distributions, your mileage may vary.
  
Not all providers allow to upload own images or provide NixOS images for installation. However there are a few ways to install NixOS anyhow. [https://github.com/jeaye/nixos-in-place nixos-in-place] and [https://github.com/elitak/nixos-infect nixos-infect] are generic approaches to install NixOS from an existing Linux.  A different approach is to build an kexec-based image to start the installer from an booted linux as shown in this [https://github.com/cleverca22/nix-tests/tree/master/kexec repo], this allows for changing the underlying filesystem. See [[Install NixOS on a Server With a Different Filesystem]].
+
Not all providers allow to upload custom images or provide NixOS images for installation. However there are a few ways to install NixOS anyhow. [https://github.com/jeaye/nixos-in-place nixos-in-place] and [https://github.com/elitak/nixos-infect nixos-infect] are generic approaches to install NixOS from an existing Linux.  Another approach is to use a kexec-based image as is done with [https://github.com/nix-community/nixos-anywhere nixos-anywhere].  This also allows for changing the underlying filesystem. See [[Install NixOS on a Server With a Different Filesystem]].
  
 
See also the [[NixOps]] project, which also provides interfaces to different cloud providers.
 
See also the [[NixOps]] project, which also provides interfaces to different cloud providers.

Latest revision as of 23:00, 23 February 2024

1st class NixOS support

GandiCloud VPS Start a NixOS server with a single command or by few clicks in the web UI: it is a provided and supported server image.
VPS2day When ordering or configuring, the "Manual Install (Advanced)" option includes NixOS. Installation is done through a web-based console.
vpsFree.cz A non-profit association providing free as in freedom VPS services for its members. NixOS is available in the registration form and administration interface. See NixOS at kb.vpsfree.org for more information. See nixops example on howto setup a server using nix 2.7 and nixops 2.0.

Support NixOS via custom ISO

BuyVM BuyVM no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality, however the resulting install will need some form of static IP configuration.
Hetzner Online From Hetzner's rescue image one can boot into the nixos installer using a custom kexec image. The installation can be fully automated using nixos-anywhere. Hetzner also provides an interface to upload your own ISO-images. Also here you may want to build your own iso-image, which has openssh with ssh keys due the lack of a remote console. An easier method to install NixOS on Hetzner, is to use the existing integration into NixOps. Also see Install NixOS on Hetzner Online for future information
Hetzner Cloud Hetzner Cloud has NixOS ISO images that can be mounted on a running instance.

When creating the VM, you have to choose a different initial distribution and than select the NixOS under "ISO images" in the VM instance page to reboot into the NixOS installer. An alternative approach is using nixos-anywhere than can also use other Linux distributions as a base and convert them into NixOS installation. See also Install NixOS on Hetzner Cloud.

LiteServer NixOS ISO is available from the control panel. Also see Install NixOS on Liteserver.
BandwagonHost NixOS ISO is available from the control panel.
netcup NixOS ISO can be uploaded via FTP to be available in the server control panel.

(in the SCP, navigate to: 'Media' → 'Images') See the official netcup documentation. Step-by-step installation instruction can be found here: NixOS on Netcup (In English). It may be necessary to create a bios-boot partition for grub.

Online A NixOS ISO can be use with iDrac (Dell) or iLo (HP). You can upload your own iso or use virtualmedia. You must have a Dell or HP server. Here is the documentation if you don't know DRAC at Online.
Inception Hosting Inception hosting no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality
Linode no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality. Install and Configure NixOS on a Linode
RamNode RamNode no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality.
Vultr Vultr no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality.
PHP-Friends NixOS ISO is available from the control panel.

Other means of installation

Amazon EC2 See NixOS on Amazon EC2
DigitalOcean nixos-infect can be used to transform an existing installation into NixOS. This method will be also used in NixOps.
Linode Linode Guide.
Genesis Cloud After unmounting /boot, nixos-infect can be used to transform an existing Ubuntu 16.04 installation into NixOS. This process can be fully automated (example) when using the API by supplying the unmount and nixos-infect commands in a custom startup_script.
Google Cloud Platform See Installing NixOS on GCE
Online See Install NixOS on Online.Net
OVH / Kimsufi / So you Start Blog posts for OVH and SoYouStart
Rackspace See Install NixOS on Rackspace Cloud Servers
Scaleway The kexec method (see Install NixOS on Scaleway X86 Virtual Cloud Server) works well, but bear in mind it only works with the 'virtual' class of servers, as they run under a hypervisor which attaches the disks before the kernel boots. The 'bare-metal' servers rely on a special Linux kernel booting to attach network /dev/nbdX drives which works only with Scaleway supplied images. There is a image proposal to add full NixOS support.

Hoster-agnostic means of installation

This section links to or explains methods that can be used on various providers. As always, with unsupported hosts and unsupported distributions, your mileage may vary.

Not all providers allow to upload custom images or provide NixOS images for installation. However there are a few ways to install NixOS anyhow. nixos-in-place and nixos-infect are generic approaches to install NixOS from an existing Linux. Another approach is to use a kexec-based image as is done with nixos-anywhere. This also allows for changing the underlying filesystem. See Install NixOS on a Server With a Different Filesystem.

See also the NixOps project, which also provides interfaces to different cloud providers.