#!/usr/bin/env bash # Script to create a service directory with Docker Compose and .env files set -euo pipefail GIT_REPO_ROOT=$(git rev-parse --show-toplevel) function create_dotenv() { local service_path="${1}" local service_name="${2}" local service_name_cap="${service_name^^}" printf "# Dot Env for service %s created at %s\n" \ "${service_name}" "$(TZ=Europe/Helsinki date)" > "${service_path}/.env" echo "LOCAL_APPS='/home/vm-user/local-apps'" >> "${service_path}/.env" echo "REMOTE_APPS='/home/vm-user/remote-apps'" >> "${service_path}/.env" echo "#${service_name_cap}_CONFIG_REMOTE='\${REMOTE_APPS}/config'" >> "${service_path}/.env" echo "#${service_name_cap}_CONFIG_LOCAL='\${LOCAL_APPS}/config'" >> "${service_path}/.env" echo "#${service_name_cap}_DATA_REMOTE='\${REMOTE_APPS}/data'" >> "${service_path}/.env" echo "#${service_name_cap}_DATA_LOCAL='\${LOCAL_APPS}/data'" >> "${service_path}/.env" } function create_compose() { local service_path="${1}" printf "# Docker Compose for service %s created at %s\n" \ "${service_name}" "$(TZ=Europe/Helsinki date)" > "${service_path}/docker-compose.yml" } function create_svc_directory() { local service_name="${1}" local service_path="${GIT_REPO_ROOT}/services/${service_name}" mkdir -p "${service_path}" create_dotenv ${service_path} ${service_name} create_compose ${service_path} ${service_name} echo "Service directory '${service_name}' created successfully at '${service_path}'." } if [ $# -ne 1 ]; then echo "Usage: $0 " exit 1 fi create_svc_directory "$1"