NixOS friendly hosters: Difference between revisions

From NixOS Wiki
imported>Kimat
m the latest version available in their public library wasn't obvious
Makuru (talk | contribs)
Added another hoster to this side.
(23 intermediate revisions by 17 users not shown)
Line 26: Line 26:
|colspan=2 style="border-top: 0;| <h2>1st class NixOS support</h2>
|colspan=2 style="border-top: 0;| <h2>1st class NixOS support</h2>
|-
|-
![https://inceptionhosting.com/ Inception Hosting]
![https://www.gandi.net/en/cloud/vps GandiCloud VPS]
|The 18.09 ISO can be selected in the VPS control panel (KVM VPSes only).
|Start a NixOS server with a single command or by few clicks in the web UI: it is a provided and supported server image.
|-
 
![https://www.linode.com/ Linode]
|[https://www.linode.com/docs/tools-reference/custom-kernels-distros/install-nixos-on-linode Install and Configure NixOS on a Linode]
|-
![https://packet.com Packet]
|[https://www.packet.com/promo/nixos/ NixOS on Packet]
|-
![http://ramnode.com RamNode]
|A NixOS ISO can be used with RamNode's KVM machines (only). RamNode supplies a NixOS ISO in its ISO library, and will update it to the latest release on request.
|-
|-
![https://vps2day.com VPS2day]
![https://vps2day.com VPS2day]
|When ordering or configuring, the "Manual Install (Advanced)" option includes NixOS. Installation is done through a web-based console.
|When ordering or configuring, the "Manual Install (Advanced)" option includes NixOS. Installation is done through a web-based console.
|-
|-
![https://www.vultr.com/ Vultr]
![https://vpsfree.org vpsFree.cz]
|Vultr has a 19.09 NixOS ISO in its public ISO library and also allows the upload of custom ISOs. nixos.wiki is running on a NixOS VPS at Vultr.
|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 [https://kb.vpsfree.org/manuals/distributions/nixos NixOS at kb.vpsfree.org] for more information. See [https://github.com/vpsfreecz/example-nixops-deployment nixops example] on howto setup a server using nix 2.7 and nixops 2.0.
|-
|-
![https://vpsfree.org vpsFree.cz]
![https://rackzar.com Rackzar.com]
|Non-profit association providing free as in freedom VPS services for its members. <br /> [https://kb.vpsfree.cz/navody/distribuce/nixos NixOS on vpsFree]
|South African Hosting Provider offering NixOS on all VPS plans as a drop down OS during checkout.
|- style="background-color: #fff"
|- style="background-color: #fff"
|colspan=2| <h2>Support NixOS via custom ISO</h2>
|colspan=2| <h2>Support NixOS via custom ISO</h2>
Line 53: Line 45:
|-
|-
![https://www.hetzner.de/ Hetzner&nbsp;Online]
![https://www.hetzner.de/ Hetzner&nbsp;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]
| NixOS ISO is available from the control panel.
|-
|-
![https://www.netcup.de/ netcup]
![https://www.netcup.de/ netcup]
|NixOS ISO can be uploaded via FTP to be available in the server control panel.
|NixOS ISO can be uploaded via FTP to be available in the server control panel.
(in the SCP, navigate to: 'Media' &rarr; 'Images') See the [https://www.netcup-wiki.de/wiki/Server_Control_Panel_%28SCP%29#Eigene_DVDs official netcup documentation]. [https://logs.nix.samueldr.com/nixos/2018-04-13#1523647738-1523650704; It may be necessary]  to create a bios-boot partition for grub.
(in the SCP, navigate to: 'Media' &rarr; 'Images') See the [https://www.netcup-wiki.de/wiki/Server_Control_Panel_%28SCP%29#Eigene_DVDs official netcup documentation].  
Step-by-step installation instruction can be found here: [https://ersocon.net/articles/setting-up-a-nixos-server-on-netcup~269ec969-fac2-4519-a177-3a79af31948d NixOS on Netcup] (In English).
[https://logs.nix.samueldr.com/nixos/2018-04-13#1523647738-1523650704; It may be necessary]  to create a bios-boot partition for grub.
|-
|-
![https://www.online.net/ Online]
![https://www.online.net/ Online]
|A NixOS ISO can be use with iDrac (Dell) or iLo (HP). You can upload your own iso or use [https://virtualmedia.online.net/nixos/ virtualmedia]. You must have a Dell or HP server. Here is the [https://documentation.online.net/en/dedicated-server/operating-system/custom-install/start documentation] if you don't know DRAC at Online.
|A NixOS ISO can be use with iDrac (Dell) or iLo (HP). You can upload your own iso or use [https://virtualmedia.online.net/nixos/ virtualmedia]. You must have a Dell or HP server. Here is the [https://documentation.online.net/en/dedicated-server/operating-system/custom-install/start documentation] if you don't know DRAC at Online.
 
|-
 
![https://inceptionhosting.com/ Inception Hosting]
| Inception hosting no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality
|-
![https://www.linode.com/ Linode]
| no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality. [https://www.linode.com/docs/tools-reference/custom-kernels-distros/install-nixos-on-linode Install and Configure NixOS on a Linode]
|-
![http://ramnode.com RamNode]
|RamNode  no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality.
|-
![https://www.vultr.com/ Vultr]
|Vultr  no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality.
|-
![https://php-friends.de PHP-Friends]
| NixOS ISO is available from the control panel.
|
|-
![https://cloud.co.za/ Cloud.co.za]
| NixOS ISO is available from a drop-down menu option when selecting ISO image to mount a image for the CD-ROM device. You may also request their helpful support team to mount a specific ISO image. Using the graphical installation works best as you will need to set the static ip address, gateway and nameserver as provided to gain internet access. During the installation setup and you will configure your login to be password-less in order to access the server via the VNC console. On the first boot, to complete the configuration for the networking (hostname, static ip, gateway, nameservers, etc), the ssh access for your user and lastly remove the password-less login.
|
|-
![https://lyratris.com/ lyratris.com]
|Custom ISOs can be uploaded from the control panel.
|
|- style="background-color: #fff"
|- style="background-color: #fff"
|colspan=2| <h2>Other means of installation</h2>
|colspan=2| <h2>Other means of installation</h2>
Line 79: Line 97:
![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]
|After unmounting <code>/boot</code>, [https://github.com/elitak/nixos-infect nixos-infect] can be used to transform an existing Ubuntu 16.04 installation into NixOS. This process can be fully automated ([https://gist.github.com/fadenb/4267f71b858e590a789a1dbaad7b1d09 example]) when using the API by supplying the unmount and nixos-infect commands in a custom [https://developers.genesiscloud.com/instances#create-an-instance startup_script].
|-
|-
![https://cloud.google.com Google&nbsp;Cloud&nbsp;Platform]
![https://cloud.google.com Google&nbsp;Cloud&nbsp;Platform]
Line 87: Line 111:
|-
|-
![https://www.ovh.com OVH] / [https://www.kimsufi.com Kimsufi] / [https://www.soyoustart.com So&nbsp;you&nbsp;Start]
![https://www.ovh.com OVH] / [https://www.kimsufi.com Kimsufi] / [https://www.soyoustart.com So&nbsp;you&nbsp;Start]
|Blog posts for [https://www.srid.ca/137ae172.html OVH] and [https://web.archive.org/web/20160829180041/http://aborsu.github.io/2015/09/26/Install%20NixOS%20on%20So%20You%20Start%20dedicated%20server/ SoYouStart]
|Blog posts for [https://web.archive.org/web/20210125195352/https://www.srid.ca/137ae172.html OVH] and [https://web.archive.org/web/20160829180041/http://aborsu.github.io/2015/09/26/Install%20NixOS%20on%20So%20You%20Start%20dedicated%20server/ SoYouStart]
|-
|-
![https://www.rackspace.com Rackspace]
![https://www.rackspace.com Rackspace]
Line 100: Line 124:
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.
[[Category:Server]]
[[Category:Community]]
[[Category:Deployment]]

Revision as of 14:01, 19 November 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.
Rackzar.com South African Hosting Provider offering NixOS on all VPS plans as a drop down OS during checkout.

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.
Cloud.co.za NixOS ISO is available from a drop-down menu option when selecting ISO image to mount a image for the CD-ROM device. You may also request their helpful support team to mount a specific ISO image. Using the graphical installation works best as you will need to set the static ip address, gateway and nameserver as provided to gain internet access. During the installation setup and you will configure your login to be password-less in order to access the server via the VNC console. On the first boot, to complete the configuration for the networking (hostname, static ip, gateway, nameservers, etc), the ssh access for your user and lastly remove the password-less login.
lyratris.com Custom ISOs can be uploaded 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.