Skip to main content
Prerequisites
  • 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.crt and server.key
  • 16 GB RAM preferred for first install, 8 GB minimum
  • 40 GB+ free disk (images + media + mongo)
Check Docker:
Docker and Docker Compose version output

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

Download the .deb

No internet on the server? Download pickcel-cli_5.0.3_amd64.deb on another machine and copy it to the server.
2

Install

3

Verify

pickcel-cli --version output

Setup wizard

1

Workspace directory

Default: /srv/pickcel/pickcel-server. Press Enter to accept, or enter a parent folder (the CLI appends pickcel-server automatically).
Setup wizard: workspace directory prompt
2

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
Setup wizard: server IP prompt
3

Protocol

  • HTTP. Default public port 80
  • HTTPS. Default public port 443 (needs server.crt + server.key)
Setup wizard: protocol prompt
4

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. 8443 for HTTPS)
  • Access the site as https://<ip>:8443 when using a custom port
Setup wizard: public port prompt
5

Domain (HTTPS only)

Optional. Press Enter to use IP only.
Setup wizard: domain prompt
6

SSL (HTTPS only)

  • Choose whether to provide certificates now
  • If yes, enter the directory containing server.crt and server.key
  • Certs are copied to nginx/ssl/ in the workspace
  • Skip during setup and add later with pickcel-cli config
Setup wizard: SSL certificate directory prompt
7

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
Setup wizard: dashboard server URL prompt
Setup wizard: dashboard mode selection
8

Office app (not asked for dashboard-only mode)

Default No. Set Yes only for LibreOffice document conversion (adds libreoffice container + TAR in offline mode).
Setup wizard: office app prompt
9

MongoDB backup (not asked for dashboard-only mode)

Default No. Set Yes for a daily Mongo backup sidecar (mongo-backup container).
Setup wizard: MongoDB backup prompt
10

Firewall rules (Linux + root)

Default Yes, opens inbound TCP for your public port (and 3030 when Pickcel + dashboard). Skip with --no-firewall or answer No.
Setup wizard: firewall rules prompt
11

Setup mode

Pulls images from Docker Hub.
Setup wizard: online/offline mode selection
First run can take several minutes.
Setup wizard: containers started successfully

Verify setup

pickcel-cli status output
You should see containers such as webserver, backend, console-frontend, admin-frontend, mongo, memcache with status running. Open the CMS in a browser:
  • HTTP: http://<your-ip> or http://<your-ip>:<port> if using a custom port
  • HTTPS: https://<your-domain-or-ip>
First login needs a valid on-premise license (not auto-migrated from older installs). With no license yet, the console’s Welcome screen generates a Request Key. Send it to your Pickcel contact, then apply the License Key they return.

Common setups

Or run interactively: HTTPS → domain → SSL directory with server.crt / server.key.
Download amd64.zip and extract it. It contains:
Run:
  • 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

Global -w / --workspace must appear before the command.
IP, protocol, port, dashboard, Office app, and Mongo backup are always asked interactively. No flag skips them.

After setup: day-to-day commands

Managing the stack (start / stop / status)

pickcel-cli start output
pickcel-cli stop output
When running 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

pickcel-cli logs output
pickcel-cli info output

Change configuration

sudo pickcel-cli config output
Change IP, protocol, public port, domain, SSL, dashboard URL, Office app, Mongo backup. Services restart automatically unless you pass --no-restart.
Don’t run config right after hand-editing NEXT_PUBLIC_* values in .env. It regenerates .env and can overwrite them. Use rebuild instead.

Update Docker images

For an offline update, download the latest amd64.zip, extract it, and point --images-dir at that folder.
pickcel-cli update output

Change NEXT_PUBLIC_* values (Google Maps, MS Teams, etc.)

Console and admin frontends bake NEXT_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)
Then hard-refresh the browser (Ctrl+Shift+R). Options: --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). Apps and player installers are not inside the .deb package. They are copied from the pickcel/backend image during setup and updates.

Troubleshooting (quick)

Use sudo for setup/start/stop/update. Optionally add user to docker group:
Stop the conflicting service or use a custom public port during setup/config.
Check pickcel-cli status, firewall allows your ports, try curl http://127.0.0.1 on the server itself.
Backend image must be loaded. Run:
Happens after IP change. Run 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).
Check TAR filenames contain the service keyword (backend, console, etc). Use --images-dir with the correct path.
Run pickcel-cli rebuild, then hard-refresh the browser.
Cert and key must be a matching pair, named server.crt / server.key, valid for your domain.
HTTPS will not work until you run pickcel-cli config with --ssl-dir.
Check ping hub.docker.com and docker pull pickcel/webserver:5.0.0. Use offline mode if no internet.

Ports (default)

Firewall: setup can add rules automatically when run with sudo. Otherwise open inbound TCP for the ports you use.

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 like pickcel-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 the pickcel-cli tool itself, run:
sudo pickcel-cli update-cli output
Troubleshooting only: check which build environment and update source are baked into your package.
pickcel-cli update-src output
If you want to update the Docker images instead, see Update Docker images above.

Other internal docs

WSL2 setup (Windows 10/11)

Running this CLI on Windows? Get Docker working in WSL2 first.

Windows Server setup

Windows Server: WSL2 + Docker Engine, plus firewall and port forwarding.

Windows GUI setup

Set up on-premise using the Windows GUI application.

On-premise installation (Ubuntu)

Manual Ubuntu install, setup script, and license activation.

Dashboard app setup

Configure the dashboard rendering server.