Home
Softono
psono-server

psono-server

Open source Python
101
Stars
20
Forks
1
Issues
6
Watchers
1 week
Last Commit

About psono-server

PSONO Server is an open-source backend component of the PSONO password manager, designed to securely store and manage passwords, credentials, and other sensitive information for individuals and teams. It provides a self-hosted alternative to commercial password management services, giving users full control over their data. Key features include client-side encryption to ensure that even the server cannot access plaintext secrets, support for shared folders and secrets among team members, role-based access control, two-factor authentication, and a REST API for integration with clients and automation. The server is built with Django and Python, stores encrypted data in a relational database, and can be deployed via Docker for straightforward setup. It is typically used by organizations and privacy-conscious individuals who want to run their own password management infrastructure without relying on third-party providers. Backup and restore utilities are included to safeguard the database and configuration secret

Platforms

Web Self-hosted

Languages

Python

PSONO Server - Password Manager

coverage report Code Climate build status Discord

Canonical source

The canonical source of PSONO Server is hosted on GitLab.com.

Documentation

The documentation for the psono server can be found here:

Psono Documentation

Some things that have not yet found their place in the documentation:

Backup & Restore

For a full backup, you have to backup two things. First thing obviously is the database, and the second thing is your settings.yaml file as it contains some secrets necessary to decrypt the data in your database. We have created two little scripts to backup and restore your files in var/backup

Backup Process:

For backups follow the following steps.

  1. Copy var/backup to a folder of your choosing, example:

     sudo cp -R var/backup /opt/psono-backup
  2. Update .env file in /opt/psono-backup

  3. Execute the backup like:

     /opt/psono-backup/backup
  4. Schedule backups e.g. for 2:30am daily:

     crontab -e

    and add this line:

     30 2 * * * /opt/psono-backup/backup
  5. Check that backups are created proper a day later.

    If you experience any errors you can check your logs for tips why:

     grep CRON /var/log/syslog

    Common problems are insufficient user or database rights.

Restore Process:

For restoration of a backup follow the following steps.

  1. Copy var/backup to a folder of your choosing, example:

     sudo cp -R var/backup /opt/psono-backup
  2. Update .env file in /opt/psono-backup

  3. Execute the backup like:

     /opt/psono-backup/restore --backup=path/to/the/backup/backup_12345.../

LICENSE

Visit the License.md for more details