Skip to main content

Keep your passwords behind the firewall

Project description

TeamVault

TeamVault is an open-source web-based shared password manager for behind-the-firewall installation. It requires Python 3.10+ and PostgreSQL (with the unaccent extension).

Installation

apt-get install libffi-dev libldap2-dev libpq-dev libsasl2-dev python3.X-dev postgresql-contrib
pip install teamvault
teamvault setup
vim /etc/teamvault.conf
# note that the teamvault database user will need SUPERUSER privileges
# during this step in order to activate the unaccent extension
teamvault upgrade
teamvault plumbing createsuperuser
teamvault run

Update

pip install --upgrade teamvault
teamvault upgrade

Development

Start a PostgreSQL database

Create a database and superuser for TeamVault to use, for example by starting a Docker container:

docker run --rm --detach --publish=5432:5432 --name teamvault-postgres -e POSTGRES_USER=teamvault -e POSTGRES_PASSWORD=teamvault postgres:latest

Run Webpack to serve static files

To compile all JS & SCSS files, you'll need to install all required packages via bun (or yarn/npm) with node >= v18.

Use bun/yarn/npm run serve to start a dev server.

Note: Some MacOS users have reported errors when running the dev server via bun. In this case feel free to switch to NPM.

Configure your Virtualenv via uv

uv sync

Setup TeamVault

export TEAMVAULT_CONFIG_FILE=teamvault.cfg
teamvault setup
vim teamvault.cfg  # base_url = http://localhost:8000
                   # session_cookie_secure = False
                   # database config as needed
teamvault upgrade
teamvault plumbing createsuperuser

Start the development server

teamvault run

Now open http://localhost:8000

Scheduled background jobs

We use huey to run background jobs. This requires you to run a second process, in parallel to TeamVault itself. You can launch it via manage.py:

teamvault run_huey

Release process

  1. Bump the version in teamvault/__version__.py and pyproject.toml
  2. Update CHANGELOG.md with the new version and current date
  3. Make a release commit with the changes made above
  4. Push the commit
  5. Run ./build.sh to create a new package
  6. Sign and push the artifacts to PyPI via uv publish
  7. Test that the package can be installed: uv run --isolated --no-cache --prerelease allow --with teamvault --no-project -- teamvault --version
  8. Add a new GitHub release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

teamvault-0.11.5.tar.gz (5.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

teamvault-0.11.5-py3-none-any.whl (5.9 MB view details)

Uploaded Python 3

File details

Details for the file teamvault-0.11.5.tar.gz.

File metadata

  • Download URL: teamvault-0.11.5.tar.gz
  • Upload date:
  • Size: 5.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for teamvault-0.11.5.tar.gz
Algorithm Hash digest
SHA256 369e3adbcfd5fd16d2e22090941d42e8768516cdaf724b52d72da613d9295356
MD5 1b5f50206e1129d1ca6fa9f6a1d57c74
BLAKE2b-256 0c590b153e206c8d7c7704b618c79d2a318e50829b1f1703995bd4819453684d

See more details on using hashes here.

File details

Details for the file teamvault-0.11.5-py3-none-any.whl.

File metadata

  • Download URL: teamvault-0.11.5-py3-none-any.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for teamvault-0.11.5-py3-none-any.whl
Algorithm Hash digest
SHA256 625effc6a08415635c6929fbef7b2de188ad4e0dff716c4dc98e0ccf747810d7
MD5 9675dff8191c429d7f366c130b50c2ec
BLAKE2b-256 773904f4d615f068b5558d2428611acc8586fab090d0ae61bd173b3b3c297f46

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page