OPTIONAL INSTALLATION
Wholly Crypto with Docker.
The same merchant software, in containers. Keep the native installer if that already works for you.
Before you start.
Use a fresh Linux amd64 / x86-64 VPS with root access, Python 3.9+, Git, Docker Engine and its Compose plugin. Start with 2 vCPU, 4 GB RAM and 30 GB SSD for light use. Leave room for history, images and backups.
Keep ports 80 and 443 free and open in both firewalls. Point your merchant, checkout and API DNS records at the VPS. With Cloudflare, use DNS-only during setup; turn the proxy on after HTTPS validation finishes.
Choose Docker or the native installer. Docker setup does not move an existing installation or stop another web server.
Install in three commands.
git clone https://github.com/whollycrypto-com/whollycrypto-docker.git /root/whollycrypto-docker
cd /root/whollycrypto-docker
./whollycrypto-docker setupChoose domains, public VPS IP, renewal email, fiat currency and a Basic Auth login. Defaults are merchant.example.com, pay.example.com and api.example.com. You can choose other subdomain names.
Setup builds the runtime image, verifies the signed merchant download, starts PostgreSQL 18 and issues HTTPS certificates. GitHub is the download fallback. No merchant source, Rust compiler or blockchain node is needed.
Wait for Ready: https://… in the log. Open that address, enter your Basic Auth login and create your administrator account. If setup stops, fix the reported issue and run ./whollycrypto-docker resume. Existing wallet keys are preserved.
Manage the installation.
Run these from /root/whollycrypto-docker. The console, checkout, API and processing-credit rules work as in the native installation.
| Command | Use it for |
|---|---|
./whollycrypto-docker status | Container health |
./whollycrypto-docker logs | Setup progress and worker logs |
./whollycrypto-docker doctor | Read-only checks |
./whollycrypto-docker update | Signed merchant update |
./whollycrypto-docker cli htaccess | Change Basic Auth |
./whollycrypto-docker cli ssl | Inspect or repair HTTPS |
Settings → System can install merchant updates too. Rebuilding a Docker image does not replace the installed merchant or bypass update checks. Update container dependencies separately using the repository's runtime-update instructions.
Keep a copy off the VPS.
./whollycrypto-docker backupThis full backup briefly pauses checkout. It saves and verifies the database, merchant files, wallet encryption key, Nginx, certificates and matching setup secrets. Copy the whole timestamped backup directory to secure offline storage.
Backups contain unencrypted private keys and credentials. Never put them in Git or a public folder. Also export project wallet backups from the console. Connected Lightning wallets need their own recovery procedure.
Never use docker compose down -v to fix an error. It deletes persistent volumes and can destroy wallet keys and payment history. Use docker compose stop to stop without deleting data. Follow the recovery guide before restoring.
Small stack. Separate data.
Two containers: merchant with Nginx, and PostgreSQL. Data survives container replacement in named volumes. The database uses a private Unix socket; ports 5432 and 8080 are not published. No privileged mode, host networking or host Docker socket is needed.
Docker uses container isolation, not the native installer's systemd sandbox. Root and Docker administrators can still access your keys. Keep Basic Auth and appropriate domain/API IP restrictions enabled. Docker port publishing may bypass UFW rules; check your provider firewall and Docker firewall guidance.
The initial Docker setup targets Linux amd64 with its own Nginx. ARM64, Docker Desktop, rootless Docker and an additional reverse proxy are not supported configurations yet.