{"id":15167124,"url":"https://github.com/lkubb/salt-vaultwarden-formula","last_synced_at":"2026-02-25T20:32:56.935Z","repository":{"id":134852618,"uuid":"484156829","full_name":"lkubb/salt-vaultwarden-formula","owner":"lkubb","description":"Manage a Vaultwarden server with Salt. Can compile from source.","archived":false,"fork":false,"pushed_at":"2024-11-13T23:41:35.000Z","size":373,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T03:29:58.216Z","etag":null,"topics":["bitwarden","devops","homelab","salt-formula","saltstack","selfhosted"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lkubb.png","metadata":{"files":{"readme":"docs/README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-21T18:09:08.000Z","updated_at":"2024-11-13T23:41:39.000Z","dependencies_parsed_at":"2024-01-15T19:24:56.010Z","dependency_job_id":"7426bbaa-1a89-410c-9a38-bca1f16a7c69","html_url":"https://github.com/lkubb/salt-vaultwarden-formula","commit_stats":{"total_commits":52,"total_committers":1,"mean_commits":52.0,"dds":0.0,"last_synced_commit":"3f17369087b0f8dc3098b41f4bacb11bdb5d806a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lkubb/salt-vaultwarden-formula","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkubb%2Fsalt-vaultwarden-formula","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkubb%2Fsalt-vaultwarden-formula/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkubb%2Fsalt-vaultwarden-formula/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkubb%2Fsalt-vaultwarden-formula/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lkubb","download_url":"https://codeload.github.com/lkubb/salt-vaultwarden-formula/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkubb%2Fsalt-vaultwarden-formula/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29838102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T19:08:47.527Z","status":"ssl_error","status_checked_at":"2026-02-25T18:59:04.705Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitwarden","devops","homelab","salt-formula","saltstack","selfhosted"],"created_at":"2024-09-27T05:40:19.641Z","updated_at":"2026-02-25T20:32:56.890Z","avatar_url":"https://github.com/lkubb.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":".. _readme:\n\nVaultwarden Formula\n===================\n\n|img_sr| |img_pc|\n\n.. |img_sr| image:: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n   :alt: Semantic Release\n   :scale: 100%\n   :target: https://github.com/semantic-release/semantic-release\n.. |img_pc| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white\n   :alt: pre-commit\n   :scale: 100%\n   :target: https://github.com/pre-commit/pre-commit\n\nManage Vaultwarden inofficial Bitwarden server with Salt. This formula can compile the binary from source or pull a prebuilt binary\\* and manage the service and configuration.\n\nInstalling and configuring a `reverse proxy \u003chttps://github.com/dani-garcia/vaultwarden/wiki/Proxy-examples\u003e`_, `fail2ban \u003chttps://github.com/dani-garcia/vaultwarden/wiki/Fail2Ban-Setup\u003e`_ and possibly `log shipping \u003chttps://selivan.github.io/2017/02/07/rsyslog-log-forward-save-filename-handle-multi-line-failover.html\u003e`_ (if you run those on another system) are out of scope for this formula. For hints, see `the official docs \u003chttps://github.com/dani-garcia/vaultwarden/wiki\u003e`_. I wrote formulae for Rsyslog and Fail2Ban to take care of the latter two. For an example configuration, see :ref:`integration`.\n\nThis was written for Debian and RHEL OS families primarily, although adapting the formula should be relatively easy.\n\nMind that the tests are currently just for show and have not been implemented.\n\n\\* *There is no official one.*\n\n.. contents:: **Table of Contents**\n   :depth: 1\n\nGeneral notes\n-------------\n\nSee the full `SaltStack Formulas installation and usage instructions\n\u003chttps://docs.saltproject.io/en/latest/topics/development/conventions/formulas.html\u003e`_.\n\nIf you are interested in writing or contributing to formulas, please pay attention to the `Writing Formula Section\n\u003chttps://docs.saltproject.io/en/latest/topics/development/conventions/formulas.html#writing-formulas\u003e`_.\n\nIf you want to use this formula, please pay attention to the ``FORMULA`` file and/or ``git tag``,\nwhich contains the currently released version. This formula is versioned according to `Semantic Versioning \u003chttp://semver.org/\u003e`_.\n\nSee `Formula Versioning Section \u003chttps://docs.saltproject.io/en/latest/topics/development/conventions/formulas.html#versioning\u003e`_ for more details.\n\nIf you need (non-default) configuration, please refer to:\n\n- `how to configure the formula with map.jinja \u003cmap.jinja.rst\u003e`_\n- the ``pillar.example`` file\n- the `Special notes`_ section\n\nSpecial notes\n-------------\n* This can compile from source. You can specify any valid git rev as ``version``, or keep ``latest``. The latter will result in a query to Github releases.\n* For compilation, a functional Rust toolchain is required on the system. This can either be provided beforehand, by a separate formula or with the inbuilt state. Set ``rust_setup: false`` to disable any action, to the ID of an sls file to include + require it or to ``true`` to enable the inbuilt mechanism.\n* The Web Vault is downloaded from the patched official release (including verifying the signature). Set the web vault version to ``false`` to disable installation.\n* You can modify the paths found in ``lookup:paths``. If they are different than default, ``post-map.jinja`` will automatically adjust the configuration, so you can focus on the rest.\n\nConfiguration\n-------------\nAn example pillar is provided, please see `pillar.example`. Note that you do not need to specify everything by pillar. Often, it's much easier and less resource-heavy to use the ``parameters/\u003cgrain\u003e/\u003cvalue\u003e.yaml`` files for non-sensitive settings. The underlying logic is explained in `map.jinja`.\n\n\nAvailable states\n----------------\n\nThe following states are found in this formula:\n\n.. contents::\n   :local:\n\n\n``warden``\n^^^^^^^^^^\n*Meta-state*.\n\nThis installs the warden package,\nmanages the warden configuration file\nand then starts the associated warden service.\n\n\n``warden.package``\n^^^^^^^^^^^^^^^^^^\nInstalls the warden package only.\n\n\n``warden.config``\n^^^^^^^^^^^^^^^^^\nManages the warden service configuration.\nHas a dependency on `warden.package`_.\n\n\n``warden.cert``\n^^^^^^^^^^^^^^^\nGenerates a TLS certificate + key for Vaultwarden.\nDepends on `warden.config`_.\n\n\n``warden.web_vault``\n^^^^^^^^^^^^^^^^^^^^\nInstalls the web vault from Github releases (by default).\nChecks signatures before extracting.\n\n\n``warden.service``\n^^^^^^^^^^^^^^^^^^\nStarts the warden service and enables it at boot time.\nHas a dependency on `warden.config`_.\n\n\n``warden.rust``\n^^^^^^^^^^^^^^^\nInstalls rustup-init and Rust nightly in order to compile vaultwarden.\n\nWarning:\n  The rustup-init installation pipes the output of ``warden.lookup.rustup_init.source``\n  into a shell of the build user. The file hash is verified against ``warden.lookup.rustup_init.source_hash``.\n  You can override the URL in ``warden.lookup.rustup_init.source`` for a local source.\n\n\n``warden.clean``\n^^^^^^^^^^^^^^^^\n*Meta-state*.\n\nUndoes everything performed in the ``warden`` meta-state\nin reverse order, i.e.\nstops the service,\nremoves the configuration file and then\nuninstalls the package.\n\n\n``warden.package.clean``\n^^^^^^^^^^^^^^^^^^^^^^^^\nRemoves the warden package.\nHas a dependency on `warden.config.clean`_.\n\n\n``warden.config.clean``\n^^^^^^^^^^^^^^^^^^^^^^^\nRemoves the configuration of the warden service and has a\ndependency on `warden.service.clean`_.\n\n\n``warden.cert.clean``\n^^^^^^^^^^^^^^^^^^^^^\nRemoves generated Vaultwarden TLS certificate + key.\nDepends on `warden.service.clean`_.\n\n\n``warden.web_vault.clean``\n^^^^^^^^^^^^^^^^^^^^^^^^^^\nRemoves the Web vault.\n\n\n``warden.service.clean``\n^^^^^^^^^^^^^^^^^^^^^^^^\nStops the warden service and disables it at boot time.\n\n\n``warden.rust.clean``\n^^^^^^^^^^^^^^^^^^^^^\nUninstalls the Rust toolchain.\n\n\n\nContributing to this repo\n-------------------------\n\nCommit messages\n^^^^^^^^^^^^^^^\n\n**Commit message formatting is significant!**\n\nPlease see `How to contribute \u003chttps://github.com/saltstack-formulas/.github/blob/master/CONTRIBUTING.rst\u003e`_ for more details.\n\npre-commit\n^^^^^^^^^^\n\n`pre-commit \u003chttps://pre-commit.com/\u003e`_ is configured for this formula, which you may optionally use to ease the steps involved in submitting your changes.\nFirst install  the ``pre-commit`` package manager using the appropriate `method \u003chttps://pre-commit.com/#installation\u003e`_, then run ``bin/install-hooks`` and\nnow ``pre-commit`` will run automatically on each ``git commit``. ::\n\n  $ bin/install-hooks\n  pre-commit installed at .git/hooks/pre-commit\n  pre-commit installed at .git/hooks/commit-msg\n\nState documentation\n~~~~~~~~~~~~~~~~~~~\nThere is a script that semi-autodocuments available states: ``bin/slsdoc``.\n\nIf a ``.sls`` file begins with a Jinja comment, it will dump that into the docs. It can be configured differently depending on the formula. See the script source code for details currently.\n\nThis means if you feel a state should be documented, make sure to write a comment explaining it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flkubb%2Fsalt-vaultwarden-formula","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flkubb%2Fsalt-vaultwarden-formula","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flkubb%2Fsalt-vaultwarden-formula/lists"}