Taskfile
This commit is contained in:
parent
977593745e
commit
5113ef52fd
14 changed files with 386 additions and 53 deletions
57
Taskfile.yaml
Normal file
57
Taskfile.yaml
Normal file
|
@ -0,0 +1,57 @@
|
|||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
includes:
|
||||
firefoxsync: ./firefoxsync/Tasks.yaml
|
||||
git: ./git/Tasks.yaml
|
||||
news: ./news/Tasks.yaml
|
||||
nextcloud: ./nextcloud/Tasks.yaml
|
||||
proxy: ./proxy/Tasks.yaml
|
||||
push: ./push/Tasks.yaml
|
||||
rustdesk: ./rustdesk/Tasks.yaml
|
||||
wallabag: ./wallabag/Tasks.yaml
|
||||
|
||||
|
||||
tasks:
|
||||
default:
|
||||
desc: List all Tasks
|
||||
cmds:
|
||||
- task --list-all
|
||||
silent: true
|
||||
|
||||
all:pull:
|
||||
desc: Pull and build all images
|
||||
cmds:
|
||||
- task: firefoxsync:pull
|
||||
- task: git:pull
|
||||
- task: news:pull
|
||||
- task: nextcloud:pull
|
||||
- task: proxy:pull
|
||||
- task: push:pull
|
||||
- task: rustdesk:pull
|
||||
- task: wallabag:pull
|
||||
|
||||
all:up:
|
||||
desc: Start all containers
|
||||
cmds:
|
||||
- task: proxy:up
|
||||
- task: nextcloud:up
|
||||
- task: firefoxsync:up
|
||||
- task: git:up
|
||||
- task: news:up
|
||||
- task: push:up
|
||||
- task: rustdesk:up
|
||||
- task: wallabag:up
|
||||
|
||||
all:down:
|
||||
desc: Stop all containers
|
||||
cmds:
|
||||
- task: firefoxsync:down
|
||||
- task: git:down
|
||||
- task: news:down
|
||||
- task: push:down
|
||||
- task: rustdesk:down
|
||||
- task: wallabag:down
|
||||
- task: nextcloud:down
|
||||
- task: proxy:down
|
42
firefoxsync/Tasks.yaml
Normal file
42
firefoxsync/Tasks.yaml
Normal file
|
@ -0,0 +1,42 @@
|
|||
version: '3'
|
||||
|
||||
vars:
|
||||
NAME: firefoxsync
|
||||
|
||||
tasks:
|
||||
|
||||
pull:
|
||||
desc: Pull all images for {{.NAME}}
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose pull --ignore-buildable
|
||||
|
||||
up:
|
||||
desc: Starting {{.NAME}} docker compose as daemon
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose up -d
|
||||
|
||||
down:
|
||||
desc: Stop {{.NAME}} docker compose
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose down
|
||||
|
||||
db:backup:
|
||||
desc: Create database dump
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
dotenv: [".env"]
|
||||
cmds:
|
||||
- docker compose exec db pg_dumpall -U $POSTGRES_USER > pgdump.sql
|
||||
|
||||
db:restore:
|
||||
desc: Restores database dump. Clear database directory first!
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
dotenv: [".env"]
|
||||
cmds:
|
||||
- task: down
|
||||
- docker compose up -d db --wait
|
||||
- docker compose exec -T db psql -U $POSTGRES_USER $POSTGRES_DB < pgdump.sql
|
||||
- docker compose exec -i db psql -U $POSTGRES_USER -d $POSTGRES_DB -c "ALTER USER \"$POSTGRES_USER\" PASSWORD '$POSTGRES_PASSWORD';"
|
||||
- task: up
|
43
git/Tasks.yaml
Normal file
43
git/Tasks.yaml
Normal file
|
@ -0,0 +1,43 @@
|
|||
version: '3'
|
||||
|
||||
vars:
|
||||
NAME: git
|
||||
|
||||
|
||||
tasks:
|
||||
|
||||
pull:
|
||||
desc: Pull all images for {{.NAME}}
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose pull --ignore-buildable
|
||||
|
||||
up:
|
||||
desc: Starting {{.NAME}} docker compose as daemon
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose up -d
|
||||
|
||||
down:
|
||||
desc: Stop {{.NAME}} docker compose
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose down
|
||||
|
||||
db:backup:
|
||||
desc: Create database dump
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
dotenv: [".env"]
|
||||
cmds:
|
||||
- docker compose exec db pg_dumpall -U $POSTGRES_USER > pgdump.sql
|
||||
|
||||
db:restore:
|
||||
desc: Restores database dump. Clear database directory first!
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
dotenv: [".env"]
|
||||
cmds:
|
||||
- task: down
|
||||
- docker compose up -d db --wait
|
||||
- docker compose exec -T db psql -U $POSTGRES_USER $POSTGRES_DB < pgdump.sql
|
||||
- docker compose exec -i db psql -U $POSTGRES_USER -d $POSTGRES_DB -c "ALTER USER \"$POSTGRES_USER\" PASSWORD '$POSTGRES_PASSWORD';"
|
||||
- task: up
|
42
news/Tasks.yaml
Normal file
42
news/Tasks.yaml
Normal file
|
@ -0,0 +1,42 @@
|
|||
version: '3'
|
||||
|
||||
vars:
|
||||
NAME: news
|
||||
|
||||
tasks:
|
||||
|
||||
pull:
|
||||
desc: Pull all images for {{.NAME}}
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose pull --ignore-buildable
|
||||
|
||||
up:
|
||||
desc: Starting {{.NAME}} docker compose as daemon
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose up -d
|
||||
|
||||
down:
|
||||
desc: Stop {{.NAME}} docker compose
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose down
|
||||
|
||||
db:backup:
|
||||
desc: Create database dump
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
dotenv: [".env"]
|
||||
cmds:
|
||||
- docker compose exec db pg_dumpall -U $POSTGRES_USER > pgdump.sql
|
||||
|
||||
db:restore:
|
||||
desc: Restores database dump. Clear database directory first!
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
dotenv: [".env"]
|
||||
cmds:
|
||||
- task: down
|
||||
- docker compose up -d db --wait
|
||||
- docker compose exec -T db psql -U $POSTGRES_USER $POSTGRES_DB < pgdump.sql
|
||||
- docker compose exec -i db psql -U $POSTGRES_USER -d $POSTGRES_DB -c "ALTER USER \"$POSTGRES_USER\" PASSWORD '$POSTGRES_PASSWORD';"
|
||||
- task: up
|
74
nextcloud/Tasks.yaml
Normal file
74
nextcloud/Tasks.yaml
Normal file
|
@ -0,0 +1,74 @@
|
|||
version: '3'
|
||||
|
||||
vars:
|
||||
NAME: nextcloud
|
||||
|
||||
tasks:
|
||||
|
||||
pull:
|
||||
desc: Pull all images for {{.NAME}} and build images
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose build --pull
|
||||
- docker compose pull --ignore-buildable
|
||||
|
||||
up:
|
||||
desc: Starting {{.NAME}} docker compose as daemon
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose up -d
|
||||
|
||||
down:
|
||||
desc: Stop {{.NAME}} docker compose
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose down
|
||||
|
||||
occ:
|
||||
desc: Nexctcloud command line OCC aka "ownCloud Console". Give command like 'task nextcloud:occ -- maintenance:mode --off'
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose exec --user www-data app php occ {{.CLI_ARGS}}
|
||||
|
||||
|
||||
update:
|
||||
desc: Manual execute update of nextcloud AFTER Version inkrement and nextcloud running"
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose exec --user www-data app php occ upgrade
|
||||
- docker compose exec --user www-data app php occ maintenance:repair --include-expensive
|
||||
- docker compose exec --user www-data app php occ db:add-missing-indices
|
||||
- docker compose exec --user www-data app php occ db:add-missing-columns
|
||||
- docker compose exec --user www-data app php occ db:add-missing-primary-keys
|
||||
- docker compose exec --user www-data app php occ maintenance:mode --off
|
||||
- docker compose exec --user www-data app php occ status
|
||||
|
||||
status:
|
||||
desc: Nextcloud status
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose exec --user www-data app php occ status
|
||||
|
||||
files-scan:
|
||||
desc: Scan for changed files in Nextcloud storage
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose exec --user www-data app php occ files:scan --all
|
||||
- docker compose exec --user www-data app php occ files:scan-app-data
|
||||
|
||||
db:backup:
|
||||
desc: Create database dump
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
dotenv: [".env"]
|
||||
cmds:
|
||||
- docker compose exec db mariadb-dump --single-transaction -u $MYSQL_USER -p"$MYSQL_PASSWORD" $MYSQL_DATABASE > mysqldump.sql
|
||||
|
||||
db:restore:
|
||||
desc: Restore database dump. Clear database directory first!
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
dotenv: [".env"]
|
||||
cmds:
|
||||
- task: down
|
||||
- docker compose up -d db --wait
|
||||
- docker compose exec db mariadb -u $MYSQL_USER -p"$MYSQL_PASSWORD" $MYSQL_DATABASE < mysqldump.sql
|
||||
- task: up
|
|
@ -1,19 +0,0 @@
|
|||
#/bin/bash/
|
||||
|
||||
function occ {
|
||||
docker compose --project-directory /home/flz/git/selfhost/nextcloud exec --user www-data app php occ "$@"
|
||||
}
|
||||
|
||||
|
||||
#docker compose build --pull
|
||||
#docker compose pull --ignore-buildable
|
||||
#occ status
|
||||
#docker compose up -d
|
||||
#watch docker compose ps
|
||||
|
||||
occ upgrade
|
||||
occ maintenance:repair --include-expensive
|
||||
occ db:add-missing-indices
|
||||
occ db:add-missing-columns
|
||||
occ db:add-missing-primary-keys
|
||||
occ status
|
31
proxy/Tasks.yaml
Normal file
31
proxy/Tasks.yaml
Normal file
|
@ -0,0 +1,31 @@
|
|||
version: '3'
|
||||
|
||||
vars:
|
||||
NAME: proxy
|
||||
|
||||
tasks:
|
||||
|
||||
pull:
|
||||
desc: Pull all images for {{.NAME}}
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose pull --ignore-buildable
|
||||
|
||||
up:
|
||||
desc: Starting {{.NAME}} docker compose as daemon
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose up -d
|
||||
|
||||
down:
|
||||
desc: Stop {{.NAME}} docker compose
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose down
|
||||
|
||||
reload:
|
||||
desc: Reload Caddyfile config file without restarting container
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose exec -w /etc/caddy caddy caddy reload
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
docker compose exec -w /etc/caddy caddy caddy reload
|
11
pull-all.sh
11
pull-all.sh
|
@ -1,11 +0,0 @@
|
|||
#/bin/bash/
|
||||
|
||||
for dir in ./*/ ; do
|
||||
echo "[Building and Pulling $dir]"
|
||||
cd "$dir";
|
||||
docker compose pull --ignore-buildable
|
||||
docker compose build --pull;
|
||||
cd ..;
|
||||
echo;
|
||||
done
|
||||
|
30
push/Tasks.yaml
Normal file
30
push/Tasks.yaml
Normal file
|
@ -0,0 +1,30 @@
|
|||
version: '3'
|
||||
|
||||
vars:
|
||||
NAME: push
|
||||
|
||||
tasks:
|
||||
|
||||
pull:
|
||||
desc: Pull all images for {{.NAME}}
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose pull --ignore-buildable
|
||||
|
||||
up:
|
||||
desc: Starting {{.NAME}} docker compose as daemon
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose up -d
|
||||
|
||||
down:
|
||||
desc: Stop {{.NAME}} docker compose
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose down
|
||||
|
||||
ntfy:
|
||||
desc: Ntfy command
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose exec ntfy ntfy
|
25
rustdesk/Tasks.yaml
Normal file
25
rustdesk/Tasks.yaml
Normal file
|
@ -0,0 +1,25 @@
|
|||
version: '3'
|
||||
|
||||
vars:
|
||||
NAME: rustdesk
|
||||
|
||||
tasks:
|
||||
|
||||
pull:
|
||||
desc: Pull all images for {{.NAME}}
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose pull --ignore-buildable
|
||||
|
||||
up:
|
||||
desc: Starting {{.NAME}} docker compose as daemon
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose up -d
|
||||
|
||||
down:
|
||||
desc: Stop {{.NAME}} docker compose
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose down
|
||||
|
15
start-all.sh
15
start-all.sh
|
@ -1,15 +0,0 @@
|
|||
#/bin/bash/
|
||||
|
||||
function up {
|
||||
(cd "$1" && echo "[$1]" && docker compose up -d "${@:2}");
|
||||
}
|
||||
|
||||
#up proxy --scale whoami=3;
|
||||
up proxy;
|
||||
up nextcloud;
|
||||
up git;
|
||||
up wallabag;
|
||||
up firefoxsync;
|
||||
up push;
|
||||
up rustdesk;
|
||||
up news;
|
|
@ -1,6 +0,0 @@
|
|||
#/bin/bash/
|
||||
|
||||
for dir in ./*/ ; do
|
||||
(cd "$dir" && echo "[$dir]" && docker compose down);
|
||||
done
|
||||
|
42
wallabag/Tasks.yaml
Normal file
42
wallabag/Tasks.yaml
Normal file
|
@ -0,0 +1,42 @@
|
|||
version: '3'
|
||||
|
||||
vars:
|
||||
NAME: wallabag
|
||||
|
||||
tasks:
|
||||
|
||||
pull:
|
||||
desc: Pull all images for {{.NAME}}
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose pull --ignore-buildable
|
||||
|
||||
up:
|
||||
desc: Starting {{.NAME}} docker compose as daemon
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose up -d
|
||||
|
||||
down:
|
||||
desc: Stop {{.NAME}} docker compose
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
cmds:
|
||||
- docker compose down
|
||||
|
||||
db:backup:
|
||||
desc: Create database dump
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
dotenv: [".env"]
|
||||
cmds:
|
||||
- docker compose exec db /usr/bin/mariadb-dump --single-transaction -u $MYSQL_USER -p"$MYSQL_PASSWORD" $MYSQL_DATABASE > mysqldump.sql
|
||||
|
||||
db:restore:
|
||||
desc: Restore database dump. Clear database directory first!
|
||||
dir: "{{.TASKFILE_DIR}}"
|
||||
dotenv: [".env"]
|
||||
cmds:
|
||||
- task: down
|
||||
- docker compose up -d db --wait
|
||||
- docker compose exec db mariadb -u $MYSQL_USER -p"$MYSQL_PASSWORD" $MYSQL_DATABASE < mysqldump.sql
|
||||
- task: up
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue