mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-31 17:38:28 +00:00
merge docker-compose.yaml and docker-compose-keycloak.yaml to one file. Implement start.sh for starting with and without SSO.
This commit is contained in:
96
start.sh
Executable file
96
start.sh
Executable file
@@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
show_help() {
|
||||
echo "Usage: ./start.sh"
|
||||
echo ""
|
||||
echo "-k or --keycloak if you want to use keycloak as identity provider"
|
||||
echo "-d or --down delete all container"
|
||||
echo "-hi or --host-ip set the host ip"
|
||||
echo "-hp or --host-port set the host port. Default 8080"
|
||||
echo "-w or --wait wait for backend. Default true"
|
||||
echo "-h or --help"
|
||||
}
|
||||
|
||||
set_keycloak(){
|
||||
KEYCLOAK="true"
|
||||
}
|
||||
|
||||
down(){
|
||||
docker-compose down
|
||||
exit 0
|
||||
}
|
||||
|
||||
set_host_ip(){
|
||||
SET_HOST_IP=$1
|
||||
}
|
||||
|
||||
set_host_port(){
|
||||
HOST_PORT=$1
|
||||
}
|
||||
|
||||
set_wait(){
|
||||
WAIT=$1
|
||||
}
|
||||
|
||||
# Defaults
|
||||
WAIT="true"
|
||||
SET_HOST_IP=""
|
||||
HOST_PORT="8080"
|
||||
KEYCLOAK="false"
|
||||
AIMS_PROPS=""
|
||||
|
||||
while [[ $1 == -* ]]; do
|
||||
case "$1" in
|
||||
-h|--help|-\?) show_help; exit 0;;
|
||||
-k|--keycloak) set_keycloak; shift;;
|
||||
-d|--down) down; shift;;
|
||||
-w|--wait) set_wait $2; shift 2;;
|
||||
-hi|--host-ip) set_host_ip $2; shift 2;;
|
||||
-hp|--host-port) set_host_port $2; shift 2;;
|
||||
-*) echo "invalid option: $1" 1>&2; show_help; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -n "${SET_HOST_IP}" ];then
|
||||
export HOST_IP=${SET_HOST_IP}
|
||||
else
|
||||
echo "No HOST_IP set, try to figure out on its own ..."
|
||||
export HOST_IP=$(ifconfig | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -v 127.0.0.1 | awk '{ print $2 }' | cut -f2 -d: | head -n1)
|
||||
fi
|
||||
echo "HOST_IP: ${HOST_IP}"
|
||||
|
||||
URL_FRAGMENT="content-app"
|
||||
export APP_URL="http://${HOST_IP}:${HOST_PORT}/${URL_FRAGMENT}"
|
||||
echo "Content Workspace: ${APP_URL}"
|
||||
|
||||
if [[ $KEYCLOAK == "true" ]]; then
|
||||
export APP_CONFIG_AUTH_TYPE="OAUTH"
|
||||
export APP_CONFIG_OAUTH2_HOST="http://${HOST_IP}:8085/auth/realms/alfresco"
|
||||
echo "Realm: ${APP_CONFIG_OAUTH2_HOST}"
|
||||
export APP_CONFIG_OAUTH2_CLIENTID="alfresco"
|
||||
export APP_CONFIG_OAUTH2_IMPLICIT_FLOW=true
|
||||
export APP_CONFIG_OAUTH2_SILENT_LOGIN=true
|
||||
export APP_CONFIG_OAUTH2_REDIRECT_SILENT_IFRAME_URI="${APP_URL}assets/silent-refresh.html"
|
||||
export APP_CONFIG_OAUTH2_REDIRECT_LOGIN="/$URL_FRAGMENT/"
|
||||
export APP_CONFIG_OAUTH2_REDIRECT_LOGOUT="/$URL_FRAGMENT/logout"
|
||||
# export APP_BASE_SHARE_URL="${APP_URL}#/preview/s"
|
||||
|
||||
AIMS_PROPS="-Dauthentication.chain=identity-service1:identity-service,alfrescoNtlm1:alfrescoNtlm"
|
||||
fi
|
||||
|
||||
echo "Start docker compose"
|
||||
export REGISTRY=${REGISTRY}
|
||||
export SHARE_TAG=${SHARE_TAG:-latest}
|
||||
export REPO_TAG=${REPO_TAG:-latest}
|
||||
export AIMS_PROPS=${AIMS_PROPS}
|
||||
docker-compose up -d --build
|
||||
|
||||
if [[ $WAIT == "true" ]]; then
|
||||
echo "http://${HOST_IP:-localhost}:${HOST_PORT:-8080}/$URL_FRAGMENT/"
|
||||
echo "Waiting for the app ..."
|
||||
HOST_IP=$HOST_IP HOST_PORT=$HOST_PORT npm run wait:app
|
||||
if [ $? == 1 ]; then
|
||||
echo "Waiting failed -> exit 1"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
Reference in New Issue
Block a user