All guides to deploy using docker mention typing your keys/credentials/secrets into the docker compose file, or use a .env or similar file, I’m wondering how secure is this and if there’s a better option.
Also, this has the issue of having to get into the server to manage them, remembering which file has each credential.
Is there a selfhostable secrets manager? I’ve only found proprietary/paid ones for large infrastructures and I just need it for a couple of my servers/projects.
Perhaps look into hashicorp vault
seconded for hashicorp, you can do secrets and env vars while cutting your teeth but you should be on a path to learning and setting up secure secrets vaults.
I wish there was something between hashicorp vault and keepass. I want a nice simple UI that even my family could use with Terraform integration. Anyone know of such a program?
I have no experience with terraform but Bitwarden has an API and CLI, so you might be able to script something with it?
Thanks. I knew about bit/vaultwarden but I just looked and I see that there is a Terraform module and the UI looks good.
Thanks.
I was thinking about this, since it’d be using foss, but if no library exists to handle the pass to a script/config file then it’d be maintaining a custom solution which might not be that secure.
Edit: hashicorp’s vault is open source, so I’ll be giving it a try.
https://github.com/hashicorp/vaultBitwarden has a CLI that you can script with. Also vaultwarden is the FOSS version.
Just in case you want to try.
There’s also Infisical if you don’t want to run Vault
https://github.com/Infisical/infisical
I personally use Ansible to deploy my .env files to my Docker host. The .env files are encrypted in Ansible Vault and deployed to the server as chmod 400 so only I can access them.
+1 for Ansible Vault
The suggestions here are good for production. Over used aws secret manager and hashicorp vault before and both did everything we needed.
I find they’re too much firepower for selfhosted, and prefer pass
Simple commandline tool, backed by a gpg encrypted git repo. Perfect for small use cases!