Access
- The Password Pusher URL:
https://<SERVER-IP> - HTTPS is configured using a self-signed certificate. Your browser may show a certificate warning; continue to access the application.
First Setup
Open the URL and complete the first-run setup wizard.
Create the initial administrator account during setup.
To retrieve the boot code, run the following command on the server:
docker logs pwpush 2>&1 | grep -oP 'Boot Code: .*'
After signing in as the administrator, the admin interface will be available at: https://<SERVER_IP>/admin
Security Configuration
Anonymous pushes and signups are enabled by default.
To restrict Password Pusher to registered users only, edit:
/root/passwordpusher/.env
Uncomment:
PWP__ALLOW_ANONYMOUS=false
PWP__DISABLE_SIGNUPS=true
Apply the changes:
cd /root/passwordpusher
docker compose up -d
Important Files & Directories
- Install Directory:
/root/passwordpusher - Docker Compose File:
/root/passwordpusher/docker-compose.yml - Environment Configuration:
/root/passwordpusher/.env - Password Pusher Data Volume:
/var/lib/docker/volumes/passwordpusher_pwpush-storage - Nginx Configuration:
/etc/nginx/sites-available/pwpush - SSL Certificate:
/etc/nginx/ssl/pwpush.crt - SSL Private Key:
/etc/nginx/ssl/pwpush.key
Service Management
View running containers:
docker compose -f /root/passwordpusher/docker-compose.yml ps
Restart Password Pusher:
docker compose -f /root/passwordpusher/docker-compose.yml restart
View Password Pusher logs:
cd /root/passwordpusher && docker compose logs -f
Stop Password Pusher:
docker compose -f /root/passwordpusher/docker-compose.yml stop
Start Password Pusher:
docker compose -f /root/passwordpusher/docker-compose.yml start
Recreate Password Pusher:
docker compose -f /root/passwordpusher/docker-compose.yml up -d
Check Nginx status:
systemctl status nginx
Restart Nginx:
systemctl restart nginx
Reload Nginx:
systemctl reload nginx
Validate the Nginx configuration:
nginx -t
Enabling HTTPS with a Domain
1. Point your domain to the server IP.
2. Edit /etc/nginx/sites-available/pwpush and replace both server_name _; directives with your domain (e.g. server_name yourdomain.com;).
3. Install Certbot:
apt install -y certbot python3-certbot-nginx
4. Obtain a Let's Encrypt certificate:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Edit /etc/nginx/sites-available/pwpush and update the ssl_certificate and ssl_certificate_key directives to use your Let's Encrypt certificate.
Before:
ssl_certificate /etc/nginx/ssl/pwpush.crt;
ssl_certificate_key /etc/nginx/ssl/pwpush.key;
After:
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
6. Reload Nginx to apply the changes:
systemctl reload nginx
7. Edit /root/passwordpusher/.env and update PWP__HOST_DOMAIN from <SERVER_IP> to your domain (e.g. PWP__HOST_DOMAIN=yourdomain.com).
8. Recreate the services:
cd /root/passwordpusher && docker compose up -d
9. Access Password Pusher at https://yourdomain.com.