Added .env file and upgrade additions
This commit is contained in:
parent
e782725111
commit
edadf94554
12
bin/.env
Normal file
12
bin/.env
Normal file
@ -0,0 +1,12 @@
|
||||
# Domain name
|
||||
DOMAIN="test.com"
|
||||
|
||||
# Company name
|
||||
COMPANY="Fang Free Inc"
|
||||
|
||||
# Country
|
||||
COUNTRY="US"
|
||||
|
||||
# Administrator password
|
||||
ADMINPASS="d3r3k123"
|
||||
|
@ -37,24 +37,33 @@ get_config() {
|
||||
. /federated/lib/calcom.sh
|
||||
. /federated/lib/gitea.sh
|
||||
. /federated/lib/caddy.sh
|
||||
|
||||
|
||||
COUNTRIES=("AF" "AL" "DZ" "AS" "AD" "AO" "AI" "AQ" "AG" "AR" "AM" "AW" "AU" "AT" "AZ" "BS" "BH" "BD" "BB" "BY" "BE" "BZ" "BJ" "BM" "BT" "BO" "BO" "BA" "BW" "BV" "BR" "IO" "BN" "BN" "BG" "BF" "BI" "KH" "CM" "CA" "CV" "KY" "CF" "TD" "CL" "CN" "CX" "CC" "CO" "KM" "CG" "CD" "CK" "CR" "CI" "CI" "HR" "CU" "CY" "CZ" "DK" "DJ" "DM" "DO" "EC" "EG" "SV" "GQ" "ER" "EE" "ET" "FK" "FO" "FJ" "FI" "FR" "GF" "PF" "TF" "GA" "GM" "GE" "DE" "GH" "GI" "GR" "GL" "GD" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "VA" "HN" "HK" "HU" "IS" "IN" "ID" "IR" "IQ" "IE" "IM" "IL" "IT" "JM" "JP" "JE" "JO" "KZ" "KE" "KI" "KP" "KR" "KR" "KW" "KG" "LA" "LV" "LB" "LS" "LR" "LY" "LY" "LI" "LT" "LU" "MO" "MK" "MG" "MW" "MY" "MV" "ML" "MT" "MH" "MQ" "MR" "MU" "YT" "MX" "FM" "MD" "MC" "MN" "ME" "MS" "MA" "MZ" "MM" "MM" "NA" "NR" "NP" "NL" "AN" "NC" "NZ" "NI" "NE" "NG" "NU" "NF" "MP" "NO" "OM" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "PL" "PT" "PR" "QA" "RE" "RO" "RU" "RU" "RW" "SH" "KN" "LC" "PM" "VC" "VC" "VC" "WS" "SM" "ST" "SA" "SN" "RS" "SC" "SL" "SG" "SK" "SI" "SB" "SO" "ZA" "GS" "SS" "ES" "LK" "SD" "SR" "SJ" "SZ" "SE" "CH" "SY" "TW" "TW" "TJ" "TZ" "TH" "TL" "TG" "TK" "TO" "TT" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "AE" "GB" "US" "UM" "UY" "UZ" "VU" "VE" "VE" "VN" "VN" "VG" "VI" "WF" "EH" "YE" "ZM" "ZW")
|
||||
|
||||
echo -ne "\nFederated Stack install script\n\n"
|
||||
read -p '* Enter domain name (domain.com): ' DOMAIN
|
||||
read -p '* Enter company name (Domain Company): ' COMPANY
|
||||
read -p '* Enter country code: ' COUNTRY
|
||||
while [ true ]; do
|
||||
if printf '%s\0' "${COUNTRIES[@]}" | grep -Fxqz -- "$COUNTRY"; then
|
||||
break
|
||||
else
|
||||
read -p "* Invalid, choose a country code (US, GB, HK, etc): " COUNTRY
|
||||
fi
|
||||
done
|
||||
read -sp '* Enter admin password to use for initial login: ' ADMINPASS
|
||||
[ -z "$DOMAIN" ] && failcheck "Must enter a domain name"
|
||||
[ -z "$COMPANY" ] && failcheck "Must enter a company name"
|
||||
[ -z "$ADMINPASS" ] && failcheck "Must enter a admin password"
|
||||
if [ -f "/federated/bin/.env" ]; then
|
||||
. /federated/bin/.env
|
||||
[ -z "$DOMAIN" ] && failcheck "/federated/bin/.env doesn't include DOMAIN"
|
||||
[ -z "$COMPANY" ] && failcheck "/federated/bin/.env doesn't include COMPANY"
|
||||
[ -z "$COUNTRY" ] && failcheck "/federated/bin/.env doesn't include COUNTRY"
|
||||
[ -z "$ADMINPASS" ] && failcheck "/federated/bin/.env doesn't include ADMINPASS"
|
||||
exit 5;
|
||||
else
|
||||
echo -ne "\nFederated Stack install script\n\n"
|
||||
read -p '* Enter domain name (domain.com): ' DOMAIN
|
||||
read -p '* Enter company name (Domain Company): ' COMPANY
|
||||
read -p '* Enter country code: ' COUNTRY
|
||||
while [ true ]; do
|
||||
if printf '%s\0' "${COUNTRIES[@]}" | grep -Fxqz -- "$COUNTRY"; then
|
||||
break
|
||||
else
|
||||
read -p "* Invalid, choose a country code (US, GB, HK, etc): " COUNTRY
|
||||
fi
|
||||
done
|
||||
read -sp '* Enter admin password to use for initial login: ' ADMINPASS
|
||||
[ -z "$DOMAIN" ] && failcheck "Must enter a domain name"
|
||||
[ -z "$COMPANY" ] && failcheck "Must enter a company name"
|
||||
[ -z "$ADMINPASS" ] && failcheck "Must enter a admin password"
|
||||
fi
|
||||
}
|
||||
|
||||
while getopts d OPTION; do
|
||||
@ -66,6 +75,8 @@ done
|
||||
# Download lib scripts and take in setup variables
|
||||
get_config
|
||||
|
||||
exit 99;
|
||||
|
||||
echo -ne "\n\nStarting Federated install for $DOMAIN\n"
|
||||
|
||||
# Check that we have docker installed. Check that
|
||||
|
5
bin/upgrade.sh
Executable file
5
bin/upgrade.sh
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
. /federated/lib/functions.sh
|
||||
|
||||
upgrade_federated
|
@ -26,6 +26,53 @@ spin() {
|
||||
sleep 1
|
||||
done
|
||||
done
|
||||
}
|
||||
install_federated() {
|
||||
[ -d "/federated" ] && fail "Directory /federated already exists. Already installed?"
|
||||
API_TOKEN="92d97f5aa371d420ebce7bc9a008ea8c6ec5d334"
|
||||
git clone https://derek:$API_TOKEN@code.federated.company/federatedcomputer/Core /federated
|
||||
}
|
||||
upgrade_federated() {
|
||||
echo -ne "\n* Updating federated install.."
|
||||
[ ! -d "/federated" ] && fail "Directory /federated doesn't exist."
|
||||
|
||||
echo -ne "\n* Grabbing the latest version from Gitea.."
|
||||
|
||||
API_TOKEN="92d97f5aa371d420ebce7bc9a008ea8c6ec5d334"
|
||||
cd /federated && git pull https://derek:$API_TOKEN@code.federated.company/federatedcomputer/Core &> /dev/null
|
||||
[ $? -ne 0 ] && fail "Git pull not working on update of federated."
|
||||
|
||||
echo -ne "\n* Checking installed app versions with the latest.."
|
||||
|
||||
[ ! -f "/federated/lib/latest-versions" ] && fail "File /federated/lib/latest-version doesn't exist."
|
||||
for i in `cat /federated/lib/latest-versions`; do
|
||||
SERVICE=(${i//=/ });
|
||||
APP="${SERVICE[0]}"
|
||||
VERSION="${SERVICE[1]}"
|
||||
echo -ne "\n** Checking $APP.."
|
||||
|
||||
[ ! -f "/federated/apps/$APP/.env" ] && fail "File /federated/apps/$APP/.env doesn't exist."
|
||||
APP_VERSION=`grep IMAGE_VERSION /federated/apps/$APP/.env | awk -F= '{ print $2 }'`
|
||||
|
||||
if [ "$APP_VERSION" = "$VERSION" ]; then
|
||||
echo -ne "\n $APP is already at the latest version."
|
||||
else
|
||||
NC_COMMAND=`grep start_service /federated/lib/$APP.sh | awk -F\" '{ print $4 }'`
|
||||
echo -ne "\n Upgrading $APP.."
|
||||
echo -ne "\n Shutting Down $APP.."
|
||||
cd /federated/apps/$APP && docker-compose -f docker-compose.yml -p $APP down
|
||||
sed -i "s#VERSION=.*#VERSION=$VERSION#g" /federated/apps/$APP/.env
|
||||
echo -ne "\n Starting Up $APP.."
|
||||
start_service_upgrade "$APP" "$NC_COMMAND"
|
||||
echo -ne "\n Done Updating $APP to $VERSION."
|
||||
fi
|
||||
done
|
||||
|
||||
echo -ne "\n\n"
|
||||
|
||||
# kill -9 $SPINPID &> /dev/null
|
||||
# echo -ne "done."
|
||||
|
||||
}
|
||||
create_password() {
|
||||
# eval $1_var=$1
|
||||
@ -33,6 +80,38 @@ create_password() {
|
||||
SECRET=`tr -cd '[:alnum:]' < /dev/urandom | fold -w32 | head -n1`
|
||||
echo "$SECRET";
|
||||
}
|
||||
start_service_upgrade() {
|
||||
SERVICE="$1"
|
||||
COMMAND="$2"
|
||||
|
||||
# Start /federated/apps/SERVICE with output to /dev/null
|
||||
echo -ne "\n* Starting /federated/apps/$SERVICE service.."
|
||||
|
||||
if [ $DEBUG ]; then
|
||||
# Start /federated/apps/SERVICE with output to console for debug
|
||||
docker-compose -f /federated/apps/$SERVICE/docker-compose.yml -p $SERVICE up
|
||||
[ $? -eq 0 ] && echo -ne "done.\n" || fail "There was a problem starting service /federated/apps/$SERVICE"
|
||||
else
|
||||
docker-compose -f /federated/apps/$SERVICE/docker-compose.yml -p $SERVICE up -d &> /dev/null
|
||||
|
||||
# Keep trying service port to make sure it's up before
|
||||
# we proceed
|
||||
RETRY="30"
|
||||
while [ $RETRY -gt 0 ]; do
|
||||
bash -c "$COMMAND" &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
break
|
||||
else
|
||||
if [ "$RETRY" == 1 ]; then
|
||||
docker-compose -f /federated/apps/$SERVICE/docker-compose.yml -p $SERVICE down &> /dev/null
|
||||
fail "There was a problem starting service /federated/apps/$SERVICE\nCheck the output of 'docker logs $SERVICE' or turn on\ndebug with -d"
|
||||
fi
|
||||
((RETRY--))
|
||||
sleep 7
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
start_service() {
|
||||
SERVICE="$1"
|
||||
COMMAND="$2"
|
||||
|
15
lib/latest-versions
Normal file
15
lib/latest-versions
Normal file
@ -0,0 +1,15 @@
|
||||
baserow=1.14.0
|
||||
calcom=1.0
|
||||
postgresql=14
|
||||
proxy=1.1
|
||||
nextcloud=25.0.3
|
||||
listmonk=v2.4.0
|
||||
panel=v1.11
|
||||
vaultwarden=1.28.0
|
||||
matrix=v1.75.0
|
||||
element=v1.11.19
|
||||
mail=11.3.1
|
||||
ldap=1.5.0
|
||||
dns=3.17.1
|
||||
wireguard=1.0.20210914
|
||||
gitea=1.19.0
|
Loading…
x
Reference in New Issue
Block a user