fix: 更新Docker构建脚本
This commit is contained in:
30
pkg/docker/linux/usr/local/etc/omc/script/entrypoint.sh
Normal file
30
pkg/docker/linux/usr/local/etc/omc/script/entrypoint.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
# set -o xtrace # Uncomment this line for debugging purposes
|
||||
|
||||
# Load OMC environment variables
|
||||
. /usr/local/etc/omc/script/omc-env.sh
|
||||
|
||||
# Initialize OMC DB
|
||||
if [ ! -f /usr/local/etc/omc/omc.conf ]; then
|
||||
bash /usr/local/etc/omc/script/setup.sh -i -m $M_PARAM -c $C_PARAM
|
||||
fi
|
||||
|
||||
# We add the copy from default config in the entrypoint to not break users
|
||||
# case someone mounts a configuration file in /usr/local/etc/omc/default)
|
||||
cp -nr "$BASE_DIR"/default/. "$BASE_DIR"
|
||||
|
||||
if [[ "$*" = *"/usr/local/etc/omc/script/run.sh"* || "$*" = *"run.sh"* ]]; then
|
||||
# Ensure OMC is initialized
|
||||
omcd version
|
||||
# Start Nginx server
|
||||
nginx -g "daemon off;"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
exec "$@"
|
||||
15
pkg/docker/linux/usr/local/etc/omc/script/omc-env.sh
Normal file
15
pkg/docker/linux/usr/local/etc/omc/script/omc-env.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
# Paths
|
||||
export BASE_DIR="/usr/local/etc/omc"
|
||||
export DATA_DIR="/usr/local/omc"
|
||||
|
||||
# OMC settings
|
||||
export M_PARAM="${M_PARAM:std}"
|
||||
export C_PARAM="${C_PARAM:-omc}"
|
||||
|
||||
# OMC Config settings
|
||||
export API_HTTP_PORT="${API_HTTP_PORT:-33030}"
|
||||
export API_HTTPS_PORT="${API_HTTPS_PORT:-33443}"
|
||||
export WEB_HTTP_PORT="${WEB_HTTP_PORT:-80}"
|
||||
export WEB_HTTPS_PORT="${WEB_HTTPS_PORT:-443}"
|
||||
|
||||
export CMD_EXTRA_FLAGS=""
|
||||
32
pkg/docker/linux/usr/local/etc/omc/script/postunpack.sh
Normal file
32
pkg/docker/linux/usr/local/etc/omc/script/postunpack.sh
Normal file
@@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
# set -o xtrace # Uncomment this line for debugging purposes
|
||||
|
||||
# Load OMC environment variables
|
||||
. /usr/local/etc/omc/script/omc-env.sh
|
||||
|
||||
chmod -R g+rwX "$BASE_DIR" "$DATA_DIR"
|
||||
|
||||
# We add the copy from default config in the entrypoint to not break users
|
||||
# bypassing the setup.sh logic. If the file already exists do not overwrite (in
|
||||
# case someone mounts a configuration file in /usr/local/etc/omc/default)
|
||||
cp -rf /usr/local/etc/omc/default/* "$BASE_DIR"
|
||||
|
||||
# OMC config
|
||||
sed -i 's/port: 33030/port: $API_HTTP_PORT/' "$BASE_DIR"/omc.yaml
|
||||
sed -i 's/port: 33443/port: $API_HTTPS_PORT/' "$BASE_DIR"/omc.yaml
|
||||
sed -i '/webServer:/,/-/s/^\( *enabled:\) true/\1 false/' "$BASE_DIR"/omc.yaml
|
||||
|
||||
# Nginx config
|
||||
sed -i 's/# gzip_/gzip_/' /etc/nginx/nginx.conf
|
||||
sed -i 's/include \/etc\/nginx\/sites-enabled/# include \/etc\/nginx\/sites-enabled/' /etc/nginx/nginx.conf
|
||||
cp -rf /usr/local/etc/omc/nginx/omc.conf /etc/nginx/conf.d
|
||||
touch /usr/local/etc/omc/web/dist/config.js && echo 'sessionStorage.clear()' | tee /web/dist/config.js
|
||||
sed -i 's/33030;/$API_HTTP_PORT;/' /etc/nginx/conf.d/omc.conf
|
||||
sed -i 's/33443;/$API_HTTPS_PORT;/' /etc/nginx/conf.d/omc.conf
|
||||
sed -i 's/80;/$WEB_HTTP_PORT;/' /etc/nginx/conf.d/omc.conf
|
||||
sed -i 's/443;/$WEB_HTTPS_PORT;/' /etc/nginx/conf.d/omc.conf
|
||||
21
pkg/docker/linux/usr/local/etc/omc/script/run.sh
Normal file
21
pkg/docker/linux/usr/local/etc/omc/script/run.sh
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
# set -o xtrace # Uncomment this line for debugging purposes
|
||||
|
||||
# Load OMC environment variables
|
||||
. /usr/local/etc/omc/script/omc-env.sh
|
||||
|
||||
# Parse CLI flags to pass to the 'omc' call
|
||||
args=("--config" "${BASE_DIR}/omc.conf")
|
||||
# Add flags specified via the 'CMD_EXTRA_FLAGS' environment variable
|
||||
read -r -a extra_flags <<< "$CMD_EXTRA_FLAGS"
|
||||
[[ "${#extra_flags[@]}" -gt 0 ]] && args+=("${extra_flags[@]}")
|
||||
# Add flags passed to this script
|
||||
args+=("$@")
|
||||
|
||||
exec omc "${args[@]}"
|
||||
Reference in New Issue
Block a user