I've a personal documentation/git environment running on vmware.
I'm actually making manual backup on an offline media with Duplicati (that I love!)
I backup the entire virtual machine folder! And i feel like I could do better by simply backupping the volumes. I'm using a debian.
This is my actual composer
version: "3"
services:
db:
image: postgres
restart: always
environment:
- "POSTGRES_USER=User"
- "POSTGRES_PASSWORD=Password"
- "POSTGRES_DB=Database"
volumes:
- /home/user/Docker/Volumes/db_data:/var/lib/postgresql/data
- /home/user/Docker/Documentazione/docker_postgres_init.sql:/docker-entrypoint-initdb.d/docker_postgres_init.sql
networks:
- docs
git:
image: gogs/gogs:latest
restart: always
ports:
- "11022:22"
- "11080:3000"
links:
- db
environment:
- "RUN_CROND=true"
networks:
- docs
volumes:
- /home/user/Docker/Volumes/gogs_data:/data
depends_on:
- db
wiki:
image: requarks/wiki:2
depends_on:
- db
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: some_user
DB_PASS: some_pass
DB_NAME: the_db_name
restart: always
networks:
- docs
links:
- db
ports:
- "11081:3000"
kanban:
image: ghcr.io/plankanban/planka:latest
command: >
bash -c
"for i in `seq 1 30`; do
./start.sh &&
s=$$? && break || s=$$?;
echo \"Tried $$i times. Waiting 5 seconds...\";
sleep 5;
done; (exit $$s)"
restart: always
volumes:
- /home/user/Docker/Volumes/user_avatars:/app/public/user-avatars
- /home/user/Docker/Volumes/project_background_images:/app/public/project-background-images
- /home/user/Docker/Volumes/attachments:/app/private/attachments
ports:
- 11082:1337
networks:
- docs
links:
- db
environment:
- BASE_URL=http://kanban.casa
- TRUST_PROXY=0
- DATABASE_URL=postgresql://a_strange_user:with_a_strange_password@db/planka
- SECRET_KEY="SuperSecretKey"
depends_on:
- db
proxy:
image: 'jc21/nginx-proxy-manager:latest'
restart: always
ports:
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
depends_on:
- db
- wiki
- git
- kanban
networks:
- docs
links:
- db
volumes:
- /home/user/Docker/Volumes/proxy_manager_data:/data
- /home/user/Docker/Volumes/proxy_manager_letsencrypt:/etc/letsencrypt
networks:
docs:
driver: bridge
I've spent almost a full week to have this working! Hence, I'm no expert at all.
I like the setup and I'm happy with the output, but I'm not totally satisfied with my backup system. First of all I think it is not reliable, in term of availability, I've this offline storage I write things in that could fails. And I'm not feeling certain of a backup restore from a virtual machine folder (I always stop the VM before starting the Duplicati backup).
Is there a better way to have the volumes elsewhere, like in a cloud? I could manage to spend few bucks for peace of mind, but as of my backups, I like security, everything on the remote should be encrypted, communication should be secure, etc. etc.
What is the best practice?
Thanks