#!/bin/bash set -e . .env DOCKER_WEB_IMAGE_NAME="ghcr.io/opdavies/${COMPOSE_PROJECT_NAME}-web" TTY="" if [[ ! -t 1 ]]; then TTY="-T" fi function cmd { # Run any command in the app container. _dc app "${@}" } function deploy { cd tools/deployment && ansible-playbook deploy.yml } function docker:build-images { docker image build . \ --file tools/docker/images/Dockerfile \ --tag ${DOCKER_WEB_IMAGE_NAME}:${DOCKER_TAG} \ --tag ${DOCKER_WEB_IMAGE_NAME}:latest \ --target=production } function docker:push-images { docker image push ${DOCKER_WEB_IMAGE_NAME}:${DOCKER_TAG} docker image push ${DOCKER_WEB_IMAGE_NAME}:latest } function help { printf "%s [args]\n\nTasks:\n" "${0}" compgen -A function | grep -v "^_" | cat -n printf "\nExtended help:\n Each task has comments for general usage\n" } function run-production { docker-compose --file docker-compose-production.yaml up --detach --remove-orphans } function _dc { docker-compose exec ${TTY} "${@}" } eval "${@:-help}"