Portainer Templates logo

Portainer Templates

Passky Client Passky Client

Container

OtherTools

Passky is a simple, modern, lightweight, open-source and secure password manager.

Image details

Pulls: 59.3k
Architecture: amd64, arm64
Image size: 19 MB
Latest: 8.1.1
User: rabbitcompany
Created: Jan 27, 2023
Updated: 10 months ago
Status: active

Configuration

Type
Container
Platform
linux
Image
rabbitcompany/passky-client:latest
Ports
8081:80/tcp
Restart
unless-stopped

Template by Qballjos

Standalone Install

Select an install method, to see config/commands for deploying Passky Client

Installation method

Install on Portainer

Import all app templates into your Portainer instance, for easy 1-click deploys

  1. Ensure both Docker and Portainer are installed, and up-to-date
  2. Log into your Portainer web UI
  3. Under Settings → App Templates, paste the below URL
  4. Head to Home → App Templates, and the list of apps will show up
  5. Select Passky Client, fill in any config options, and hit Deploy

Template Import URL

https://raw.githubusercontent.com/Lissy93/portainer-templates/main/templates.json
Show Me demo

More install options in our documentation.

🔒 Passky Website 🔒


GitHub issues GitHub stars GitHub forks GitHub license

Download from Rabbit Store

Passky Clients

* [Website](https://github.com/Rabbit-Company/Passky-Website#installation)
* [Browser Extension](https://github.com/Rabbit-Company/Passky-Browser-Extension#installation)
* [Desktop Application](https://github.com/Rabbit-Company/Passky-Desktop#installation)
* [Android Application](https://github.com/Rabbit-Company/Passky-Android#installation)

What is Passky?

Passky is a simple, modern, lightweight, open source and secure password manager.
Passky - Password manager

How Much Does it Cost?

Passky is a free, open-source password manager that simplifies your digital life. Both the free and premium plans include advanced security features such as two-factor authentication to ensure the safety and security of your sensitive data.
While the free plan allows you to store up to 100 passwords, the premium plan offers additional benefits such as the ability to store an unlimited number of passwords. Upgrade to the premium plan to gain access to all of Passky's features and take your password security to the next level.
At Passky, we take your security seriously, and we don't compromise on safety when it comes to password management. Sign up now and experience the peace of mind that comes with using Passky.

How it Works?

Passky uses a combination of advanced encryption methods to ensure the security of your data.
Passky is based on a zero trust architecture and uses advanced encryption methods such as XChaCha20 and Argon2id to ensure the security of your sensitive data.
For sensitive data encryption, Passky uses XChaCha20, a state-of-the-art encryption algorithm that provides a high level of security and performance. This encryption method is designed to be resistant to known-plaintext attacks and other forms of cryptanalysis.
For master password hashing, Passky uses Argon2id, a password-hashing algorithm that has been recognized as the winner of multiple password-hashing competitions, such as the Password Hashing Competition (PHC) held by the community. It is designed to be resistant to brute-force attacks. This algorithm uses a combination of memory-hard and data-dependent techniques to make it difficult for attackers to guess your master password.
When you save your account information to Passky,
all sensitive data is fully encrypted using XChaCha20. The encrypted data is then stored on Passky's servers.
When you try to access your account, Passky will prompt you to input your master password. The master password is then hashed using
Argon2id algorithm to ensure its security. The hashed master password is then used to decrypt the sensitive data, allowing you to access your account.
In summary,
Passky uses advanced encryption methods such as XChaCha20 and Argon2id to ensure the security of your sensitive data and master password, making it difficult for anyone to access your information without your permission.

How Does Passky Compare to the Competition?

Feature | Passky | Bitwarden | NordPass | Dashlane | 1Password | LastPass --- | :---: | :---: | :---: | :---: | :---: | :---: | Premium Price | $2/month | $0.83/month | 1.99€/month | 2€/month | $2.99/month | 2.90€/month | Number of Passwords | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited Two-factor Authentication | Yes | Yes | Yes | Yes | Yes | Yes Zero-knowledge architecture | Yes | Yes | Yes | Yes | Yes | Yes Encryption | XChaCha20/Argon2id | AES-256/PBKDF2 | XChaCha20/Argon2id | AES-256/PBKDF2 | AES-256/PBKDF2 | AES-256/PBKDF2 Open-Source | Yes | Yes | No | No | No | No Customization | Yes | No | No | No | No | No
Comparison data accurate as of January 25th, 2023

Installation

ℹ️ The Passky Website is a client-side only application and as such, it does not require any server-side code for its operation. As a result, it can be hosted for free on Cloudflare Pages.

Docker

Debian & Ubuntu & Raspberry Pi OS (x64 & arm64)

# Download docker-compose.yml file from GitHub
wget https://raw.githubusercontent.com/Rabbit-Company/Passky-Website/main/docker-compose.yml
# Start the container
docker-compose up -d

The website for the Passky is designed to be deployed on
port 8081 by default. However, it is important to note that this can be modified to a different port as per your requirements, by editing the appropriate settings in the docker-compose.yml file.

Shared Hosting

  1. Create a sub-domain specifically for the Passky Website, for example, vault.yourdomain.com.

  1. Once the sub-domain is created, a new folder should appear in the root directory, named vault or vault.yourdomain.com.

  1. Download the latest version of the Passky Website from the official GitHub repository and extract it to the previously created folder.

  1. Access the URL vault.yourdomain.com to view the newly installed Passky Website. It is recommended to verify that the website is functional and that all required components are properly configured.

⚠️ When deploying the Passky Website, it is essential to ensure that appropriate security measures are in place. If not utilizing Cloudflare Pages, it is recommended that all relevant security headers are properly implemented to protect against potential vulnerabilities.

Serve Passky Client on your own domain behind Caddy, Nginx or Traefik. Fill in your domain and copy the result. It's a starting point, some apps need their own base URL or extra headers set too.

Proxying passky-client.example.com to http://passky-client:80

Add this to your Caddyfile

passky-client.example.com {
	reverse_proxy http://passky-client:80
}

Check the logs first

Nine times out of ten the logs tell you exactly what went wrong.

  • In Portainer, go to Containers, click the container, then Logs. Or run docker logs passky-client
  • Exit codes help too: 137 means killed, usually out of memory. 126 or 127 means the command inside the image is broken.

Port already in use

If deployment fails with "Bind for 0.0.0.0:8081 failed: port is already allocated", something else on your server is using that port.

  • Find what's using it: sudo ss -tlnp | grep :8081
  • Stop the other service, or pick a different host port. In 8081:80 only the left number is yours to change, the right one belongs to the app.

Running but the page won't load

The container is up but nothing appears in your browser.

  • Use your server's real IP: http://your-server-ip:8081. The 0.0.0.0 link Portainer shows isn't a real address.
  • Give it a minute after first deploy, passky-client can take a while to initialise.
  • Make sure your firewall allows the port, e.g. sudo ufw allow 8081

Image won't pull

Test the pull directly on the host: docker pull rabbitcompany/passky-client:latest

  • "manifest unknown" means the tag no longer exists. This template uses latest, so try pinning a specific version instead.
  • "toomanyrequests" is the Docker Hub rate limit. Log in with docker login to raise it.
  • "no space left on device" means a full disk. Reclaim space with docker system prune

"exec format error"

This means the image was built for a different CPU architecture than your server.

  • This image supports: amd64, arm64
  • Check yours with uname -m: x86_64 is amd64, aarch64 is arm64. Raspberry Pi and other ARM boards are the usual culprits.

Container keeps restarting

The unless-stopped restart policy relaunches the app after every crash, so the real error can scroll past.

  • Check the logs right after a restart, the last few lines before it died are the useful ones.
  • Get the exit code with docker inspect passky-client --format '{{.State.ExitCode}}'
  • Still stuck? Redeploy once with the restart policy set to no so the failure stays visible.

Data disappears when the container is recreated

This template doesn't define any volumes, so everything passky-client saves lives inside the container and is lost on update or recreate.

  • Add a volume mapping for passky-client's data folder before storing anything you care about.

Raise an issue

Found something which isn't working as it should? Here's how to report it.

A single container

Passky Client runs as one container, the simplest kind of app here. Just the one image to pull and nothing else wired up alongside it.

The app image

An image is the app packed up ready to go, everything Passky Client needs bundled into one download. This template pulls rabbitcompany/passky-client:latest, which Docker fetches once (about 19 MB) and then starts your own copy from.

Where the image comes from

Docker pulls its images from registries, public libraries of ready-built apps. Passky Client's comes from Docker Hub, published by rabbitcompany.

Version tags

The bit after the colon in the image name is the version tag. Here it's latest, which always points at the newest build, so a redeploy can bump you to a newer release without you asking. Newest right now is 8.1.1. Pin a specific tag if you would rather stay on one version.

Which machines it runs on

Every image is built for particular CPU types. This one ships for amd64, arm64, so it runs on both regular x86 servers and ARM boards like a Raspberry Pi.

Ports

A port is the door the app answers on. A mapping like 8081:80 means it's reachable on port 8081 of your server, where the left number is yours to change and the right one belongs to the app. Once it's running, open http://your-server-ip:8081 in a browser. It opens:

  • 8081:80, likely the web interface

No stored data

This template doesn't mount any storage, so whatever Passky Client writes stays inside the container and is wiped if it's recreated or updated. That's fine for something stateless, but add a volume before trusting it with anything you want to keep.

Restart policy

The restart policy here is unless-stopped, so Docker restarts Passky Client after a crash or reboot, but leaves it off when you stop it on purpose. You can change this on the deploy screen. The choices are no (never restart), on-failure (only after a crash), unless-stopped (restart unless you stop it), and always (bring it back no matter what).

Networking

Nothing custom is set, so Passky Client sits on Docker's default bridge network: its own private space that reaches the outside world only through the ports it publishes.

Container name

Once it's deployed, Portainer names the container passky-client. That's what you'll spot in the containers list and use in commands like docker logs passky-client.

Platform

The platform is linux, the kind of system the container is built to run on. Docker and Portainer handle this on a normal Linux server.

Portainer app templates

Zooming out, this whole page comes from a Portainer app template: a short recipe telling Portainer how to set Passky Client up. Add the template list to Portainer once, then deploying Passky Client is a click rather than a wall of config.