Linux Team Server
Offline x86_64 bundle with every required Docker image layer; no registry pull or image build at startup Install guide
Easy Penpot Team
Set up one offline Linux Team Server for the shared workspace, then give every teammate a native desktop client that stores the team's own HTTPS address.
One administrator installs this Linux package. It runs the shared workspace that team clients connect to.
Offline x86_64 bundle with every required Docker image layer; no registry pull or image build at startup Install guide
Every desktop package contains a native Electron and Chromium runtime. It does not install Docker, databases, or the Team Server.
Native Electron client for M2, M3, and M4 with its Chromium runtime included Install guide
Native x64 Electron client using the current maintained runtime Install guide
Legacy x64 compatibility build; use only on a restricted private network Install guide
Native x86_64 client for Ubuntu 20.04 and later Install guide
Native x86_64 client for CentOS Stream 9 Install guide
Native x86_64 client for Red Hat Enterprise Linux 8 and later Install guide
Installable Web Clip connector for iOS and iPadOS; it asks for the Team Server address Install guide
Keep the shared service with the administrator and the native-client setup with each team member.
01
An administrator installs the Linux Team Server, sets its runtime secrets, verifies health, and publishes the trusted workspace address.
02
Each teammate downloads the matching client package. Desktop packages contain an embedded browser runtime; the iOS profile adds a removable web clip connector.
03
Launch Easy Penpot, sign in to the shared workspace, and continue with the same browser-based Penpot files and reviews.
Choose the package you downloaded for the exact steps, commands, and private-workspace option.
01
Use a Linux x86_64 host with Docker Engine and Docker Compose v2. The server archive includes application images, but Docker itself, a firewall, DNS, and an HTTPS reverse proxy remain administrator responsibilities.
docker compose version
02
Download the server archive and checksum list, compare the SHA-256 value, then extract the archive.
curl -fLO https://easypenpot.com/downloads/easy-penpot-team-server-0.2.0-linux-amd64-offline.tar.gz
curl -fLO https://easypenpot.com/downloads/SHA256SUMS
shasum -a 256 easy-penpot-team-server-0.2.0-linux-amd64-offline.tar.gz
grep easy-penpot-team-server-0.2.0-linux-amd64-offline.tar.gz SHA256SUMS
tar -xzf easy-penpot-team-server-0.2.0-linux-amd64-offline.tar.gz
cd easy-penpot-team-server-0.2.0-linux-amd64-offline
03
The installer writes to /opt/easy-penpot-team and adds the easy-penpot-team command. The image import is local and does not pull from a container registry.
sudo ./install.sh
cd /opt/easy-penpot-team
easy-penpot-team config
easy-penpot-team import-images
easy-penpot-team verify-offline
04
Generate unique values once and store them in a secrets manager. The same values are needed on later restarts and are never written into the package.
export PENPOT_SECRET_KEY="$(openssl rand -hex 32)"
export POSTGRES_PASSWORD="$(openssl rand -base64 32)"
export VALKEY_PASSWORD="$(openssl rand -base64 32)"
easy-penpot-team up
easy-penpot-team health
05
Set the public HTTPS workspace address after DNS, TLS, and firewall rules are ready. Desktop clients enter this address on their first launch.
export PENPOT_BIND_ADDRESS=0.0.0.0
export PENPOT_PUBLIC_URI=https://penpot.example.com/
easy-penpot-team up
01
Download the ZIP in Finder or Safari, then double-click it to reveal Easy Penpot Team.app. The package includes the Electron and Chromium runtime for M2, M3, and M4 Macs.
02
Move Easy Penpot Team.app to Applications and open it. The app is unsigned, so Control-click and choose Open if macOS blocks the first launch.
03
On first launch, enter the HTTPS address supplied by the Team Server administrator. Use the Workspace settings menu item later to change the saved address.
01
Right-click the downloaded ZIP, choose Extract All, and open the extracted Windows 10/11 x64 package.
02
Double-click install.cmd. It copies the native client into LocalAppData and creates Desktop and Start Menu commands without installing Docker or a database.
03
Open Easy Penpot Team and enter the administrator-provided HTTPS address. This package uses the current Electron runtime and is unsigned.
01
This client exists for Windows 7, 8, and 8.1. Electron 22 is the final Electron major supporting those operating systems and no longer receives security fixes for them. Use the Windows 10/11 package whenever the device supports it.
02
Right-click the downloaded ZIP, choose Extract All, then double-click install.cmd. It copies the native client into LocalAppData and creates Desktop and Start Menu commands without installing Docker or a database.
03
Open Easy Penpot Team and enter the administrator-provided HTTPS address. Keep this legacy device on a restricted private network and apply the normal Windows hardening controls.
01
Most desktop installations already have the needed libraries. Install them if the native app does not start.
sudo apt-get update
sudo apt-get install -y libgtk-3-0 libnss3 libasound2
02
Run the included installer as your normal user. It installs a native Electron application and a desktop entry.
tar -xzf easy-penpot-team-client-0.2.0-linux-ubuntu-x64.tar.gz
cd easy-penpot-team-client-0.2.0-linux-ubuntu-x64
./install.sh
$HOME/.local/bin/easy-penpot-team
03
Enter the HTTPS team address at first launch. The setting stays in the desktop client's user profile.
01
Install GTK, NSS, and ALSA libraries before opening the native client when they are not already available.
sudo dnf install -y gtk3 nss alsa-lib
02
Run the installer as your normal user. It adds an Electron application and a desktop entry.
tar -xzf easy-penpot-team-client-0.2.0-linux-centos-x64.tar.gz
cd easy-penpot-team-client-0.2.0-linux-centos-x64
./install.sh
$HOME/.local/bin/easy-penpot-team
03
Enter the administrator-provided HTTPS address at first launch.
01
Ask the system administrator to install the normal GTK, NSS, and ALSA desktop dependencies when required.
sudo dnf install -y gtk3 nss alsa-lib
02
Run the installer as your normal user. No Docker Engine, database, or browser shortcut is involved.
tar -xzf easy-penpot-team-client-0.2.0-linux-rhel-x64.tar.gz
cd easy-penpot-team-client-0.2.0-linux-rhel-x64
./install.sh
$HOME/.local/bin/easy-penpot-team
03
Enter the HTTPS team address at first launch.
01
Open the Mobileconfig link on the iPhone or iPad and allow the profile download. It creates a removable Easy Penpot Team Web Clip.
02
Open Settings, choose Profile Downloaded, select Easy Penpot Team Client, then choose Install and enter the device passcode. On older iOS versions, use Settings > General > VPN & Device Management.
03
Open the new Home Screen icon and enter the HTTPS address supplied by the administrator. This is an installable Web Clip, not a signed native IPA; a native iOS app requires an Apple Developer signing identity.
Desktop clients save the team address locally after the first launch. The iOS profile opens a connector that asks for the same HTTPS address.
On macOS, Windows, Ubuntu, CentOS, and RHEL, enter the address supplied by the administrator on first launch. Use the Workspace settings menu to change it later.
https://penpot.example.com/
A few boundaries that keep client and server responsibilities clear.
The first package on this page is the Linux Team Server. One administrator installs it with Docker Compose, then distributes the client packages to the rest of the team.
No. Desktop clients contain Electron and Chromium only. Docker, PostgreSQL, Valkey, and the Team Server stay on the administrator-managed Linux host.
Yes. Download the iOS configuration profile to add a removable Easy Penpot web clip. It opens the configured team workspace and is not a server installer.