|
| 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