From fec022f1bee9dd3a1ee3d65cd5235a639f8dc982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sun, 9 Oct 2022 13:37:00 +0100 Subject: [PATCH] . --- docker/duplicati-docker-compose.yaml | 30 ++++++++++++++++ ...compose.yaml => gitea-docker-compose.yaml} | 28 ++++++--------- documentation/setup.md | 36 ++++++++++++++++--- 3 files changed, 71 insertions(+), 23 deletions(-) create mode 100644 docker/duplicati-docker-compose.yaml rename docker/{docker-compose.yaml => gitea-docker-compose.yaml} (61%) diff --git a/docker/duplicati-docker-compose.yaml b/docker/duplicati-docker-compose.yaml new file mode 100644 index 0000000..a5ad86a --- /dev/null +++ b/docker/duplicati-docker-compose.yaml @@ -0,0 +1,30 @@ +version: "3" +services: + duplicati: + image: duplicati-sqlclient # requirement https://git.limbosolutions.com/kb/duplicati/src/branch/main/docker/sqlclient.dockerfile + environment: + - DB_HOST=db + - DB_NAME=${DB_NAME} + - DB_USER=${DB_USER} + - DB_PASSWORD=${DB_PASSWORD} + - DB_TARGETFOLDER=/git/db-dumps + volumes: + - duplicati-data:/data + - duplicati-data:/git/duplicati-data:ro + - data:/git/data:ro + - db:/git/db:ro + - db-dumps:/git/db-dumps + ports: + - 8200:8200 + restart: unless-stopped +volumes: + duplicati-data: + data: + name: ${GITEA_APP_VOLUMES_DATA_NAME} + db: + name: ${GITEA_DB_VOLUMES_DATA_NAME} + db-dumps: + name: ${GITEA_DB_VOLUMES_DB-DUMPS_NAME} +networks: + gitea: + name: ${GITEA_NETWORK_NAME} diff --git a/docker/docker-compose.yaml b/docker/gitea-docker-compose.yaml similarity index 61% rename from docker/docker-compose.yaml rename to docker/gitea-docker-compose.yaml index 7eb6c23..7ec0713 100644 --- a/docker/docker-compose.yaml +++ b/docker/gitea-docker-compose.yaml @@ -16,6 +16,8 @@ services: - /etc/localtime:/etc/localtime:ro ports: - ${HTTP_PORT}:80 + networks: + - gitea db: image: mysql:8 restart: always @@ -29,25 +31,15 @@ services: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - db-dumps:/db-dumps - duplicati: - image: duplicati-sqlclient # requirement https://git.limbosolutions.com/kb/duplicati/src/branch/main/docker/sqlclient.dockerfile - environment: - - DB_HOST=db - - DB_NAME=${DB_NAME} - - DB_USER=${DB_USER} - - DB_PASSWORD=${DB_PASSWORD} - - DB_TARGETFOLDER=/git/db-dumps - volumes: - - duplicati-data:/data - - duplicati-data:/git/duplicati-data:ro - - data:/git/data:ro - - db:/git/db:ro - - db-dumps:/git/db-dumps - ports: - - 8200:8200 - restart: unless-stopped + networks: + - gitea volumes: data: + name: ${GITEA_APP_VOLUMES_DATA_NAME} db: + name: ${GITEA_DB_VOLUMES_DATA_NAME} db-dumps: - duplicati-data: + name: ${GITEA_DB_VOLUMES_DB-DUMPS_NAME} +networks: + gitea: + name: ${GITEA_NETWORK_DEFAULT_NAME} diff --git a/documentation/setup.md b/documentation/setup.md index b0bbb6b..3de0f43 100644 --- a/documentation/setup.md +++ b/documentation/setup.md @@ -11,12 +11,38 @@ _Currently hosted on an ubuntu lxc container with docker and portainer [+ inform ### Services (Stacks) If portainer installed use portainer (http://githost:9000) to setup/manage services -Stacks: -- Stack Name: gitea - _[Docker Compose](../docker/docker-compose.yaml)_ +Required environment variables (.env): -Access duplicati (http://ipaddress:8200) and set a password +```bash +GITEA_APP_VOLUMES_DATA_NAME=gitea_app_data +GITEA_DB_VOLUMES_DATA_NAME=gitea_db_data +GITEA_DB_VOLUMES_DB-DUMPS_NAME=gitea_db-dumps +GITEA_NETWORK_DEFAULT_NAME=gitea_default +DB_NAME=?? +DB_USER=?? +DB_PASSWORD=?? +DB_ROOT_PASSWORD=?? +HTTP_PORT=??? +``` + +#### Gitea + + _[Docker Compose File](../docker/gitea-docker-compose.yaml)_ + +#### Duplicati + + _[Docker Compose File](../docker/dupliticati-docker-compose.yaml)_ + +After starting stack: + +- Access duplicati (http://ipaddress:8200) and set a password + +##### Requirements + +- Duplicati Container with mySql client + - [Dockerfile](htpp://missinggiturl) + - [Git](https://git.limbosolutions.com/kb/duplicati) ## Restore @@ -34,7 +60,7 @@ Access duplicati (http://ipaddress:8200) and set a password 1) Import Backup job (if not possible next steps must be adapted) - Restore with permissions checked - All Imported jobs schedules must be disabled (or disable write permissions on backup host) - - Remove references to scripts (example:run-script-before-required, /data/myScripts/backupdb.sh) + - (step not required after this migration) Remove references to scripts (example:run-script-before-required, /data/myScripts/backupdb.sh) 1) Recreate duplicati local database (home-> backup-> advanced-> database-> Recreate (delete and repair)) 1) Restore all files to original location - If database engine is diferent do not restore db_data and check restore database **before next steps**