Overview
This is a repackaged software product wherein additional charges apply for hardening, security configuration, and support.
WHAT IS PLANE
Plane is an open-source project management platform built around issues, cycles, modules, projects, and pages, delivered as a multi-service stack: a Django REST API and Celery worker / beat workers, a Next.js dashboard, a public space view, an admin god-mode UI, and a Hocuspocus WebSocket server for collaborative page editing. The community edition runs as a docker-compose deployment with bundled PostgreSQL 15, Valkey 7 for cache and Channels, RabbitMQ 3.13 as the Celery broker, and MinIO as the S3-compatible object store for attachments and avatars. Plane covers the planning surface for software and operations teams - issues with custom properties, sprint-like cycles, multi-issue modules, kanban / list / Gantt / spreadsheet views, automatic recurring schedules, GitHub / GitLab / Gitea / Slack integrations configured per workspace, and a published API for automation. Workspaces are self-contained: invite teammates, define roles, and own the data. AGPL-3.0 license, no vendor lock-in.
WHAT THIS AMI ADDS
Security hardening:
- Per-instance Postgres, RabbitMQ, MinIO, Django SECRET_KEY and Live HMAC secret generated at first boot - no shared defaults across instances
- Host Nginx fronts every service on TCP 443 with a self-signed certificate; HTTP redirects to HTTPS
- All five Plane container images (frontend, backend, space, admin, live) plus PostgreSQL, Valkey, RabbitMQ and MinIO pinned by SHA-256 digest with explicit linux/amd64 platform - reproducible builds, no surprise upgrades on rebuild
- No admin account is baked into the AMI: the first signup through the /god-mode/ setup UI becomes the Instance Admin and workspace owner, and the setup wizard closes automatically once that first registration completes
- Every Plane container binds to 127.0.0.1 only - Nginx is the sole public-facing endpoint
- Service-level healthcheck start_period tuning prevents the cold-boot race where RabbitMQ's Erlang VM init outruns the dependency check
- No provider keys baked in - operators configure SMTP, OAuth, and webhook integrations through the workspace settings after first login
- UFW firewall pre-configured - only TCP 22, 80, 443 are exposed
- fail2ban, AppArmor
- CVE scan - every image is scanned for vulnerabilities before release
OS hardening (CIS Level 1):
- CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown
- auditd, SSH hardening, kernel hardening, IMDSv2 enforced
Compliance artifacts:
- SBOM - CycloneDX 1.6 at /etc/lynxroute/sbom.json
- CIS Conformance Report at /etc/lynxroute/cis-report.html
- CIS Tailored Profile at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md
ARCHITECTURE NOTES
The Plane web dashboard, public spaces view, admin UI, live collaboration WebSocket, and REST API are routed by host Nginx as /, /spaces/, /god-mode/, /live/, and /api/ respectively. Postgres data, Valkey AOF logs, RabbitMQ state and MinIO uploads persist at /opt/plane/{db,redis,rabbitmq,uploads} - operators can attach an EBS volume to any of these. Replace the self-signed certificate with a CA-signed certificate for production (sudo certbot --nginx -d YOUR_DOMAIN) and update WEB_URL in /opt/plane/.env so OAuth callbacks, email links and presigned S3 upload URLs use the new hostname.
Highlights
- Plane security baked in: per-instance Postgres + RabbitMQ + MinIO + Django secrets at first boot, host nginx TLS in front of every container, all images SHA-pinned, no admin baked in - unlike bare Plane AMIs with default plane/plane DB creds, the Caddy proxy without TLS, and the public MinIO access keys.
- CIS Level 1 hardened Ubuntu 24.04 LTS: auditd, fail2ban, AppArmor, SSH key-only, IMDSv2 enforced. CVE-scanned before every release. SBOM (CycloneDX) and CIS Conformance Report included.
- Self-hosted project management with issues, cycles, modules, pages, Gantt and kanban views, plus Hocuspocus collaborative page editing. Bring-your-own SMTP, OAuth, and webhook integrations - configured per workspace after login. AGPL-3.0 license - fully auditable, no vendor lock-in, ever.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
Dimension | Cost/hour |
|---|---|
t3.large Recommended | $0.03 |
m6i.xlarge | $0.05 |
m6i.large | $0.03 |
Vendor refund policy
We do not offer refunds for this product. AWS infrastructure charges (EC2, EBS, data transfer) are billed separately by AWS and are not refundable by us.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Version 1.3.1 - Initial release (May 2026)
- Plane 1.3.1 community edition on Ubuntu 24.04 LTS
- CIS Level 1 hardening applied (ansible-lockdown/UBUNTU24-CIS)
- CVE-scanned before every release
- Per-instance Postgres, RabbitMQ, MinIO, Django SECRET_KEY and Live HMAC secret generated at first boot
- Self-registration on first launch - first signup through /god-mode/ becomes the Instance Admin and workspace owner; setup wizard closes automatically once that first admin is registered
- Host Nginx fronts every service on TCP 443 with a self-signed certificate; HTTP redirects to HTTPS
- All five Plane container images plus PostgreSQL 15, Valkey 7, RabbitMQ 3.13 and MinIO pinned by SHA-256 digest with explicit linux/amd64 platform
- Healthcheck start_period tuning on db / redis / mq prevents cold-boot dependency-failed races
- UFW firewall pre-configured (TCP 22, 80, 443 only)
- fail2ban, auditd, AppArmor pre-configured
- SBOM (CycloneDX 1.6) at /etc/lynxroute/sbom.json
- CIS Conformance Report (OpenSCAP) at /etc/lynxroute/cis-report.html
- IMDSv2 enforced
Additional details
Usage instructions
- Launch instance (t3.large recommended; the bundled stack runs eleven containers)
- Open Security Group - restrict TCP 443 to YOUR IP/32 until you have registered the first admin (the first signup at /god-mode/ becomes the workspace owner; anyone reaching the URL before you can claim that role)
- SSH: ssh -i key.pem ubuntu@<PUBLIC_IP>
- Read credentials: sudo cat /root/plane-credentials.txt
- Open https://<PUBLIC_IP>/god-mode/ in your browser - accept the self-signed certificate warning
- The setup wizard appears - register with YOUR real email and a strong password (Plane runs zxcvbn; score must be 3 or above)
- The setup wizard closes automatically within ~30 seconds after you submit (a background service detects the first admin in the database and finalises the instance state)
- After signing in, open Settings -> Email and configure SMTP if you need workspace invitations and password resets (Plane registration still works without SMTP)
- Open https://<PUBLIC_IP>/ to create your first workspace and start planning issues, cycles, and modules
Web routes: / Plane dashboard (Next.js) /spaces/ Public space view (Next.js) /god-mode/ Admin god-mode UI (Next.js) /live/ Collaborative editing WebSocket /api/ Django REST API /uploads/ Presigned S3 upload pass-through to MinIO
Stack management: cd /opt/plane && sudo docker compose ps cd /opt/plane && sudo docker compose logs -f api sudo systemctl restart plane
No admin account is baked into the AMI - you register your own Instance Admin on first launch (step 6 above); that account owns the Plane instance and the first workspace. Backing-store passwords (Postgres / RabbitMQ / MinIO) are generated at first boot and listed in /root/plane-credentials.txt for operator reference; those services are only reachable from inside the docker network.
Replace the self-signed TLS certificate with a CA-signed certificate for production using Certbot or another ACME client (point the certificate at your registered domain). After the cert is issued, edit /opt/plane/.env and update WEB_URL to use HTTPS with your domain so OAuth callbacks, email links, and presigned S3 upload URLs use the new hostname, then sudo systemctl restart plane.
Resources
Vendor resources
Support
Vendor support
Visit us online: https://lynxroute.com
For Plane documentation: https://developers.plane.so/self-hosting For Plane upstream issues:
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.
Similar products
