From 93c79c15c9b125e5d31be3ca3a61f976752d1df7 Mon Sep 17 00:00:00 2001 From: bucde Date: Wed, 22 Sep 2021 19:34:30 +0200 Subject: [PATCH] feat: create setup script --- docker-compose.yml | 34 +++++++++------------ setup | 75 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+), 20 deletions(-) create mode 100644 setup diff --git a/docker-compose.yml b/docker-compose.yml index ef4093b..1db8f76 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,28 +1,22 @@ version: "3" -networks: - gitea: - external: false - services: server: - image: gitea/gitea:1.13.2 - container_name: gitea - environment: - - USER_UID=1000 - - USER_GID=1000 - - DB_TYPE=mysql - - DB_HOST=ubuntu-dev0.dmz:3306 - - DB_NAME=gitea - - DB_USER=gitea - - DB_PASSWD=password - restart: always - networks: - - gitea + container_name: ${GITEA_CONTAINER_NAME:-gitea} + image: gitea/gitea:${GITEA_VERSION:-latest} + restart: unless-stopped + ports: + - ${GITEA_HOST_IP_ADDRESS:-127.0.0.1}:${GITEA_HOST_WEB_PORT:-3000}:3000 + - ${GITEA_HOST_IP_ADDRESS:-127.0.0.1}:${GITEA_HOST_SSH_PORT:-222}:22 volumes: - ./data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - ports: - - 10.29.0.150:3000:3000 - - 10.29.0.150:222:22 + environment: + - USER_UID=1000 + - USER_GID=1000 + - GITEA__database__DB_TYPE=mysql + - GITEA__database__HOST=${GITEA_DB_HOST:?err}:${GITEA_DB_PORT:?err} + - GITEA__database__NAME=${GITEA_DB_NAME:?err} + - GITEA__database__USER=${GITEA_DB_USER:?err} + - GITEA__database__PASSWD=${GITEA_DB_PASSWORD:?err} diff --git a/setup b/setup new file mode 100644 index 0000000..dda8fbb --- /dev/null +++ b/setup @@ -0,0 +1,75 @@ +#!/bin/bash + +echo "####################################################################" +echo "# docker_gitea_setup_script #" +echo "# Dennis Buchhorn - bucde@b-eit.de #" +echo "####################################################################" +echo "# WARNING: password is plain text input! #" +echo "# #" +echo "# Config will be saved in '.env' file. #" +echo "# (everything in plain text, even the password) #" +#echo "# #" +echo "####################################################################" +echo "" + +DATE=$(date +'%y%m%d%M%S') + +CONFIG_EXISTS="false" +KEEP_CONFIG="" + +GITEA_CONTAINER_NAME="gitea_$DATE" +GITEA_VERSION="" +GITEA_HOST_IP_ADDRESS="" +GITEA_HOST_WEB_PORT="" +GITEA_HOST_SSH_PORT="" +GITEA_DB_HOST="" +GITEA_DB_PORT="" +GITEA_DB_NAME="" +GITEA_DB_USER="" +GITEA_DB_PASSWORD="" + +if [ -f ".env" ]; then + CONFIG_EXISTS="true" + read -p "Config file '.env' already exists! Would you like to use this? (y/n)" KEEP_CONFIG +fi + +if [ $CONFIG_EXISTS == "false" ] || [ $KEEP_CONFIG == "n" ]; then + read -p "Enter gitea version which should be used: " GITEA_VERSION + read -p "Enter host (vm) ip address on which gitea should be accessible: " GITEA_HOST_IP_ADDRESS + read -p "Enter host (vm) port on which gitea web-interface should be accessible: " GITEA_HOST_WEB_PORT + read -p "Enter host (vm) port on which gitea ssh should be accessible: " GITEA_HOST_SSH_PORT + read -p "Enter database host for gitea: " GITEA_DB_HOST + read -p "Enter database port for gitea: " GITEA_DB_PORT + read -p "Enter database name for gitea: " GITEA_DB_NAME + read -p "Enter database user name for gitea: " GITEA_DB_USER + read -p "Enter database user password for gitea: " GITEA_DB_PASSWORD + + rm -f .env + touch .env + echo "GITEA_CONTAINER_NAME="$GITEA_CONTAINER_NAME >> .env + echo "GITEA_VERSION="$GITEA_VERSION >> .env + echo "GITEA_HOST_IP_ADDRESS="$GITEA_HOST_IP_ADDRESS >> .env + echo "GITEA_HOST_WEB_PORT="$GITEA_HOST_PORT >> .env + echo "GITEA_HOST_SSH_PORT="$GITEA_HOST_PORT >> .env + echo "GITEA_DB_HOST="$GITEA_DB_HOST >> .env + echo "GITEA_DB_PORT="$GITEA_DB_PORT >> .env + echo "GITEA_DB_NAME="$GITEA_DB_NAME >> .env + echo "GITEA_DB_USER="$GITEA_DB_USER >> .env + echo "GITEA_DB_PASSWORD="$GITEA_DB_PASSWORD >> .env + + echo "Config file '.env' created!" +else + echo "Use existing config file '.env'!" +fi + +read -p "Should the config file '.env' be deleted after creating the container? (y/n)" DELETE_CONFIG + +docker-compose up -d + +if [ $DELETE_CONFIG == "y" ]; then + rm -f .env + + echo "Config file '.env' deleted!" +fi + +echo "Done!"