Skip to content

Commit 5aef4a8

Browse files
Podman Quadlets and other fixes #122
2 parents de0252c + 1be0107 commit 5aef4a8

File tree

8 files changed

+187
-14
lines changed

8 files changed

+187
-14
lines changed

.github/workflows/ci.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: CI
2+
on: pull_request
3+
4+
concurrency:
5+
group: ${{ github.workflow }}-${{ github.ref }}
6+
cancel-in-progress: true
7+
8+
jobs:
9+
ci:
10+
name: Test
11+
runs-on: ubuntu-latest
12+
timeout-minutes: 15
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 2
18+
19+
- name: Set up Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: '22'
23+
24+
- name: Check for broken links
25+
run: |
26+
set -e
27+
output=$(npx mint broken-links)
28+
echo "$output"
29+
if ! echo "$output" | grep -q '^success '; then
30+
echo "Error: Broken links found! Fix the broken links listed above before merging."
31+
exit 1
32+
fi

CONTRIBUTING.md

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,36 @@ git checkout -b <branch-name>
1717
### 3. Make Changes in the Appropriate Page
1818
Navigate to the relevant documentation page in the repository and make your changes. Ensure that your changes align with our style guide and maintain consistency across the documentation.
1919

20-
### 4. Raise a Pull Request (PR)
20+
### 4. Preview your changes
21+
Make sure you are visually happy with your changes.
22+
23+
1. Run `npx mint dev`
24+
1. A url will be printed to your console. Open it in your browser.
25+
1. Visit your pages and confirm they look correct.
26+
27+
### 5. Fix broken links
28+
29+
1. Run `npx mint broken-links`
30+
2. Fix all reported broken links
31+
32+
### 6. Raise a Pull Request (PR)
2133
Once your changes are ready, raise a pull request (PR) to merge your branch into the `master` branch. Please provide a descriptive title and detailed description of your changes.
2234

23-
### 5. Leave a Clear Commit Message
35+
### 7. Leave a Clear Commit Message
2436
When committing your changes, leave a clear and concise message that links to the corresponding issue (if applicable) and explains the fix or enhancement you've made.
2537

2638
```bash
2739
git add .
2840
git commit -m "Fixes #<issue-number>: Description of the fix or enhancement"
2941
```
3042

31-
### 6. Link the Issue to the Pull Request
43+
### 8. Link the Issue to the Pull Request
3244
In your pull request description, be sure to reference the related issue using GitHub's syntax (`#<issue-number>`). This links the PR to the issue and helps maintain context.
3345

34-
### 7. Sign the Contributor License Agreement (CLA)
46+
### 9. Sign the Contributor License Agreement (CLA)
3547
Before we can merge your contribution, you must sign our contributor license agreement (CLA). This agreement ensures that your contributions comply with our licensing terms.
3648

37-
### 8. Assign a Reviewer from Our Team
49+
### 10. Assign a Reviewer from Our Team
3850
Once your PR is submitted, a member of our team will be assigned to review your changes. They will provide feedback and may request revisions if necessary. Please respond promptly to any review comments to expedite the merging process.
3951

40-
Thank you for contributing to our documentation! We appreciate your efforts in making our product documentation more comprehensive and user-friendly. If you have any questions or need assistance, feel free to reach out to our team. Happy contributing!
52+
Thank you for contributing to our documentation! We appreciate your efforts in making our product documentation more comprehensive and user-friendly. If you have any questions or need assistance, feel free to reach out to our team. Happy contributing!

mint.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@
7272
"self-hosting/methods/kubernetes",
7373
"self-hosting/methods/coolify",
7474
"self-hosting/methods/portainer",
75-
"self-hosting/methods/airgapped-edition"
75+
"self-hosting/methods/airgapped-edition",
76+
"self-hosting/methods/podman-quadlets"
7677
]
7778
},
7879
{

self-hosting/govern/github-oauth.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,5 @@ Plane also supports GitHub OAuth so your users can sign-in with GitHub instead.
2525
1. Go to `GitHub` on the Authentication screen of `/god mode`.
2626
2. Add the client ID + the client secret from the GitHub app you just registered.
2727
3. Click `Save `.
28-
<Frame>![](/images/instance-admin/authentication-instance-settings.png)</Frame>
2928

3029
Your Plane instance should now work with GitHub sign-in.

self-hosting/govern/google-oauth.mdx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,8 @@ First, you will need to identify Plane as an approved OAuth app to Google.
2929
1. Go to `Google` on the Authentication screen of `/god mode`.
3030
2. Add the client ID + the client secret from Google API Console.
3131
3. Click `Save `.
32-
<Frame>![](/images/instance-admin/authentication-instance-settings.png)</Frame>
33-
3432

3533
Your Plane instance should now work with `Sign in with Google`.
3634

3735

38-
<Note>We don't restrict domains in with Google OAuth yet. It's on our roadmap.</Note>
36+
<Note>We don't restrict domains in with Google OAuth yet. It's on our roadmap.</Note>

self-hosting/methods/airgapped-edition.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ Once your air-gapped installation is running, you'll need to activate your works
165165
You should have received the `license_key.json` file as part of your air-gapped package. If you don't have this file, contact our support team.
166166
</Note>
167167

168-
1. Go to your [Workspace Settings](/core-concepts/workspaces/overview#workspace-settings) in the Plane application.
168+
1. Go to your [Workspace Settings](https://docs.plane.so/core-concepts/workspaces/overview#workspace-settings) in the Plane application.
169169
2. Select **Billing and plans** on the right pane.
170170
3. Click the **Activate this workspace** button.
171171
![Upload license file](/images/activate-license/upload-airgapped-license-file.webp)

self-hosting/methods/docker-compose.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Plane One and Plane Pro are enabled on this edition, so the Free plan on this ed
99

1010
### Prerequisites
1111

12-
- A virtual or on-prem machine with atleast 2 vCPUs and 4 GB RAM
12+
- A virtual or on-prem machine with at least 2 vCPUs and 4 GB RAM (8 GB RAM recommended)
1313
- `x64` AKA `AMD 64` or `AArch 64` AKA `ARM 64` CPUs
1414
- Supported operating systems:
1515
- Ubuntu
@@ -136,4 +136,4 @@ If you want to upgrade to a paid plan, see [Plan upgrades](https://docs.plane.so
136136

137137
## Troubleshoot
138138
- [Error during Docker Compose execution](/self-hosting/troubleshoot/installation-errors#error-during-docker-compose-execution)
139-
- [Migrator container exited](/self-hosting/troubleshoot/installation-errors#migrator-container-exited)
139+
- [Migrator container exited](/self-hosting/troubleshoot/installation-errors#migrator-container-exited)
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
---
2+
title: Deploy Plane with Podman Quadlets • Commercial Edition
3+
sidebarTitle: Podman Quadlets
4+
---
5+
6+
This guide shows you the steps to deploy a self-hosted instance of Plane using Podman Quadlets.
7+
8+
## Prerequisites
9+
Before we start, make sure you've got these covered:
10+
11+
- A non-root user account with `systemd --user support` (most modern Linux setups have this)
12+
- Podman version **4.4 or higher**
13+
14+
## Set up Podman
15+
1. Add the Podman repository.
16+
```bash
17+
echo 'deb http://download.opensuse.org/repositories/home:/alvistack/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/home:alvistack.list
18+
```
19+
20+
2. Add the GPG key.
21+
```bash
22+
curl -fsSL https://download.opensuse.org/repositories/home:alvistack/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_alvistack.gpg > /dev/null
23+
```
24+
25+
3. Refresh your package lists.
26+
```bash
27+
sudo apt update
28+
```
29+
30+
4. Install Podman and its dependencies.
31+
```bash
32+
sudo apt install -y podman uidmap netavark passt
33+
```
34+
35+
The `uidmap` package handles user namespace mapping, `netavark` takes care of networking, and `passt` helps with network connectivity.
36+
37+
5. Download and extract Podman Quadlets.
38+
```bash
39+
tar -xzf podman-quadlets.tar.gz
40+
cd podman-quadlets
41+
```
42+
43+
The directory contains an `install.sh` script that will handle the installation and configuration.
44+
45+
## Install Plane
46+
47+
The installation script sets up Plane and configures all required services. You have two options:
48+
49+
### Without sudo access
50+
```bash
51+
./install.sh --domain your-domain.com --base-dir /your/custom/path
52+
```
53+
This installs Plane in your specified directory, which is useful if you want to maintain control over the installation location.
54+
55+
### With sudo access
56+
```bash
57+
./install.sh --domain your-domain.com
58+
```
59+
This installs Plane in `/opt/plane`, which is a standard system location.
60+
61+
<Note>
62+
Systemd configurations are installed in `~/.config/containers/systemd/`
63+
</Note>
64+
65+
## Start Plane
66+
67+
<Warning>
68+
**Important**
69+
Note that you should run these commands without `sudo`.
70+
</Warning>
71+
72+
1. Reload systemd to recognize new configurations.
73+
```bash
74+
systemctl --user daemon-reload
75+
```
76+
77+
2. Start the network service.
78+
```bash
79+
systemctl --user start plane-nw-network.service
80+
```
81+
82+
3. Start core dependencies.
83+
```bash
84+
systemctl --user start plane-{db,redis,mq,minio}.service
85+
```
86+
87+
4. Start backend services.
88+
```bash
89+
systemctl --user start {api,worker,beat-worker,migrator,monitor}.service
90+
```
91+
92+
5. Start frontend services.
93+
```bash
94+
systemctl --user start {web,space,admin,live,proxy}.service
95+
```
96+
97+
The startup sequence is important: network first, then dependencies, followed by backend services, and finally frontend services.
98+
99+
### Verify service status
100+
Check that all services are running correctly:
101+
102+
1. Check network status.
103+
```bash
104+
systemctl --user status plane-nw-network.service
105+
```
106+
107+
2. Check core dependencies.
108+
```bash
109+
systemctl --user status plane-{db,redis,mq,minio}.service
110+
```
111+
112+
3. Check backend services.
113+
```bash
114+
systemctl --user status {api,worker,beat-worker,migrator,monitor}.service
115+
```
116+
117+
4. Check frontend services.
118+
```bash
119+
systemctl --user status {web,space,admin,live,proxy}.service
120+
```
121+
122+
Your Plane installation should now be running successfully with Podman Quadlets. This setup provides automatic service restart capabilities and standard systemd management commands for maintaining your installation.
123+
124+
## Troubleshoot
125+
126+
To debug service issues, examine the logs using:
127+
```bash
128+
journalctl --user -u <service-name> --no-pager
129+
```
130+
131+
The logs will provide detailed information about any configuration issues or errors that may occur.

0 commit comments

Comments
 (0)