How to Install Orangescrum Project Management Tool with Docker
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.
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 | apt-key add -
Add the Docker repository to the APT sources
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Update the package database
apt-get update
Install the Docker package
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.
docker run -it -p 8080:80 --name=orangescrum orangescrum/official /bin/bash
List all the Docker containers and copy the container ID for Orangescrum
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
docker start 3ec23a7337ec
Now we can attach it. Again make sure to replace the container ID with the container ID on your server
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:
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.
Go ahead and click the allowing access to less secure apps link and toggle the Allow less secure apps option to ON.
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