container/README.md

54 lines
1.1 KiB
Markdown

# 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.