How to Set Up a Work Board on a VPS for Your Remote Team
How to Set Up a Work Board on a VPS for Your Remote Team
This guide provides a streamlined path to deploying FrankBoard on a Virtual Private Server, ensuring your remote team has a private, high-performance project management hub.
What You'll Need
- A VPS with Ubuntu 22.04 or 24.04 LTS
- SSH client (e.g., Terminal, PuTTY)
- A registered domain name
- Root or sudo access to the server
Steps
Step 1: Provision Your VPS
Select a VPS provider that offers a lightweight Linux distribution. For a small team using FrankBoard, a server with 2GB of RAM and 2 vCPUs is typically sufficient to maintain a responsive UI.
Step 2: Establish SSH Access
Connect to your server via SSH using your provided credentials or an SSH key. Once logged in, update the system package index and upgrade existing packages to ensure the environment is secure and current.
Step 3: Install Docker and Docker Compose
Install the Docker engine and the Compose plugin to manage your containers. This allows you to deploy FrankBoard and its database as isolated services, simplifying future updates and migrations.
Step 4: Configure the PostgreSQL Database
Create a docker-compose file that defines a PostgreSQL container. Ensure you set strong environment variables for the database password and user to maintain the privacy and security of your team's data.
Step 5: Deploy FrankBoard
Add the FrankBoard image to your compose file, linking it to the PostgreSQL container. Run the deployment command to pull the latest image and start the work board in the background.
Step 6: Set Up a Reverse Proxy
Install a reverse proxy like Nginx or Caddy to handle incoming web traffic. This allows you to map your domain name to the internal Docker port and manage SSL termination.
Step 7: Enable HTTPS Encryption
Use Let's Encrypt to generate a free SSL certificate for your domain. Encrypting the connection is critical for remote teams to protect sensitive project data and login credentials.
Step 8: Configure Firewall Rules
Use UFW or your provider's security groups to close all unnecessary ports. Only leave ports 80 (HTTP), 443 (HTTPS), and your specific SSH port open to the public internet.
Expert Tips
- Automate your backups by scheduling snapshots of the PostgreSQL volume to avoid data loss.
- Use a non-root user for SSH access to harden the server against unauthorized intrusions.
- Monitor resource usage via 'docker stats' to determine if your VPS needs a memory upgrade as your team grows.