Help Cleaning up Docker-compose.yml file

I'm completely new to docker, docker-compose, traefik, vps, etc so I'm definitely doing this wrong. This is my docker-compose.yml.

What I'm trying to achieve: I have a VPS that I want to run a bunch of apps from (bitwarden, ttrss, wallabag, etc). I am managing them using traefik and dockers. Docker-compose builds the apps and traefik acts as a reverse proxy.

For the most part I'm having a lot of success, I've gotten bitwarden, wallabag, portainer, traefik to work. ttrss is somewhat "working" in that I get a white screen rather than a 403 or 404.

Problems:

  1. I have a lot of values defined in /etc/environment like PUID, GUID, and even passwords. I feel like I should have a local .env file or something to define values in. Not sure what proper practice/security is.
  2. regarding the passwords in plain text files. Is there a way to encrypt these passwords in the plain text file?
  3. I want my folder structure to be ~/docker/{bitwarden,wallabag,portainer, traefik, ttrss} with ~/docker/docker-compose.yml to build them. I' don't have a good idea on how volumes work, I'm not sure what maps to what, what they are for, etc.
  4. Should I have a shared database (that isn't a docker)? I read somewhere that for this sort of thing I should have a shared database.

Any other suggestions would be good,

thanks.

submitted by /u/tahehiw
[link] [comments]
Source: Reddit