# Container This project contains my personal docker compose configurations. ## Operating principle: Changes in this repo get pushed to a bare repo on dmeiburg.de. Whenever a push is received a post-receive hook runs. The `post-receive hook` then: - deploys the code into a working directory - decrypts .env.gpg files - restarts stacks with changed compose files The env files are encrypted for key@dmeiburg.de and server@dmeiburg.de. ## Server setup ```sh # create bare repo on dmeiburg.de mkdir -p git/container.git cd git/container.git git init --bare ``` ```sh # install the post receive hook, by using this command on the local machine # whenever the hook is edited, this command has to be used again scp post-receive dmeiburg:~/git/container/hooks/ ``` ## Local setup ```sh # add bare repo as remote on local machine git remote add dmeiburg ssh://root@dmeiburg.de:/root/git/container.git ``` ## Encrypting .env files To encrypt an .env files, the following command is used: ```sh $ gpg -er key@dmeiburg.de -r server@dmeiburg.de .env ``` ## Deployment ```bash git push dmeiburg ``` If necessary the post-receive hook has to be updated via scp.