Cover image for Installing Forem using Docker on Ubuntu

Installing Forem using Docker on Ubuntu

akhil profile image Akhil Naidu Updated on ・3 min read

Setting up Forem using Docker is one of the easiest ways to have Development Instance πŸ˜‡. If you already have Docker and Docker-Compose, you can install a development instance with a single command, but you guys, you don't deserve the fun 😏 => You can check out the last section of this post and find the Golden Command

For the rest, let us do it but with fun πŸ₯³πŸ₯³. Do you remember this song? One Kiss? πŸ‘Ά Which made Dua Lipa, the Dua Lipa?

One command is all it takes
fallin' love with Forem
I look Like all you need

One Kiss Lyrics

Fortunately, if you never installed Docker or Docker-Compose, don't worry 😡, I'm here for you. Open Youtube in the new tab and play this "One Kiss πŸ’‹ by Dua Lipa" in the background and copy-paste my commands.

Installing Docker using Repository

All the commands are from the official documentation of Docker itself, so don't worry, just copy-paste. In case if you don't believe me πŸ€”, click here, this will redirect you to the official documentation.

  • Updating and Installing some necessaries
sudo apt-get update
Enter fullscreen mode Exit fullscreen mode
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
Enter fullscreen mode Exit fullscreen mode
  • Adding Docker’s official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Enter fullscreen mode Exit fullscreen mode
  • Setting up the stable repository
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
Enter fullscreen mode Exit fullscreen mode
  • Updating and Installing Docker Engine
sudo apt-get update
Enter fullscreen mode Exit fullscreen mode
sudo apt-get install docker-ce docker-ce-cli containerd.io
Enter fullscreen mode Exit fullscreen mode
  • Testing the Docker Installation
sudo docker run hello-world
Enter fullscreen mode Exit fullscreen mode

This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits.

With this our Docker installation was done 😁, now let's turn up towards the Docker-Compose Installation πŸ’ͺ.

In case, you are facing any errors!☠️ Click Here, choose your OS and follow the official instructions πŸ’©.

Installing Docker Compose

As I mentioned earlier, I am following the official documentation, so you can copy and paste. In case, if you want to follow them by yourself πŸ˜’πŸ˜€, click here

  • Downloading the current stable Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Enter fullscreen mode Exit fullscreen mode
  • Giving executable permissions to the binary
sudo chmod +x /usr/local/bin/docker-compose
Enter fullscreen mode Exit fullscreen mode
  • Verifying the Installation
docker-compose --version
Enter fullscreen mode Exit fullscreen mode

For some unknown reason, if you end up with an error🧐 try repeating the docker-compose installation only. If the error persisted, I would suggest you reinstall your OS πŸ€’. You should not get an error😀.

Time to change the Beat

Enough of One Kiss. Time for some awesome beats, check this out Strobe by Deabmau5 => Youtube link to Strobe

Now we have Docker and Docker Compose installed in our local machine, but there is one more thing left for us to do 😳. We forget to fork and download the Forem code into our local machine from the GitHub 🀯.

I knew the response of many of you would be 🀬, but bear with me πŸ‘».

Forking and Downloading the Forem code

Don't make me repeat it again 😠, play the Strobe by Deadmau5 in the background πŸ€—. I knew you can't make a coffee whenever you have to wait for some time, here, the Docker can consume enough time to bore you up.

  • Downloading the repository to you local machine
git clone https://github.com/forem/forem.git
Enter fullscreen mode Exit fullscreen mode
  • Enter into the downloaded Forem folder
cd forem
Enter fullscreen mode Exit fullscreen mode
  • Creating .env file using the template .env_sample
cp .env_sample .env
Enter fullscreen mode Exit fullscreen mode

The awaited Golden Command

πŸ₯΅πŸ₯΅πŸ₯΅ You did nothing, but yeah, I assume you are horrified by the way I demonstrate this πŸ₯Ά

  • Running Forum with Docker Via Docker-Compose
Enter fullscreen mode Exit fullscreen mode

This command will do its job, you just keep an eye on the terminal by listening to strobe 🀭🀭. You will really appreciate the work done by the team Forum, they really made it easy for us (non-developers), but sure you can call yourself a DEV after this.

Any improvements πŸ‘¨β€πŸ”¬, suggestions πŸ€¦β€β™‚οΈ, and issues ☠️ are welcomed in the comment section. This is not formal documentation for me to shy out, load them out, and let us change it according to our needs.

With this, we have our own Development Instance. I will catch you in the next post πŸ‘¨β€πŸ’» πŸ‘©β€πŸ’» (Devs), possibly with something similar to this but in a different environment.

Posted on by:

akhil profile

Akhil Naidu


I am an Engineering Physics graduate from IIT Guwahati, but merely not restricted to Physics itself. In the past few years, I involved in many Cybersecurity blogging and now on Open-source.


Editor guide

Hey Akhil, awesome article you have!

How much server resources do you estimate forem would need for a couple hundred users? I'm planning on deploying my own Forem to DO. πŸ˜„


Today, most of the services provided by many cloud hosting companies are scalable, keeping this fact in mind it is always better to start with the minimum requirements for any project; at least this is my opinion.

So, I would suggest you start with 2GB Ram, 1Core CPU droplet, for initial production, it can easily maintain 100 users. If you feel like cost doesn't matter, you can prefer 8GB ram and 4Core CPU, anything above this will be an overkill. Afterall after a particular stage in open sources projects like Forem, the main issue will be in regarding storing data and backing them up safely.

Hope you got some useful info and let me know if you have your Forem instance :)