**Purpose**: An application to securely communicate passwords over the web. Passwords automatically expire after a certain number of views and/or time has passed. Track who, what and when. ## Docker Configuration ```yaml title="docker-compose.yml" version: '3' services: passwordpusher: image: docker.io/pglombardo/pwpush:release expose: - 5100 restart: always environment: # Read Documention on how to generate a master key, then put it below - PWPUSH_MASTER_KEY=${PWPUSH_MASTER_KEY} networks: docker_network: ipv4_address: 192.168.5.170 labels: - "traefik.enable=true" - "traefik.http.routers.passwordpusher.rule=Host(`temp.bunny-lab.io`)" - "traefik.http.routers.passwordpusher.entrypoints=websecure" - "traefik.http.routers.passwordpusher.tls.certresolver=letsencrypt" - "traefik.http.services.passwordpusher.loadbalancer.server.port=5100" networks: docker_network: external: true ``` ```yaml title=".env" PWPUSH_MASTER_KEY= PWP__BRAND__TITLE="Bunny Lab" PWP__BRAND__SHOW_FOOTER_MENU=false PWP__BRAND__LIGHT_LOGO="https://cloud.bunny-lab.io/apps/theming/image/logo?v=22" PWP__BRAND__DARK_LOGO="https://cloud.bunny-lab.io/apps/theming/image/logo?v=22" PWP__BRAND__TAGLINE="Secure Temporary Information Exchange" PWP__MAIL__RAISE_DELIVERY_ERRORS=true PWP__MAIL__SMTP_ADDRESS=mail.bunny-lab.io PWP__MAIL__SMTP_PORT=587 PWP__MAIL__SMTP_USER_NAME=noreply@bunny-lab.io PWP__MAIL__SMTP_PASSWORD= PWP__MAIL__SMTP_AUTHENTICATION=plain PWP__MAIL__SMTP_STARTTLS=true PWP__MAIL__SMTP_OPEN_TIMEOUT=10 PWP__MAIL__SMTP_READ_TIMEOUT=10 PWP__HOST_DOMAIN=bunny-lab.io PWP__HOST_PROTOCOL=https PWP__MAIL__MAILER_SENDER='"noreply" ' PWP__SHOW_VERSION=false PWP__ENABLE_FILE_PUSHES=true PWP__FILES__EXPIRE_AFTER_DAYS_DEFAULT=2 PWP__FILES__EXPIRE_AFTER_DAYS_MAX=7 PWP__FILES__EXPIRE_AFTER_VIEWS_DEFAULT=5 PWP__FILES__EXPIRE_AFTER_VIEWS_MAX=10 PWP__FILES__RETRIEVAL_STEP_DEFAULT=true PWP__ENABLE_URL_PUSHES=true PWP__LOG_LEVEL=info ``` !!! note "PWPUSH_MASTER_KEY" Generate a master key by visiting the [official online key generator](https://pwpush.com/en/pages/generate_key). ## Traefik Reverse Proxy Configuration If the container does not run on the same host as Traefik, you will need to manually add configuration to Traefik's dynamic config file, outlined below. ```yaml http: routers: password-pusher: entryPoints: - websecure tls: certResolver: letsencrypt service: password-pusher rule: Host(`temp.bunny-lab.io`) services: password-pusher: loadBalancer: servers: - url: http://192.168.5.170:5100 passHostHeader: true ```