selfhost/nextcloud/Tasks.yaml

81 lines
2.6 KiB
YAML

version: '3'
vars:
NAME: nextcloud
tasks:
pull:
desc: Pull all images for {{.NAME}} and build images
dir: "{{.TASKFILE_DIR}}"
deps: [build]
cmds:
- docker compose pull --ignore-buildable
up:
desc: Starting {{.NAME}} docker compose as daemon
dir: "{{.TASKFILE_DIR}}"
cmds:
- docker compose up -d
build:
desc: "Building special Nextcloud image (Mainly install software)"
dir: "{{.TASKFILE_DIR}}"
dotenv: [.env]
cmds:
- docker build --pull --build-arg NC_MAIN_VERSION=$NC_MAIN_VERSION --tag $DOCKER_REGISTRY/nextcloud:${NC_MAIN_VERSION}-fpm .
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