Skip to main content
50% off all plans, limited time. Starting at $2.48/mo
Password Pusher

Password Pusher

Password Pusher shares passwords, notes, files, and URLs through one-time links that expire after a set number of views or a set time. Full audit logs show who opened what and when. Apache-2.0 licensed with 3,100+ GitHub stars.

At a glance

3.1k

GitHub stars

7

Page views

License Apache-2.0 Version Latest OS Ubuntu 24.04 LTS Min RAM 2 GB IP IPV4

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.

More in Security

Related apps.

Deploy Password Pusher now. From $2.48/mo.