#!/bin/sh dc_dir={{ docker_compose_base_dir }} nextcloud_base_dir=/var/www/html nextcloud_data_dir=/var/www/data postgres_db_user={{ postgres_db_user }} nextcloud_db_user={{ nextcloud_db_user }} nextcloud_db={{ nextcloud_db }} DOCKER_EXE() { ( cd $dc_dir; docker compose exec "$@" ) } ON_POSTGRES() { DOCKER_EXE -T -u postgres postgres "$@" } ON_POSTGRESi() { DOCKER_EXE -u postgres postgres "$@" } ON_NEXTCLOUD() { DOCKER_EXE -T -u www-data nextcloud "$@" } ON_NEXTCLOUDi() { DOCKER_EXE -u www-data nextcloud "$@" } PSQL() { ON_POSTGRES /usr/local/bin/psql "$@" } PGDUMP() { ON_POSTGRES /usr/local/bin/pg_dump "$@" } PSQLi() { ON_POSTGRESi /usr/local/bin/psql "$@" } PHP() { ON_NEXTCLOUD /usr/local/bin/php "$@" } TEE() { ON_NEXTCLOUD /usr/bin/tee "$1" } CAT() { ON_NEXTCLOUD /bin/cat "$1" } DUMP() { ON_NEXTCLOUD /bin/sh -c "for d in $*; do /usr/bin/tar -C \$d -c . ; done" } UNDUMP() { ON_NEXTCLOUD /bin/sh -c "for d in $*; do /usr/bin/tar -C \$d -x ; done" } _gen_config() { local config=$nextcloud_base_dir/config/config.php script=$( cat </dev/null && tar t >/dev/null && cat } # FIXME override selected config settings restore() { ( UNDUMP $nextcloud_base_dir $nextcloud_data_dir #FIXME [ -n "$config" ] && gen_config <<<'$config' | WRITE $nextcloud_base_dir/config/config.php PSQL -U $postgres_db_user < $dc_dir/postgres/init.sql cat | PSQL -U $postgres_db_user -d $nextcloud_db ) } backup() { ( DUMP $nextcloud_base_dir $nextcloud_data_dir PGDUMP -U $postgres_db_user $nextcloud_db ) } prune() { docker system prune -a --volumes } OCC() { ON_NEXTCLOUD ./occ "$@" } NSH() { ON_NEXTCLOUDi sh "$@" } set -vx set -e "$@"