NixOS friendly hosters: Difference between revisions

From NixOS Wiki
imported>Samueldr
m Reviews provider names using the company name as capitalized and described in their about page, or their "official company name", dropping inc. llc and such when not used "in advertising"
imported from old wiki
 
(53 intermediate revisions by 32 users not shown)
Line 1: Line 1:
== 1st class NixOS support ==
<!--
 
====================================================
 
Notes about this page:
 
* KEEP header levels as HTML tags, since we're using them in a table.
* NAME the business with the casing (upper, lower) as they advertise and/or are registered.
* ORDER tables alphabetically. When a single host has multiple names, order by most recognizable name first. (See OVH)
* SHORT summaries in the table. When longer, link to a known good quality article or create a wiki page.
* GENERIC installation methods can be recommended for a particular host.
 
What the categories mean:
 
* 1st class NixOS support → it is in the choice of operating systems that can be installed from their panel or ordered.
* Support NixOS via custom ISO → No hacks or weird setup needed. Following the installation guide should work.
* Other means of installation → Hoster-agnostic instructions, hoster-specific instructions or hacks needed to use NixOS.
 
The Hoster-agnostic section provides alternative methods that can work in many situations, but are not necessarily one-size-fits-all. They, also, generally are meant for remote installation procedures.
 
====================================================
 
-->
{|class="table table-striped"
{|class="table table-striped"
|- style="background-color: #fff"
|colspan=2 style="border-top: 0;| <h2>1st class NixOS support</h2>
|-
![https://www.gandi.net/en/cloud/vps 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.
|-
![https://vps2day.com VPS2day]
|When ordering or configuring, the "Manual Install (Advanced)" option includes NixOS. Installation is done through a web-based console.
|-
![https://vpsfree.org 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 [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://rackzar.com Rackzar.com]
|South African Hosting Provider offering NixOS on all VPS plans as a drop down OS during checkout.
|- style="background-color: #fff"
|colspan=2| <h2>Support NixOS via custom ISO</h2>
|-
![https://buyvm.net/ 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.
|-
|-
![https://packet.net Packet]
![https://www.hetzner.de/ Hetzner&nbsp;Online]
|[https://www.packet.net/promo/nixos/ NixOS on Packet]
| 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
|-
|-
![https://www.linode.com/ Linode]
![https://www.hetzner.com/cloud Hetzner&nbsp;Cloud]
|[https://www.linode.com/docs/tools-reference/custom-kernels-distros/install-nixos-on-linode Install and Configure NixOS on a Linode]
| 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://vps2day.com VPS2day]
![https://liteserver.nl/ LiteServer]
|you have to click on "Manual Install (Advanced)" to get list of all OSes available to install including NixOS
|NixOS ISO is available from the control panel. Also see [[Install_NixOS_on_Liteserver|Install NixOS on Liteserver]].
|}
 
== Support NixOS via custom ISO ==
{|class="table table-striped"
|-
|-
![https://www.vultr.com/ Vultr]
![https://bandwagonhost.com BandwagonHost]
|nixos.wiki is running on a NixOS VPS at Vultr
| 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')
(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]
|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://www.hetzner.de/ Hetzner Online]
![https://php-friends.de PHP-Friends]
|NixOS ISO can be provided by the support. Just request them to make the ISO available via the support formular (provide a download link to the ISO)
| NixOS ISO is available from the control panel.
|
|-
|-
![https://liteserver.nl/ LiteServer]
![https://cloud.co.za/ Cloud.co.za]
|NixOS ISO is available from the control panel.
| 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.
|}
|


== Other means of installation ==
|- style="background-color: #fff"
{|class="table table-striped"
|colspan=2| <h2>Other means of installation</h2>
|-
|-
![https://aws.amazon.com/ec2/ Amazon EC2]
![https://aws.amazon.com/ec2/ Amazon&nbsp;EC2]
|See [[NixOS on Amazon EC2]]
|See [[NixOS on Amazon EC2]]
|-
![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://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]
|See [[Installing NixOS on GCE]]
|-
|-
![https://www.online.net Online]
![https://www.online.net Online]
|See [[Install NixOS on Online.Net]]
|See [[Install NixOS on Online.Net]]
|-
![https://www.ovh.com OVH] / [https://www.kimsufi.com Kimsufi] / [https://www.soyoustart.com So&nbsp;you&nbsp;Start]
|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]
|See [[Install NixOS on Rackspace Cloud Servers]]
|See [[Install NixOS on Rackspace Cloud Servers]]
|-
|-
![https://www.ovh.com OVH] / [https://www.kimsufi.com Kimsufi] / [https://www.soyoustart.com So you Start]
![https://www.scaleway.com Scaleway]
|See [https://web.archive.org/web/20160829180041/http://aborsu.github.io/2015/09/26/Install%20NixOS%20on%20So%20You%20Start%20dedicated%20server/ this blogpost] by Augustin Borsu
|The <code>kexec</code> 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 <code>/dev/nbdX</code> drives which works only with Scaleway supplied images. There is a [https://github.com/scaleway/image-proposals/issues/13 image proposal] to add full NixOS support.
|-
![https://cloud.google.com Google Cloud Platform]
|See [[Installing NixOS on GCE]]
|}
|}


== Hoster-agnostic means of installation ==
<h2>Hoster-agnostic means of installation</h2><!-- Keep h2 here -->
 
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. [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]].


The [[Installation guide#Installing_on_VPS_.26_Cloud_Providers|Installing on VPS & Cloud Providers]] section of the installation guide page explains methods that can be used on various providers. As always, with unsupported hosts and unsupported distributions, your mileage may vary.
See also the [[NixOps]] project, which also provides interfaces to different cloud providers.
[[Category:Server]]
[[Category:Community]]

Latest revision as of 07:01, 30 May 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.

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.