How to store and retrieve my secrets in a linux server?

pe1uca@lemmy.pe1uca.dev to Selfhosted@lemmy.world – 15 points –

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.

13

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/vault

Bitwarden has a CLI that you can script with. Also vaultwarden is the FOSS version.

Just in case you want to try.

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

https://github.com/peff/pass

Simple commandline tool, backed by a gpg encrypted git repo. Perfect for small use cases!