|
@@ -16,8 +16,8 @@ done
|
|
|
declare -A WEB_SERVICES
|
|
|
declare -a containers=( "${SERVICE_NAME}-service-dockerbunker" )
|
|
|
declare -a add_to_network=( "${SERVICE_NAME}-service-dockerbunker" )
|
|
|
-declare -A IMAGES=( [service]="clue/json-server" )
|
|
|
-declare -A volumes=( [${SERVICE_NAME}-data-vol-1]="/data" )
|
|
|
+declare -A IMAGES=( [service]="chaosbunker/json-server" )
|
|
|
+declare -A volumes=( [${SERVICE_NAME}-data-vol-1]="/json-server" )
|
|
|
declare -a networks=( )
|
|
|
|
|
|
[[ -z $1 ]] && options_menu
|
|
@@ -35,15 +35,36 @@ configure() {
|
|
|
|
|
|
set_domain
|
|
|
|
|
|
- prompt_confirm "Set Authentication Request Header?"
|
|
|
+ prompt_confirm "Restrict GET requests?"
|
|
|
|
|
|
if [ $? == 0 ]; then
|
|
|
- MIDDLEWARE="--middlewares auth.js"
|
|
|
- read -p "Authorization Request Header [key]: " -ei "X-Authorize" AUTH_REQ_HEADER_KEY
|
|
|
- read -p "Authorization Request Header [value]: " -ei "I Like Turtles" AUTH_REQ_HEADER_VALUE
|
|
|
+ read -p "Header [key]: " -ei "X-Authorize" GET_REQ_HEADER_KEY
|
|
|
+ read -p "Header [value]: " -ei "I Like Turtles" GET_REQ_HEADER_VALUE
|
|
|
fi
|
|
|
+
|
|
|
+ prompt_confirm "Restrict all other request methods with secondary header?"
|
|
|
+
|
|
|
+ if [ $? == 0 ]; then
|
|
|
+ read -p "Header [key]: " -ei "X-Modify" MODIFY_REQ_HEADER_KEY
|
|
|
+ read -p "Header [value]: " -ei "I Really Like Turtles" MODIFY_REQ_HEADER_VALUE
|
|
|
+ fi
|
|
|
+
|
|
|
+ prompt_confirm "Set database id property? [default: id]"
|
|
|
+
|
|
|
+ if [ $? == 0 ]; then
|
|
|
+ read -p ": " DB_ID_PROPERTY
|
|
|
+ ID=${ID}" --id ${DB_ID_PROPERTY}"
|
|
|
+ fi
|
|
|
+
|
|
|
+ prompt_confirm "Set custom routes?"
|
|
|
|
|
|
- SUBSTITUTE=( "\${AUTH_REQ_HEADER_KEY}" "\${AUTH_REQ_HEADER_VALUE}" )
|
|
|
+ if [ $? == 0 ]; then
|
|
|
+ cp "${SERVICES_DIR}"/${SERVICE_NAME}/routes.json "${CONF_DIR}"/${SERVICE_NAME}
|
|
|
+
|
|
|
+ echo -e "\nYou can modify your routes.json in ${CONF_DIR}/${SERVICE_NAME}/\n"
|
|
|
+ fi
|
|
|
+
|
|
|
+ SUBSTITUTE=( "\${MODIFY_REQ_HEADER_KEY}" "\${MODIFY_REQ_HEADER_VALUE}" "\${GET_REQ_HEADER_KEY}" "\${GET_REQ_HEADER_VALUE}" )
|
|
|
|
|
|
[[ -f "${CONF_DIR}"/jsonserver/auth.js ]] \
|
|
|
&& rm "${SERVICES_DIR}"/${SERVICE_NAME}/jsonserver/auth.js
|
|
@@ -58,7 +79,15 @@ configure() {
|
|
|
done
|
|
|
|
|
|
[[ -f "${SERVICES_DIR}"/${SERVICE_NAME}/auth.js ]] \
|
|
|
- && mv "${SERVICES_DIR}"/${SERVICE_NAME}/auth.js "${CONF_DIR}"/jsonserver
|
|
|
+ && mv "${SERVICES_DIR}"/${SERVICE_NAME}/auth.js "${CONF_DIR}"/${SERVICE_NAME}
|
|
|
+
|
|
|
+ prompt_confirm "Remove default index.html?"
|
|
|
+
|
|
|
+ if [ $? == 0 ]; then
|
|
|
+ mkdir -p ${CONF_DIR}/jsonserver/public
|
|
|
+ cp "${SERVICES_DIR}"/${SERVICE_NAME}/index.html "${CONF_DIR}"/${SERVICE_NAME}/public
|
|
|
+ echo -e "\nPlace your index.html in ${CONF_DIR}/${SERVICE_NAME}/\n"
|
|
|
+ fi
|
|
|
|
|
|
cat <<-EOF >> "${SERVICE_ENV}"
|
|
|
PROPER_NAME="${PROPER_NAME}"
|
|
@@ -66,9 +95,11 @@ configure() {
|
|
|
SSL_CHOICE=${SSL_CHOICE}
|
|
|
LE_EMAIL=${LE_EMAIL}
|
|
|
|
|
|
- MIDDLEWARE="${MIDDLEWARE}"
|
|
|
- AUTH_REQ_HEADER_KEY="${AUTH_REQ_HEADER_KEY}"
|
|
|
- AUTH_REQ_HEADER_VALUE="${AUTH_REQ_HEADER_VALUE}"
|
|
|
+ ID="${ID}"
|
|
|
+ GET_REQ_HEADER_KEY="${GET_REQ_HEADER_KEY}"
|
|
|
+ GET_REQ_HEADER_VALUE="${GET_REQ_HEADER_VALUE}"
|
|
|
+ MODIFY_REQ_HEADER_KEY="${MODIFY_REQ_HEADER_KEY}"
|
|
|
+ MODIFY_REQ_HEADER_VALUE="${MODIFY_REQ_HEADER_VALUE}"
|
|
|
|
|
|
SERVICE_DOMAIN=${SERVICE_DOMAIN}
|
|
|
EOF
|
|
@@ -79,6 +110,7 @@ configure() {
|
|
|
setup() {
|
|
|
initial_setup_routine
|
|
|
|
|
|
+ SUBSTITUTE=( "\${SERVICE_DOMAIN}" )
|
|
|
basic_nginx
|
|
|
|
|
|
docker_run_all
|