EN
Log in Create an account

How to Set Up Plane on Saplo: A Jira Alternative Without Per-User Fees

Plane is an open-source alternative to Jira and Linear, offering sprints, a backlog, epics, and kanban without per-user fees. A comparison, cost breakdown, and step-by-step installation on Saplo Box.

Grzegorz Kalmus ·

Jira's Standard plan currently costs around $7.91 per user per month, or roughly $7. For a team of five developers, that's about $37 a month, and for ten developers, $73. The bill grows with every new account, whether it's an intern, a tester, or a client who needs to see sprint progress. Linear works out to a similar price. In this guide, we show you how to set up Plane, an open-source alternative to Jira and Linear, on your own Box at Saplo. With no per-seat fees, data stored on a server in Germany, and a single annual payment.

You can find a ready-to-use setup on the Plane page in the Saplo App catalog. Below is everything you need to know before and after you click.

What is Plane

Plane is a work management tool for software teams. It gives teams everything they pay for in Jira:

  • work items with priority, assignee, labels, estimates and due dates,
  • cycles, or sprints with start and end dates and a burndown chart,
  • modules and epics for grouping larger chunks of work,
  • backlog with tasks that have not yet been included in any cycle,
  • views for lists, kanban boards, calendars, tables and timelines, saved with filters,
  • pages, a simple project wiki for notes, specs and decisions,
  • live collaboration, so you see other people's changes instantly, without refreshing.

The project is developed in the open on GitHub, and the Community edition is licensed under AGPL-3.0 and has no user limit. On Saplo, we use the official image makeplane/plane-aio-community, which is the All-In-One version: the interface, API, background task worker and live collaboration server all run in a single container.

One important distinction: Vikunja is also available in the Saplo App catalog. Vikunja offers general-purpose task lists, kanban and gantt for any team. Plane is designed for agile software development teams: sprints, backlogs, epics and estimates. If you run a flower shop and need a weekly task list, choose Vikunja. If you run sprints, choose Plane.

Plane or Jira: an honest comparison

Jira Cloud (Standard) Plane Community on Saplo
Price about $7 per user per month a fixed Box price per year
User limit you pay for every account no limit
Where the data is stored Atlassian cloud your Box, server in Germany
Sprints, backlog, epics yes yes
Views: kanban, list, calendar, timeline yes yes
Project wiki separate in Confluence, paid built-in pages
Plugin marketplace huge modest
Advanced workflows and automations very comprehensive simpler
Updates and backups handled by Atlassian you, with help from Box backups
Support from the vendor community and documentation

When to stay with Jira:

  • when a team has up to 10 people and the free Jira Free plan is sufficient (with its limitations, including no advanced permissions and a low file storage limit),
  • when the company operates within the Atlassian ecosystem: Confluence, Bitbucket, Jira Service Management, and a dozen or so paid plugins,
  • when you need highly complex workflows, compliance audits, and an SLA with the vendor,
  • when no one on the team wants to be responsible for their own instance, even one as simple as the one available on Saplo.

When Plane makes more sense:

  • your team is growing, and you pay more every month for new accounts,
  • you want clients or subcontractors to have visibility into the project without buying them licenses,
  • project data, specifications, and client notes are to stay on your server in the EU,
  • Jira is too heavy for the team, and you want a fast, readable tool in the style of Linear.

The Community edition does not include all the features of Plane's paid plans (Pro, Business). Before moving a large team, it is worth comparing the feature list on Plane's pricing page and checking whether everything you use in Jira day to day is available in Community.

Cost breakdown

Plane requires Box L (more on this below), which costs $149 per year, or about $12 per month. The price for the first term is the same as the renewal price. Comparison with Jira Standard at about $7 per person:

Team Jira Standard annually Plane on Box L annually Difference
5 people approx. $439 $149 approx. $293
10 people approx. $878 $149 $732
15 people approx. $1317 $149 $1171
25 people approx. $2195 $149 $2049

Two honest caveats about this table. First, Jira Free is available for up to 10 people, so a small team that is not hindered by the free limitations will not save a cent on Plane. Second, Box L is not just Plane. You get 6 GB of RAM and 60 GB of storage, so alongside Plane you can usually fit lighter applications, for example Uptime Kuma for monitoring or a company website. The number of applications on Box is not limited, only memory and storage capacity are.

Requirements and choosing a Box

Plane is one of the heavier applications in the catalog. The installation requires six containers:

  • postgres (PostgreSQL 16) for application data,
  • redis for caching and sessions,
  • rabbitmq as a background task queue,
  • storage, an S3-compatible file storage service (SeaweedFS) for attachments and avatars,
  • storage-init, a one-time container that creates the file bucket and then shuts down,
  • plane, the application itself.

The setup requires at least 3 GB RAM and 10 GB of disk space. This rules out Box S (1 GB) and Box M (2 GB). The right choice is:

  • Box L (6 GB RAM, 60 GB disk space, $149 per year, 7-day backups) for a team of up to a dozen people, with enough spare memory for one or two lightweight applications alongside it,
  • Box XL (12 GB RAM, 150 GB disk space, $329 per year, 14-day backups) when the team is larger, tasks involve many attachments, or other resource-intensive applications, such as n8n or a CRM, need to run on the same Box.

Both plans include SSH access with full sudo, which will be useful when configuring email.

Step-by-step installation

  1. Log in to the Saplo panel and open App catalog. You will find Plane under Tools. You can also start from the Plane page and click the deploy button.
  2. Select Box. If your Box does not have enough free memory, the panel will warn you before the installation starts, rather than after a failed attempt.
  3. Enter an address. The easiest option is a subdomain such as zadania.saploapp.pl. You set up your own domain, for example projects.yourcompany.com, during installation, and the SSL certificate is issued automatically.
  4. Confirm. The engine installs Docker, generates random passwords for the database, Redis, RabbitMQ and file storage, along with session keys, permanently saves them in this installation's configuration, and starts the containers in the correct order: first the database, cache, queue and storage, then bucket setup, and finally the application.
  5. Wait. On its first startup, Plane runs a database schema migration that takes more than a few seconds. The installation is complete only once the application actually responds at your address, so the "running" status means Plane is ready.
  6. Open the address in your browser.

Within the Plane container, a built-in proxy server runs on port 80 without a certificate. HTTPS is terminated by the Box server, just as with every other application in Saplo, so there is nothing to configure here.

First launch: administrator and workspace

Plane does not come with a pre-generated administrator password. You create the account yourself when you first sign in:

  1. On your first visit, Plane guides you through the instance setup. The person who completes it becomes the instance administrator, so do this immediately after installation, before you share the address with anyone.
  2. Create a workspace, which is your company space. The workspace name and address will appear in links to tasks.
  3. Create your first project with a short identifier, for example WEB. Tasks will be assigned the numbers WEB-1, WEB-2, and so on, just like in Jira.
  4. In the project settings, adjust the statuses (for example, Backlog, To do, In progress, Code review, Done) and enable the features you use: cycles, modules, pages.

The installation instructions, including the names of all containers and commands for viewing logs, are saved in the PLANE-SETUP.txt file in the app directory on Box. The Saplo panel will display its contents whenever you need them.

Teamwork: invitations and email

You invite additional team members from the workspace settings. There is one thing you need to know: the recipe does not automatically connect a mail server. The invitation will be created, but the email containing it will not be sent, and neither will task assignment notifications.

There are two options:

  • simpler: team members create accounts using your email address, then accept the invitation after logging in, or you add them to the workspace manually,
  • full: you configure SMTP, for example a company mailbox. You do this over SSH by filling in the variables EMAIL_* in the docker-compose.yml file in the application directory (host, port, username, password, sender address) and restarting the container with docker compose up -d. From that moment on, invitations, notifications, and password resets work normally.

You can set up a sending mailbox in Saplo email, which is included in the price of every Box plan.

Migration from Jira. It is best to start with one project and one sprint rather than migrating the entire history. Old, closed tasks can remain in Jira as read-only or in an export. Whether an automatic Jira importer is available in a given edition is worth checking in the Plane Documentation before the migration. If necessary, you can use the Plane API to upload tasks with a script.

Security and settings worth changing

A few things to do in the first week:

  • Configure your instance right away. The first person to complete the setup becomes the administrator, so don't leave a fresh installation unattended.
  • Restrict registration. Once everyone on your team has an account, disable open registration in the instance admin panel so that anyone who knows the address cannot create an account.
  • Use roles. A client who only needs to view progress does not need a member role with editing permissions. Plane has administrator, member and guest roles.
  • Backups. Box L keeps backups for 7 days, and Box XL keeps them for 14 days. In addition, every Box has an off-server backup. Before making major changes, such as updating the version, you can manually dump the database via docker exec on the PostgreSQL container.
  • Secrets stay where they are. Passwords and keys are stored in docker-compose.yml of this installation. Do not change them manually unless necessary, because changing the session key will log everyone out, while changing the database password without updating it in the database itself will bring the application to a halt.

Common problems

The page takes a long time to load immediately after installation. Several processes start inside the container at once (migrations, API, worker, collaboration server). On a fresh Box, the first visit may take a little longer. Preview: docker logs -f with the container name from the PLANE-SETUP.txt file.

Invitations are not arriving. This is not an error, just a lack of SMTP. The mail setup is described above.

Attachments cannot be uploaded. Attachments are stored in SeaweedFS. If the storage-init container has not created a bucket, the upload ends with an error. The installation ensures the correct order, but when you restart the containers manually, check the storage and storage-init container logs.

Box starts to slow down. Six containers need memory. If other heavy applications are running alongside Plane, check RAM usage in the Saplo dashboard. The solution is to add more memory or switch from Box L to Box XL, with no data migration.

After a restart, everyone is logged out. This should not happen because the session keys are stored permanently. If it does happen, check whether someone cleared the SECRET_KEY or LIVE_SERVER_SECRET_KEY variables in the configuration.

Summary

Plane gives development teams sprints, backlogs, epics, and views familiar from Jira, without a per-user fee. For a team of more than 10 people, that difference adds up to thousands annually, while project data stays on your server in the European Union. The trade-off is a few minutes of email configuration, while Saplo handles backups automatically.

If your team has just a few people and Jira Free is enough, there is no reason to switch. If the licensing bill keeps growing every quarter, open the Plane page in the Saplo catalog, choose Box L, and set up your own instance. For a full comparison of plans, see the price list.

  • #Self-hosting
  • #Jira
  • #Plane
  • #Guide
  • #Project management