DEV Community

Cover image for Installing Forem/Dev using Docker on Ubuntu

Installing Forem/Dev using Docker on Ubuntu

Akhil Naidu on August 20, 2020

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 ins...
 
akhilnaidu profile image
Akhil Naidu

In Digital Ocean we usually do not deploy like the case in Heroku.

In a vague sense, in Digital Ocean

  1. You buy VPS
  2. Install Forem, exactly like you do in your own system

But the main difference from your PC installation is that you will also change the app's environment variable to Production in the Digital Ocean.

In your personal PC, it is most; likely a development instance and by default uses production variables until you configure them to production.

Usually in Heroku, by default it is nodejs and many other variables are in a Production environment. Also, this is one of the main reason that you are supposed to configure all the environment variables in Heroku for a successful build and release.

Collapse
 
akhilnaidu profile image
Akhil Naidu

The command bin/container-setup is supposed to execute two steps; so try those two commands manually and let me know the status.

The script bin/container-setup executes these two steps in order.

  1. docker-compose build
  2. docker-compose up
 
akhilnaidu profile image
Akhil Naidu • Edited

Ok, I found one of my old text files which have a list of commands to Install Forem in Linux manually. So with less commentary, I am posting another article out of those.

Check out the next article in line or click here

 
akhilnaidu profile image
Akhil Naidu

By looking at the screenshot, I realised that you are using WSL. So I would like to suggest you to check your WSL version and if it is not WSL2, do change it to WSL2.

Secondly, while using docker it takes time for the initial setup, even if it is 8GB ram VM or HYPER-V, it may take up to 30-40 minutes. "Optimisation Issues:"

Collapse
 
sohahm profile image
Sohail Ahmed

Can I use this method to run a production instance or would you suggest another way?

Collapse
 
akhilnaidu profile image
Akhil Naidu

It is always better to have 2 different instances one in local (development) and the other to the public through the production (in Heroku or VPS)

Also, remember, unlike the development forem instance to have a working production instance you have to configure all most all the environment variable in the .env file.

Collapse
 
sohahm profile image
Sohail Ahmed

I would like to deploy it in production and I understand that I need to copy .env_sample as .env and add values but what about docker-compose.yml? It has RAILS_ENV, DATABASE_URL, and many things set as development. Do I have to modify it as well?

Please advise. Thank you.

Thread Thread
 
akhilnaidu profile image
Akhil Naidu

No need to modify system-oriented variables, by default in a system like Heroku the environmental variables of rails are configured as production. All you have to do is configure .env file.

Also just having a .env is not sufficient, you need to configure everything in it. Take for example the Cloudinary, Honey badger, Fastly, Pusher, Honeycomb, AWS.. All of them have to be configured.

Collapse
 
sohahm profile image
Sohail Ahmed • Edited

Yes, thank you. I will install and get back to you if there is anymore questions.

By the way, I used apt install docker-compose to install Docker Compose.

Thread Thread
 
akhilnaidu profile image
Akhil Naidu

Usually installing in such a way is not a problem, but downloading source code and installing it manually never, usually, results in an error.

Also, I would like to know if you have a successful forem production instance. If possible just ping me here, if you have one.

Collapse
 
obaviet profile image
obaviet

Can you guide the installation for production?

Collapse
 
akhilnaidu profile image
Akhil Naidu

I'm working on a individual SaaS for this purpose, ping me forem.dev

 
akhilnaidu profile image
Akhil Naidu

You can follow this guide, and it is working; I confirmed it in my Droplet.

There are some aftermath modifications for full functionality, in a day I might add those.

Thread Thread
 
sidcraftscode profile image
sid

Hi, it doesn't seem to work in my droplet

Thread Thread
 
akhilnaidu profile image
Akhil Naidu

Can you elaborate on the error?

Thread Thread
 
sidcraftscode profile image
sid

It says connection refused. I detailed this issue on forem.dev

Collapse
 
yanivnoema profile image
Yaniv Noema

Thanks for sharing 👏

 
akhilnaidu profile image
Akhil Naidu

Deploying in Heroku is a bit different and even Forem itself is shifting from it, I think so.
Article 03, which I uploaded just now, can be used in Digital Ocean too.

Collapse
 
ellos profile image
Ello