PantherX on DigitalOcean in ~ 5 minutes

This is a follow-up to a previous post GNU Guix 1.3 on DigitalOcean in ~ 5 minutes that explained how-to reconfigure a Debian Droplet to Guix (and optionally, PantherX). We’ve since build and uploaded a ready to use image, that you can simply import and start using.

  1. Login to DigitalOcean
  2. Look for “Images” in the sidebar and select “Custom Images”
  3. Import via Url: https://temp.pantherx.org/px-server-os_do-image_v0.0.1.qcow2

At this point you should be able to create a new Droplet in the same region and select the image.

Login with:

ssh panther@enter_your_droplet_ip_address
# password: pantherx

You should change the password immediately.

Generate your own image

(use-modules (gnu)
             (px system install))

(px-server-os
 (operating-system
  (host-name "do-image")
  (timezone "Europe/Berlin")
  (locale "en_US.utf8")

  (initrd-modules (cons* "virtio_scsi"
                         %base-initrd-modules))

  (bootloader (bootloader-configuration
               (bootloader grub-bootloader)
               (targets (list "/dev/vda"))))

  (file-systems (cons (file-system
                       (device "/dev/vda1")
                       (mount-point "/")
                       (type "ext4"))
                      %base-file-systems))

  (swap-devices (list (swap-space (target "/swapfile"))))

  (users (cons* (user-account
                 (name "panther")
                 (comment "default user")
                 (password (crypt "pantherx" "$6$abc"))
                 (group "users")
                 (supplementary-groups '("wheel"))
                 (home-directory "/home/panther"))
                %base-user-accounts)))
 #:open-ports '(("tcp" "ssh" "80" "443")))

Build with:

guix system image --save-provenance --image-size=5G --image-type=qcow2 do-generic-image.scm

Next Steps

You can use above configuration to create a /etc/system.scm


If time allows, we will soon publish a configuration generator to create new server configurations with some basic options and services in the browser. We also want to put together a repository of guides to accomplish various goals like publishing a website, running a Matrix server or your own, web-accessible invoicing application. The sky is the limit (well, the hours in a day, too :wink: )

If you need some more help right now, here are two previous guides:

You can learn more about system configuration here: System configuration | PantherX Operating System Wiki and here: Services (GNU Guix Reference Manual).