How to Install Orangescrum Project Management Tool with Docker

How to Install Orangescrum Project Management Tool with Docker

comments

Orangescrum is an open source project management tool. It allows you to form teams and manage projects and tasks. It's written in CakePHP and uses the MySQL database.

What I like best about Orangescrum is that the user interface only displays and has options for what you need. There's no unncessary tools that you'll never use. Managing tasks couldn't be easier.

orangescrum-create-task

Requirements:

  • Linux server
  • Docker
  • SMTP email account
  • 2GB RAM minimum
  • 10GB HDD space minimum

Step 1: Install Docker

If you already have Docker installed, you can skip this step.

Add the GPG key for the Docker repository

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Add the Docker repository to the APT sources

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Update the package database

sudo apt-get update

Install the Docker package

sudo apt-get install -y docker-ce

Step 2: Install Orangescrum Docker container

Pull the Orangescrum image from the repository

docker pull orangescrum/official

Launch the Orangescrum container and bind it to a specific port. I use port 8080 for it, but you're free to change it to whatever you desire.

sudo docker run -it -p 8080:80 --name=orangescrum orangescrum/official /bin/bash

List all the Docker containers and copy the container ID for Orangescrum

sudo docker ps -a
CONTAINER ID        IMAGE                  COMMAND             CREATED             STATUS                         PORTS               NAMES
3ec23a7337ec        orangescrum/official   "/bin/bash"         3 minutes ago       Exited (127) 4 seconds ago                         orangescrum

Next let's start the Orangescrum container by typing the following command. Make sure to replace the container ID, with the actual ID of the Orangescrum container running on your server

sudo docker start 3ec23a7337ec

Now we can attach it. Again make sure to replace the container ID with the container ID on your server

sudo docker attach 3ec23a7337ec

Once we're attached to the container, we can start Orangescrum by typing

sh start.sh

Step 3: Modify Orangescrum Settings

After starting Orangescrum, navigate to your IP address and port 8080 in your web browser. The page will look like this:

orangescrum-installation-permissions-notice

There will be a notice about setting the proper directory permissions and updating the email settings.

Let's start off by setting the permissions for the directories

chmod 777 /var/www/orangescrum/app/tmp
chmod 777 /var/www/orangescrum/app/webroot

Now let's modify the application settings inside of the constants.php file

vi /var/www/orangescrum/app/Config/constants.php

Add your SMTP account login and password. I wasn't able to get my Gmail account working. However, I was able to successfully get SendGrid working.

define("SMTP_UNAME", "[email protected]");
define("SMTP_PWORD", "******");

Add your website's domain

define("WEB_DOMAIN", "YourDomain.com"); //ex. demo.orangescrum.com

Update the values for FROM_EMAIL_NOTIFY and SUPPORT_EMAIL

define('FROM_EMAIL_NOTIFY', '[email protected]'); //(REQUIRED)
define('SUPPORT_EMAIL', '[email protected]'); //(REQUIRED) From Email

Step 4: Enable less secure apps for Gmail

If you're using Gmail you'll need to enable the option of allowing access to less secure apps.

orangescrum-gmail-sign-in-notification

Go ahead and click the allowing access to less secure apps link and toggle the Allow less secure apps option to ON.

orangescrum-gmail-allow-insecure-apps

Step 5: Configure Orangescrum

Congratulations! If you've reached this step, you've successfully installed Orangescrum. You can now navigate to your server's IP address and port that you installed Orangescrum on. You'll be prompted to create an account, set-up your first project and create a task.

Troubleshooting

If you're not receiving any emails, go to the test email page located at http://localhost/cron/test_email/[email protected]

Possible error messages:

If you see an error message about the server not responding, chances are the web host you're using has that outgoing port blocked. You can contact them and ask them to unblock it for you.

ssl://smtp.gmail.com:465 is not responding.
Simple Email Caught exception: Network is unreachable
Template Email Caught exception: Network is unreachable
Simple Email Caught exception: Connection timed out
Template Email Caught exception: Connection timed out

I wasn't able to find a solution to this problem. Did you experience this same issue and get it working? Post how you did it in the comments below.

php_openssl in php.ini is enabled 

ssl://smtp.gmail.com:465 () is open.

Simple Email Caught exception: SMTP Error: 534 5.7.14  https://support.google.com/mail/answer/78754 e43sm10434835qte.74 - gsmtp

Template Email Caught exception: SMTP Error: 534 5.7.14  https://support.google.com/mail/answer/78754 f30sm4273534qta.73 - gsmtp