restic-compose-backup/docker-compose.yaml

66 lines
1.4 KiB
YAML

version: '3'
services:
backup:
build: .
env_file:
- restic_compose_backup.env
volumes:
# Map in docker socket
- /var/run/docker.sock:/tmp/docker.sock:ro
# Map backup database locally
- ./restic_data:/restic_data
- ./restic_cache:/restic_cache
# Map in project source
- .:/restic-compose-backup
web:
image: nginx
labels:
restic-compose-backup.volumes: true
restic-compose-backup.volumes.include: "/tests"
volumes:
- ./tests:/srv/tests
- ./.vscode:/srv/code
environment:
- SOME_VALUE=test
- ANOTHER_VALUE=1
mysql:
image: mysql:5
labels:
restic-compose-backup.mysql: true
environment:
- MYSQL_ROOT_PASSWORD=my-secret-pw
- MYSQL_DATABASE=mydb
- MYSQL_USER=myuser
- MYSQL_PASSWORD=mypassword
volumes:
- mysqldata:/var/lib/mysql
mariadb:
image: mariadb:10
labels:
restic-compose-backup.mariadb: true
environment:
- MYSQL_ROOT_PASSWORD=my-secret-pw
- MYSQL_DATABASE=mydb
- MYSQL_USER=myuser
- MYSQL_PASSWORD=mypassword
volumes:
- mariadbdata:/var/lib/mysql
postgres:
image: postgres:11
labels:
restic-compose-backup.postgres: true
environment:
- POSTGRES_USER=pguser
- POSTGRES_PASSWORD=pgpassword
- POSTGRES_DB=test
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
mysqldata:
mariadbdata:
pgdata: