1. Home
  2. Docs
  3. Speedia Control
  4. Getting Started
  5. Deploy on DigitalOcean

Deploy on DigitalOcean

Speedia Control uses openSUSE MicroOS as its base operating system. However, DigitalOcean, as many cloud vendors, does not provide MicroOS out of-the-box unfortunately.

In this article you'll learn how to upload openSUSE MicroOS to DigitalOcean, configure it with Droplet Console and then deploy Speedia Control. Don't worry, we'll soon have an image of Speedia Control on the marketplace so you can deploy with a single click.

  1. Navigate to openSUSE MicroOS official site. Get the download URL for the x86_64 version of QEMU image from the Base System + Container Runtime Environment column;
  2. On the DigitalOcean Console, navigate to Backups & Snapshots, click on Custom Images tab and click on Import via URL;
  3. Paste the download URL and click on Next;
  4. In the Upload an Image modal:
    a) Search for "SUSE" or "openSUSE" on Distribution field, but if it doesn't exist, select "Unknown";
    b) Select the region you want to build the Droplet. You can add this image to another regions later;
    c) Edit or fill up the other fields if you want;

    Tip 1: This process will take long (more than 30 minutes). May be a good time to take a coffee.
    Tip 2: Or you can download the image to your machine and upload it using the Upload Image button, instead of Import via URL. This way it will be a little faster.
  5. Once the upload is done, it's time to Create a new Droplet;
    a) Choose the Region and Datacenter where you uploaded the MicroOS image;
    b) Select the image on Custom images tab

    c) Choose a size;

    Speedia Control runs on 512MB instances, but we usually recommend 2GB RAM for a basic deployment.

    d) Add an additional volume with at least 50GB and select Manually Format & Mount;
    e) Select your preferred way of authentication, but we recommend you to use SSH keys;
    f) Give the instance a name - usually the hostname is used;
    g) After reviewing, hit the Create Droplet button;
  6. Navigate to the Droplet page;
  7. On the left menu, open Access and click on Lauch Recovery Console;
  8. When the connection is established you should see the setup wizard from MicroOS;
  9. First, the setup wizard will request the keyboard layout, the timezone and a password for root. When it asks if you want to set the SSH key, select No for now. Once the wizard is finished, the instance should reboot and you'll see just a login section;
  10. Still on Recovery Console, log in as root and use curl to upload your SSH public key and save it as the authorized_keys file:
    curl -skL https://yoursite.com/your_public_key -o /root/.ssh/authorized_keys
    You can also use GitHub Gist or Pastebin.com to host your SSH public key, just make sure you download the Raw version with curl so there is no HTML tags in it.
  11. Exit from your logged-in session and close the Recovery Console;
  12. You will now need to get the Public IPv4 address. As DigitalOcean droplets have ephemeral IPv4, you have the option to add a Reserved Public IPv4, but this is up to you;
  13. Open a terminal or PuTTY section in your computer and attempt to connect via SSH as root with the public IP address of the instance and the private key matching the public key you uploaded to root user;
  14. Install the unzip package and reboot the droplet:
    transactional-update pkg install unzip
    reboot
  15. Create the /var/speedia/ directory, upload the Control zipped binary to it, unzip it and set the execute permission:
    mkdir /var/speedia
    curl -skL https://speedia.net/control/download -o /var/speedia/control.zip
    unzip /var/speedia/control.zip -d /var/speedia/
    chmod +x /var/speedia/control
  16. Run the install command:
    /var/speedia/control sys-install
    The instance will reboot once or twice.
  17. Refresh the license:
    control license refresh
  18. Create the first user with the following command:
    control account create -u youruser -p passwordhere
  19. And it's done!

    You should be able to access the Control dashboard now at https://yourpublicip:3141/_/.

    Don't forget to ignore the SSL warning as there is no valid SSL issued yet.