- Linux server (Ubuntu/Debian recommended), amd64
- Docker Engine + Compose v2 installed and running
- sudo / root access
- Server IP or domain name
- Internet (online setup) or the Docker image TAR files (offline setup): download amd64.zip and extract it
- SSL certificate + key in one folder (HTTPS only). Files must be named
server.crtandserver.key - 16 GB RAM preferred for first install, 8 GB minimum
- 40 GB+ free disk (images + media + mongo)

Install the CLI
5.0.3 below is the current version as of this writing. Check the latest release notes or ask your Pickcel contact for the current one.Download the .deb
Install
Verify

Setup wizard
Workspace directory
/srv/pickcel/pickcel-server. Press Enter to accept, or enter a parent folder (the CLI appends pickcel-server automatically).
Server IP
- Auto-detected NIC list, or enter manually
- Example:
192.168.1.100 - Skip any Docker bridge interface shown (e.g.
172.18.0.1). Pick your real LAN NIC

Protocol
- HTTP. Default public port 80
- HTTPS. Default public port 443 (needs
server.crt+server.key)

Public port (GLOBAL_PORT), optional
- Press Enter for standard port (80 for HTTP, 443 for HTTPS)
- Or enter a free port if 80/443 is already taken (e.g.
8443for HTTPS) - Access the site as
https://<ip>:8443when using a custom port

Domain (HTTPS only)

SSL (HTTPS only)
- Choose whether to provide certificates now
- If yes, enter the directory containing
server.crtandserver.key - Certs are copied to
nginx/ssl/in the workspace - Skip during setup and add later with
pickcel-cli config

Install dashboard server?
- No. Pickcel CMS only (console + admin + backend + webserver)
- Yes → choose:
- Only dashboard server. Dashboard only, no Pickcel CMS images
- Dashboard with Pickcel. Full CMS plus local dashboard on port 3030
- Dashboard Server URL (when not installing a local dashboard): optional remote URL, press Enter to skip


Office app (not asked for dashboard-only mode)
libreoffice container + TAR in offline mode).
MongoDB backup (not asked for dashboard-only mode)
mongo-backup container).
Firewall rules (Linux + root)
--no-firewall or answer No.
Setup mode
- Online
- Offline


Verify setup

webserver, backend, console-frontend, admin-frontend, mongo, memcache with status running.
Open the CMS in a browser:
- HTTP:
http://<your-ip>orhttp://<your-ip>:<port>if using a custom port - HTTPS:
https://<your-domain-or-ip>
Common setups
HTTP (typical LAN)
HTTP (typical LAN)
HTTPS with domain
HTTPS with domain
server.crt / server.key.Offline (no internet)
Offline (no internet)
Port 80 already in use (HTTPS on 443 only)
Port 80 already in use (HTTPS on 443 only)
- Choose HTTPS
- Press Enter for default port 443 (only 443 is published, port 80 does not need to be free)
- Or set a custom public port (e.g.
8443) if 443 is also taken - Access the site as
https://<ip>:8443
Non-interactive helpers
-w / --workspace must appear before the command.
After setup: day-to-day commands
Managing the stack (start / stop / status)


pickcel-cli start without flags: all images exist locally → offline-safe mode (--pull=never); any image missing → prompts online vs offline (interactive), or requires explicit flags (non-interactive).
Logs and info


Change configuration

--no-restart.
Update Docker images
--images-dir at that folder.

Change NEXT_PUBLIC_* values (Google Maps, MS Teams, etc.)
Console and admin frontends bakeNEXT_PUBLIC_* keys into the Docker image at build time. Editing .env alone is not enough, you must rebuild.
Edit workspace .env (e.g. /srv/pickcel/pickcel-server/.env):
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY(console)NEXT_PUBLIC_MSAL_TEAMS_CLIENT_ID,NEXT_PUBLIC_MSAL_POWERBI_CLIENT_ID(console)NEXT_PUBLIC_ADMIN_AUTH_DECRYPTION_KEY,NEXT_PUBLIC_ADMIN_FIREBASE_WEB_CONFIG(admin)
--console, --admin, --no-restart, --pull. Not available in dashboard-only install mode (no console/admin images).
Workspace folder
Default location:/srv/pickcel/pickcel-server
CLI config is stored separately at /etc/pickcel-cli/config.json (system) or ~/.config/pickcel-cli/config.json (user).
.deb package. They are copied from the pickcel/backend image during setup and updates.
Troubleshooting (quick)
Docker not running
Docker not running
Permission denied
Permission denied
sudo for setup/start/stop/update. Optionally add user to docker group:Port in use
Port in use
Cannot open in browser
Cannot open in browser
pickcel-cli status, firewall allows your ports, try curl http://127.0.0.1 on the server itself.Apps / players 404
Apps / players 404
BrightSign wrong IP
BrightSign wrong IP
pickcel-cli config to update IP and restart, or run an update so autorun.zip is re-patched from .env (needs unzip/zip on host).Offline missing images
Offline missing images
--images-dir with the correct path.Google Maps / Teams not working after .env edit
Google Maps / Teams not working after .env edit
pickcel-cli rebuild, then hard-refresh the browser.HTTPS certificate error
HTTPS certificate error
server.crt / server.key, valid for your domain.SSL skipped at setup
SSL skipped at setup
pickcel-cli config with --ssl-dir.Images not pulling
Images not pulling
ping hub.docker.com and docker pull pickcel/webserver:5.0.0. Use offline mode if no internet.Ports (default)
Notes
- Stack uses v5 images:
pickcel/backend,pickcel/mongodb,pickcel/webserver,pickcel/console,pickcel/admin-portal - Old names (
backendv5,mongov5,console-next, and v4 names likepickcel-nginxv4) are no longer used - Dashboard-with-Pickcel always uses host port 3030 for the local dashboard (separate from GLOBAL_PORT)
- Player packages come from the backend image sync, not a separate cloud download in the CLI
Update pickcel-cli
If you want to update thepickcel-cli tool itself, run:

