What is Plane ?
Plane is an open-source ticket management tool, software application developed collaboratively by a community of developers and made available to the public for free and it is dubbed to be the open source alternative for Jira.
How to install and setup Plane ?
For setting up Plane we will need to create a Virtual Machine on some of the cloud providers. On this VM we will need to install Docker in order for all the containers that the application is made of to work and NGINX which will be used to proxy pass the network traffic to the port and frontend of the application also for generating and renewing certificates.
After all the prerequisites are installed we can move on to downloading the script from the official plane repository on github and installing it to a separate folder created by us. Or we can directly download the script for setting up everything with
curl -fsSL -o setup.sh https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/install.sh
When we run the script we are greeted with a prompt and options to select what to do next. After selecting 1 the script will download all necessary images to our VM along with the docker-compose.yaml and .env file in a separate folder called plane-app.
Before we start the application the .env parameters need to be set such as the WEB_URL and NGINX_PORT in order to have the application not crash if the port 80 is already set.
When we have overwritten the default values in the .env we can run the script setup.sh and select the 2nd option which will start the application and all the containers necessary.
Setting up Nginx
We can access the application plane on a separate port different from the HTTP or HTTPs port so now we will need to configure the NGINX so we can have secure access to the website.
server {
server_name WEB_URL;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_pass http://localhost:8080;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate --REDACTED--; # managed by Certbot
ssl_certificate_key --REDACTED--; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = WEB_URL) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80 default_server;
listen [::]:80 default_server;
server_name WEB_URL;
return 404; # managed by Certbot
}
As you can see in the code snippet above the configuration on the NGINX listening port is 80 and 443 (443 should be set up after generating your certificate) which will proxy the traffic to our actual port that is listening on the 8080 in docker. The other thing I have to mention is that the WEB_URL should be the same one as entered in the .env file.
Conclusion
With this we can have a fully Plane’s integrations make it easy for users to connect their Workspace and projects to popular third-party tools.
This enables seamless management of issues and notifications, all from within the Plane platform. Rather than having to switch back and forth between different tools and interfaces, users can access and manage their third-party tools directly from within the Plane platform. This streamlines workflows and improves efficiency by providing a centralized hub for all project-related activities.