davydovcloud-setup/services/tools/create_svc_directory.sh
tylen f8f287cd84
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
commit new services
2025-11-17 16:27:32 +02:00

48 lines
1.6 KiB
Bash
Executable File

#!/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)
LOCAL_APPS='/home/vm-user/local-apps'
REMOTE_APPS='/home/vm-user/remote-apps'
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 "#${service_name_cap}_CONFIG_REMOTE='${REMOTE_APPS}/${service_name}/config'" >> "${service_path}/.env"
echo "#${service_name_cap}_CONFIG_LOCAL='${LOCAL_APPS}/${service_name}/config'" >> "${service_path}/.env"
echo "#${service_name_cap}_DATA_REMOTE='${REMOTE_APPS}/${service_name}/data'" >> "${service_path}/.env"
echo "#${service_name_cap}_DATA_LOCAL='${LOCAL_APPS}/${service_name}/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 <service_name>"
exit 1
fi
create_svc_directory "$1"