{"id":49131430,"url":"https://github.com/sbrow/envr","last_synced_at":"2026-04-21T18:47:58.784Z","repository":{"id":321282818,"uuid":"1085192667","full_name":"sbrow/envr","owner":"sbrow","description":"Manage and Backup your .env files with ease!","archived":false,"fork":false,"pushed_at":"2026-04-20T22:50:32.000Z","size":83,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-21T00:37:59.651Z","etag":null,"topics":["age","backup","backups","encryption","environment-variables","secret-management","secrets","secrets-management"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sbrow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-28T17:51:41.000Z","updated_at":"2026-01-12T19:42:11.000Z","dependencies_parsed_at":"2025-10-28T21:26:00.035Z","dependency_job_id":"a51d9295-733c-4ee5-b4e9-b8da907ea008","html_url":"https://github.com/sbrow/envr","commit_stats":null,"previous_names":["sbrow/envr"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/sbrow/envr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbrow%2Fenvr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbrow%2Fenvr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbrow%2Fenvr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbrow%2Fenvr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbrow","download_url":"https://codeload.github.com/sbrow/envr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbrow%2Fenvr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32105863,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["age","backup","backups","encryption","environment-variables","secret-management","secrets","secrets-management"],"created_at":"2026-04-21T18:47:55.076Z","updated_at":"2026-04-21T18:47:58.772Z","avatar_url":"https://github.com/sbrow.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# envr - Backup your env files\n\nHave you ever wanted to back up all your .env files in case your hard drive gets\nnuked? `envr` makes it easier.\n\n`envr` is a binary application that tracks your `.env` files\nin an encyrpted sqlite database. Changes can be effortlessly synced with\n`envr sync`, and restored with `envr restore`.\n\n`envr` puts all your .env files in one safe place, so you can back them up with\nthe tool [of your choosing](#backup-options).\n\n## Features\n\n- 🔐 **Encrypted Storage**: All `.env` files are encrypted using your ssh key and\n[age](https://github.com/FiloSottile/age) encryption.\n- 🔄 **Automatic Sync**: Update the database with one command, which can easily\nbe run on a cron.\n- 🔍 **Smart Scanning**: Automatically discover and import `.env` files in your\nhome directory.\n- ✨ **Interactive CLI**: User-friendly prompts for file selection and management.\n- 🗂️ **Rename Detection**: Automatically finds and updates renamed/moved\nrepositories.\n\n## TODOS\n- [x] Rename Detection: automatically update moved files.\n- [ ] Allow use of keys from `ssh-agent`\n- [x] Allow configuration of ssh key.\n- [x] Allow multiple ssh keys.\n\n## Prerequisites\n\n- An SSH key pair (for encryption/decryption)\n- The following binaries:\n   - [fd](https://github.com/sharkdp/fd)\n   - [git](https://git-scm.com)\n\n## Installation\n\n### With Go\n\nIf you already have `go` installed:\n\n```bash\ngo install github.com/sbrow/envr\nenvr init\n```\n\n### With Nix\n\nIf you are a [nix](https://nixos.org/) user\n\n#### Try it out\n\n```bash\nnix run github.com:sbrow/envr --\n```\n\n#### Install it\n\n```nix\n# /etc/nixos/configuration.nix\n{ config, envr, system, ... }: {\n  environment.systemPackages = [\n    envr.packages.${system}.default\n  ];\n}\n```\n\n## Quick Start\n\nCheck out the [man page](./docs/cli/envr.md) for the quick setup guide.\n\n## Disclaimers\n\n\u003e [!CAUTION]\n\u003e Do not lose your SSH key pair! Your backup will be **lost forever**.\n\n## Commands\n\nSee [the docs](./docs/cli) for the current list of available commands.\n\n## Configuration\n\nThe configuration file is created during initialization:\n\n```jsonc\n# Example ~/.envr/config.json\n{\n  \"keys\": [\n    {\n      \"private\": \"/home/ubuntu/.ssh/id_ed25519\",\n      \"public\": \"/home/ubuntu/.ssh/id_ed25519.pub\"\n    }\n  ],\n  \"scan\": {\n    \"matcher\": \"\\\\.env\",\n    \"exclude\": \"*.envrc\",\n    \"include\": \"~\"\n  }\n}\n```\n\n## Backup Options\n\n`envr` merely gathers your `.env` files in one local place. It is up to you to\nback up the database (found at `~/.envr/data.age`) to a *secure* and *remote*\nlocation.\n\n### Git\n\n`envr` preserves inodes when updating the database, so you can safely hardlink\n`~/.envr/data.age` into your [GNU Stow](https://www.gnu.org/software/stow/),\n[Home Manager](https://github.com/nix-community/home-manager), or\n[NixOS](https://nixos.wiki/wiki/flakes) repository.\n\n\u003e [!CAUTION]\n\u003e For **maximum security**, only save your `data.age` file to a local\n(i.e. non-cloud) git server that **you personally control**.\n\u003e\n\u003e I take no responsibility if you push all your secrets to a public GitHub repo.\n\n### restic\n\n[restic](https://restic.readthedocs.io/en/latest/010_introduction.html).\n\n## License\n\nThis project is licensed under the [MIT License](./LICENSE).\n\n## Support\n\nFor issues, feature requests, or questions, please\n[open an issue](https://github.com/sbrow/envr/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbrow%2Fenvr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbrow%2Fenvr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbrow%2Fenvr/lists"}