Operations
Start, stop, update, and troubleshoot Password Pusher Pro Self-Hosted with Docker Compose—tags, logs, shell, and Rails console.
Quick reference for day-to-day tasks. Run all commands from the directory that contains your docker-compose.yml (the folder created by your install). The application service is named pwpush-pro in the default compose files.
Start, stop, restart
| Task | Command |
|---|---|
| Start (detached) | docker compose up -d |
| Stop (keeps containers) | docker compose stop |
| Stop & remove containers | docker compose down |
| Restart app only | docker compose restart pwpush-pro |
| Status | docker compose ps |
After up -d, allow a short time for the app to boot before hitting the URL. If the container exits, check logs first.
Docker image tags (latest vs stable)
Compose files from install typically reference registry/...:latest. Tags work the same way as on the OSS image family:
| Tag | Use |
|---|---|
latest |
Most recently published release. Good for staying current; run updates on your schedule. |
stable |
When published for your image, points at a proven release—prefer for production if you want fewer moving targets. |
Version pin (e.g. v1.2.3) |
Maximum predictability; you choose when to bump. |
Version list: We’re still working on a way to publicly list Self-Hosted Pro image tags/releases. Until then, latest (and stable when published) remain the practical options for most installs.
To switch tags, edit the image: line in docker-compose.yml, then docker compose pull and docker compose up -d (see below).
Update the application
- Backup — Especially before major upgrades. See Backups.
- Pull new images
docker compose pull - Recreate containers
docker compose up -dCompose recreates only what changed. Migrations run on boot as needed.
- Verify
docker compose ps docker compose logs --tail=50 pwpush-pro
If you use a pinned tag, change the tag in docker-compose.yml first, then pull + up -d.
Air-gapped hosts cannot docker compose pull. Transfer new image tarballs from a connected machine, docker load, then docker compose up -d. See Air-gapped / offline.
Downtime: up -d may briefly replace the app container. Plan a maintenance window if you require zero downtime.
Logs
| Task | Command |
|---|---|
| App log (last lines) | docker compose logs --tail=100 pwpush-pro |
| Follow app log | docker compose logs -f pwpush-pro |
| All services | docker compose logs |
| Enterprise only — Postgres | docker compose logs postgres |
Boot code and startup errors usually appear in pwpush-pro logs right after up or restart.
Shell inside the container
Interactive shell in the app container:
docker compose exec pwpush-pro bash
If bash is unavailable, use sh:
docker compose exec pwpush-pro sh
Use this for one-off file inspection or debugging. Prefer docker compose exec pwpush-pro <command> for single commands so you don’t leave a shell open.
Rails console
Open a Rails console inside the running app container:
docker compose exec pwpush-pro bin/rails console
Same pattern works for runner (non-interactive):
docker compose exec pwpush-pro bin/rails runner "puts Rails.version"
For general console usage and safety, see Application console.
Related
- Air-gapped / offline — Updates without registry pull
- Getting started checklist — Ordered path from install to backups
- How it works — Install flow and first boot
- Configuration — Admin → Settings after install
- Backups — Before upgrades
- System requirements — Docker, resources