Skip to content

Commit 750aca9

Browse files
authored
Added stable version config, generate pws (#1)
* added dockertags script * Added stable versions config. fixed bugs. added dockertags.shlib * Now generates random pw if there is none specified
1 parent 828bd58 commit 750aca9

File tree

5 files changed

+53
-19
lines changed

5 files changed

+53
-19
lines changed

config.cfg

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
# Services
21
rest_port=8080
32
frontend_port=80
4-
5-
# DB Settings
63
db_user=root
74
db_port=27017
85
db_name=filefighter
6+
use_stable_versions=true
7+
db_password=

init_setup.sh

Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#!/usr/bin/env bash
22
source lib/config.shlib; # load the config library functions
3+
source lib/dockertags.shlib # load docker functions.
34

45
# Check if docker is running
56
if ! docker info >/dev/null 2>&1; then
@@ -14,10 +15,14 @@ frontendname="FileFighterFrontend"
1415
dbname="FileFighterDB"
1516
networkname="FileFighterNetwork"
1617

18+
# latest stable versions.
19+
frontendVersion="latest" #"$(getTagsByName filefighter/frontend v | tail -1)"
20+
restVersion="latest" #$(getTagsByName filefighter/rest v | tail -1)"
21+
1722
# Startup Message.
1823
echo ""
1924
echo "-------------------------< FileFighter >--------------------------"
20-
echo "| Version 0.0.1 last updated at 14.10.20 |"
25+
echo "| Version 0.0.1. Last updated at 14.10.20 |"
2126
echo "| Developed by Gimleux, Valentin, Open-Schnick. |"
2227
echo "| Development Blog: https://filefighter.github.io |"
2328
echo "| The code can be found at: https://www.github.com/filefighter |"
@@ -33,45 +38,60 @@ db_port="$(read ./config.cfg db_port)"
3338
db_name="$(read ./config.cfg db_name)"
3439
db_user="$(read ./config.cfg db_user)"
3540
db_password="$(read ./config.cfg db_password)"
41+
use_stable_versions="$(read ./config.cfg use_stable_versions)"
3642

3743
if ! [[ $frontend_port ]]; then
3844
echo "Config for frontend_port not found, using defaults."
39-
frontend_port="$(read ./config.cfg frontend_port)"
45+
frontend_port="$(read ./config.cfg.defaults frontend_port)"
4046
fi
4147

4248
if ! [[ $rest_port ]]; then
4349
echo "Config for rest_port not found, using defaults."
44-
rest_port="$(read ./config.cfg rest_port)"
50+
rest_port="$(read ./config.cfg.defaults rest_port)"
4551
fi
4652

4753
if ! [[ $db_port ]]; then
4854
echo "Config for db_port not found, using defaults."
49-
db_port="$(read ./config.cfg db_port)"
55+
db_port="$(read ./config.cfg.defaults db_port)"
5056
fi
5157

5258
if ! [[ $db_name ]]; then
5359
echo "Config for db_name not found, using defaults."
54-
db_name="$(read ./config.cfg db_name)"
60+
db_name="$(read ./config.cfg.defaults db_name)"
5561
fi
5662

5763
if ! [[ $db_user ]]; then
5864
echo "Config for db_user not found, using defaults."
59-
db_user="$(read ./config.cfg db_user)"
65+
db_user="$(read ./config.cfg.defaults db_user)"
6066
fi
6167

6268
if ! [[ $db_password ]]; then
6369
echo "Config for db_password not found, using defaults."
64-
db_password="$(read ./config.cfg db_password)"
70+
db_password="$(read ./config.cfg.defaults db_password)"
71+
fi
72+
73+
if ! [[ $use_stable_versions ]]; then
74+
echo "Config for use_stable_versions not found, using defaults."
75+
use_stable_versions="$(read ./config.cfg.defaults use_stable_versions)"
6576
fi
6677

6778
# Check if (default) password was empty.
6879
if ! [[ $db_password ]]; then
6980
# Create new Password
7081
echo "Creating new random password for the database."
71-
db_password="asdasdasd"
82+
db_password=$(wget -qO- "https://www.passwordrandom.com/query?command=password&scheme=rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr")
7283
write $configFilePath db_password $db_password
7384
fi
7485

86+
# Check versions config
87+
if [[ $use_stable_versions == "true" ]]; then
88+
echo "Installing stable versions."
89+
frontendVersion="$(getTagsByName filefighter/frontend v | tail -1)"
90+
restVersion="$(getTagsByName filefighter/rest v | tail -1)"
91+
else
92+
echo "Installing latest versions. Be aware that minor bugs could occur. Please report found bugs: [email protected]."
93+
fi
94+
7595
# Finished Config:
7696
echo "Finished reading config. Building containers..."
7797

@@ -90,7 +110,7 @@ echo "Creating necessary network."
90110
docker network create $networkname >/dev/null 2>&1
91111

92112
# Database
93-
echo "Creating latest DB Container."
113+
echo "Creating DB Container, with tag: latest."
94114
docker create \
95115
-e MONGO_INITDB=$db_name \
96116
-e MONGO_INITDB_ROOT_USERNAME=$db_user \
@@ -102,7 +122,7 @@ docker start $dbname >/dev/null 2>&1
102122
sleep 3 # waiting 3 seconds for mongo to start.
103123

104124
# REST APP
105-
echo "Creating latest REST Container."
125+
echo "Creating REST Container, with tag: $restVersion."
106126
docker create \
107127
-e DB_USERNAME=$db_user \
108128
-e DB_PASSWORD=$db_password \
@@ -111,15 +131,15 @@ docker create \
111131
-e SPRING_PROFILES_ACTIVE="prod" \
112132
-p $rest_port:8080 \
113133
--network $networkname \
114-
--name $restname filefighter/rest:latest >/dev/null 2>&1
134+
--name $restname filefighter/rest:$restVersion >/dev/null 2>&1
115135
docker start $restname >/dev/null 2>&1
116136

117137
# Frontend
118-
echo "Creating latest Frontend Container."
138+
echo "Creating Frontend Container, with tag: $frontendVersion."
119139
docker create \
120140
-e REST_PORT=$rest_port \
121141
-p $frontend_port:5000 \
122-
--name $frontendname filefighter/frontend:latest >/dev/null 2>&1
142+
--name $frontendname filefighter/frontend:$frontendVersion >/dev/null 2>&1
123143
docker start $frontendname >/dev/null 2>&1
124144

125145
# DataHandler

lib/config.cfg.defaults

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,6 @@ db_user=root
99
db_password=
1010
db_port=27017
1111
db_name=filefighter
12+
13+
# Versions
14+
use_stable_versions=true

lib/config.shlib

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ read() { # path, key -> value
1212
}
1313

1414
delete() { # path, key
15-
test -f "$1" && sed -i "" -e "/^$(echo $2 | sed_escape).*$/d" "$1"
16-
# UNIX VERSION:
17-
# test -f "$1" && sed -i "/^$(echo $2 | sed_escape).*$/d" "$1"
15+
test -f "$1" && sed -i "/^$(echo $2 | sed_escape).*$/d" "$1"
16+
# MacOs
17+
# test -f "$1" && sed -i "" -e "/^$(echo $2 | sed_escape).*$/d" "$1"
1818
}
1919

2020
has_key() { # path, key

lib/dockertags.shlib

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
getTagsByName() {
2+
image="$1"
3+
# REMEMBER wget is not native on mac os.
4+
tags=`wget -q https://registry.hub.docker.com/v1/repositories/${image}/tags -O - | sed -e 's/[][]//g' -e 's/"//g' -e 's/ //g' | tr '}' '\n' | awk -F: '{print $3}'`
5+
6+
if [ -n "$2" ]
7+
then
8+
tags=` echo "${tags}" | grep "$2" `
9+
fi
10+
11+
echo "${tags}"
12+
}

0 commit comments

Comments
 (0)