Compare commits
2 Commits
7088008535
...
17b4417a0a
| Author | SHA1 | Date | |
|---|---|---|---|
| 17b4417a0a | |||
| 5edf0b7cb2 |
@@ -1,13 +1,13 @@
|
||||
version: "3"
|
||||
services:
|
||||
duplicati:
|
||||
image: duplicati-sqlclient # requirement https://git.limbosolutions.com/kb/duplicati/src/branch/main/docker/sqlclient.dockerfile
|
||||
image: duplicati-mysqlclient
|
||||
environment:
|
||||
- DB_HOST=db
|
||||
- DB_NAME=${DB_NAME}
|
||||
- DB_USER=${DB_USER}
|
||||
- DB_PASSWORD=${DB_PASSWORD}
|
||||
- DB_TARGETFOLDER=/git/db-dumps
|
||||
- MYSQL_HOST=db
|
||||
- MYSQL_DATABASE=${DB_NAME}
|
||||
- MYSQL_USER=${DB_USER}
|
||||
- MYSQL_PASSWORD=${DB_PASSWORD}
|
||||
- DESTINATION=/git/db-dumps
|
||||
volumes:
|
||||
- duplicati-data:/data
|
||||
- duplicati-data:/git/duplicati-data:ro
|
||||
@@ -15,16 +15,16 @@ services:
|
||||
- db:/git/db:ro
|
||||
- db-dumps:/git/db-dumps
|
||||
ports:
|
||||
- 8200:8200
|
||||
- ${DUPLICATI_PORT}:8200
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
duplicati-data:
|
||||
data:
|
||||
name: ${GITEA_APP_VOLUMES_DATA_NAME}
|
||||
name: ${GITEA_APP_DATA_VOLUME_NAME}
|
||||
db:
|
||||
name: ${GITEA_DB_VOLUMES_DATA_NAME}
|
||||
name: ${GITEA_DB_DATA_VOLUME_NAME}
|
||||
db-dumps:
|
||||
name: ${GITEA_DB_VOLUMES_DB-DUMPS_NAME}
|
||||
name: ${GITEA_DB_DUMPS_VOLUME_NAME}
|
||||
networks:
|
||||
gitea:
|
||||
name: ${DEFAULT_NETWORK_NAME}
|
||||
|
||||
@@ -15,7 +15,7 @@ services:
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- ${APP_PORT}:80
|
||||
- ${GITEA_PORT}:80
|
||||
networks:
|
||||
- gitea
|
||||
db:
|
||||
@@ -35,11 +35,11 @@ services:
|
||||
- gitea
|
||||
volumes:
|
||||
data:
|
||||
name: ${GITEA_APP_DATA-VOLUME_NAME}
|
||||
name: ${GITEA_APP_DATA_VOLUME_NAME}
|
||||
db:
|
||||
name: ${GITEA_DB_DATA_VOLUME_NAME}
|
||||
db-dumps:
|
||||
name: ${GITEA_DB-DUMPS_VOLUME_NAME}
|
||||
name: ${GITEA_DB_DUMPS_VOLUME_NAME}
|
||||
networks:
|
||||
gitea:
|
||||
name: ${DEFAULT_NETWORK_NAME}
|
||||
|
||||
@@ -35,12 +35,14 @@ lxc exec $LXC_CONTAINER_NAME -- bash -c "curl -s \"https://git.limbosolutions.co
|
||||
## Check docker for fusefs
|
||||
lxc exec $LXC_CONTAINER_NAME -- bash -c "docker info"
|
||||
|
||||
#install Portainer
|
||||
#Setup Portainer
|
||||
lxc exec $LXC_CONTAINER_NAME -- bash -c "curl -s \"https://git.limbosolutions.com/kb/portainer/raw/branch/main/scripts/setup.sh\" | bash"
|
||||
|
||||
#confirm container ip address
|
||||
lxc exec $LXC_CONTAINER_NAME -- bash -c "ip a"
|
||||
|
||||
lxc restart $LXC_CONTAINER_NAME
|
||||
|
||||
```
|
||||
|
||||
### Check instalation
|
||||
@@ -48,10 +50,10 @@ lxc exec $LXC_CONTAINER_NAME -- bash -c "ip a"
|
||||
From other computer
|
||||
|
||||
```bash
|
||||
ping http://$LXC_CONTAINER_NAME:9000
|
||||
ping $LXC_CONTAINER_NAME
|
||||
```
|
||||
|
||||
Access portainer (http://$LXC_CONTAINER_NAME:9000_) for inicial setup:
|
||||
Access portainer (https://$LXC_CONTAINER_NAME:9443/) for inicial setup:
|
||||
|
||||
- Setup administration username and password
|
||||
|
||||
@@ -60,3 +62,26 @@ Access portainer (http://$LXC_CONTAINER_NAME:9000_) for inicial setup:
|
||||
```bash
|
||||
lxc rm $LXC_CONTAINER_NAME --force
|
||||
```
|
||||
|
||||
|
||||
## set a static ip
|
||||
|
||||
|
||||
On lxc container
|
||||
|
||||
``` bash
|
||||
Example:
|
||||
|
||||
/etc/netplan/01-netcfg.yaml
|
||||
network:
|
||||
version: 2
|
||||
renderer: networkd
|
||||
ethernets:
|
||||
eth0:
|
||||
dhcp4: no
|
||||
addresses:
|
||||
- 192.168.121.221/24
|
||||
gateway4: 192.168.121.1
|
||||
nameservers:
|
||||
addresses: [8.8.8.8, 1.1.1.1]
|
||||
``` bash
|
||||
@@ -14,7 +14,7 @@ _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
|
||||
If portainer installed use portainer (https://githost:9443) to setup/manage services
|
||||
|
||||
Required environment variables (.env):
|
||||
|
||||
@@ -45,7 +45,7 @@ DUPLICATI_PORT=8200
|
||||
|
||||
Requirements:
|
||||
|
||||
- [Duplicati Image with mySql client](https://git.limbosolutions.com/kb/duplicati/docker/sqlclient/README.md)
|
||||
- [Duplicati Image with mySql client](https://git.limbosolutions.com/kb/duplicati/src/branch/main/docker/mysqlclient/README.md)
|
||||
|
||||
|
||||
_[Docker Compose File](../docker/dupliticati-docker-compose.yaml)_
|
||||
@@ -67,15 +67,13 @@ After starting stack:
|
||||
1) Check every Container is ok and running
|
||||
1) Stop every Container except duplicati and portainer
|
||||
_note: restore of portainer/duplicati not tested_
|
||||
1) Enter Duplicati (http://githost:8200)
|
||||
1) Enter Duplicati (http://hostip:8200)
|
||||
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)
|
||||
- (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**
|
||||
- From duplicati only restore custom scripts (duplicati-data/myScripts), dot not restore full duplicati with this processs because duplicati is running!
|
||||
1) Restore all files (except portainer and duplicati data) to original location
|
||||
- If database engine is diferent do not restore db_data and check restore database **before next steps**with this processs because duplicati is running!
|
||||
1) Recreate stack gitea _[Docker Compose](../docker/docker-compose.yaml)_ with original read only restrictions on duplicati volumes
|
||||
1) Confirm everything is ok and running
|
||||
1) Return to duplicati on schedule job add script to run-script-before-required /data/myScripts/backupdb.sh
|
||||
@@ -101,3 +99,6 @@ mysql --host db -uroot -p ${MYSQL_DATABASE} < /db-dumps/$DB_FILE
|
||||
#enter root password (root password is in enviromnent variable ${MYSQL_ROOT_PASSWORD})
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user