githubEdit

Set up a Linux build environment

As an open source product, we encourage users to edit our code and submit patches to it. This article explains how to set up a local environment on Linux so you can build your own copy of Portainer and test your changes.

circle-info

We tested these instructions on Ubuntu 18.04.2 LTS. For instructions that relate to other systems, see the linked documentation below.

Dependencies

  • Docker CEarrow-up-right is the Docker application that runs on your machine to enable the use of Docker features. The latest version is not a requirement for this development stack, however we recommend staying up to date with the latest improvements and security fixes.

  • Yarnarrow-up-right is a package manager for installing new software packages on your system, and is used to run the Portainer development environment.

  • Node.JSarrow-up-right is a JavaScript package used when building applications that leverage networking, such as Portainer. Version 18 or later is required.

  • Golangarrow-up-right is the open source language that we use to build the majority of Portainer software. Version 1.18 of Golang is required.

  • Wget is a package used to retrieve files using common internet protocols such as HTTP and FTP.

Part 1: Installing Docker

circle-info

The following instructions were run on Ubuntu, for up-to-date instructions on this and other Linux distributions read the official Docker CE documentationarrow-up-right.

circle-info

You must configure the Docker repository before you install Docker.

Step 1: Configure the Docker repository

First, update your system's packages using this command:

sudo apt-get update

Next, install the required packages to use repos over HTTPS:

Now install the official GPG key for Docker:

Use this fingerprint to confirm that you have the correct key:

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88

The correct output should be:

And finally, use the following command to set up the stable repository:

Step 2: Install Docker

circle-info

We always recommend installing software using the most up-to-date instructions from the official vendor. This step is based on Docker's own installation instructions for Docker on Linuxarrow-up-right.

First, update your system's packages using this command:

Next, install Docker and its associated packages:

Finally, verify that Docker was correctly installed and is running on your system. This command should download a test image that you can run in a container, print an informational message for then exit out of.

Part 2: Installing Yarn

circle-info

If you are running a different Linux distribution than Ubuntu, read Yarn's own installation instructions for Yarn on Linuxarrow-up-right.

circle-info

If you have issues installing or using Yarn, read their official documentationarrow-up-right.

Run this command in the terminal to configure the Yarn repository on your system:

Update your system's packages and install Yarn using this command:

Finally, run this command in the terminal to confirm that the Yarn installation was a success:

The current version of Yarn should print out in your terminal, indicating that that it installed successfully and is running on your system.

Part 3: Installing or updating Node.JS

circle-info

This procedure makes use of NVM to install Node.JS (Node.JS version 12 or later is required). NVM allows multiple different versions of Node.JS to be installed on a system and provides an easy way to switch between them.

circle-info

If you have issues installing or updating Node.JS, read NVM's documentationarrow-up-right.

First, install or update to the latest version of Node.JS by running this command in the terminal:

Finally, check if Node is installed on your system:

The latest version of Node.JS should now print out.

Part 4: Installing Golang using a Linux tar file

circle-info

Go version 1.17 must be installed. If you're upgrading from an older version, you must remove the existing versionarrow-up-right first before installing version 1.17. For the most up-to-date installation instructions, read Go's own documentationarrow-up-right.

circle-info

If you have issues installing or using Go, read the Getting help section in their official documentationarrow-up-right.

First, downloadarrow-up-right the appropriate version of Go for your system. Navigate to where it was downloaded then extract it to the /usr/local directory using this command:

Next, add /usr/local/go/bin to the PATH environment variable inside your shell profile. Here's an example using bash:

circle-info

You may need to log out and log back in for this to take effect.

And finally, follow the Test your installation section in Golang's official documentationarrow-up-right to ensure that Go installed correctly.

Part 5: Installing Wget

circle-info

If you have issues installing or using Wget, read their documentationarrow-up-right.

To install Wget on Linux, simply run the apt-get install wget command in the terminal.

Was this helpful?