#!/usr/bin/env bash set -e -o pipefail # this is a special command to allow inspection on this container if [[ "$1" == "inspect" ]]; then shift exec "$@" fi cd "$(dirname "${BASH_SOURCE[0]}")" LNTOP_HOME_DIR=.lntop LNTOP_CONFIG="$LNTOP_HOME_DIR/config.toml" LNTOP_CONFIG_TEMPLATE="$LNTOP_HOME_DIR/config-template.toml" LNTOP_HOST_GID=${LNTOP_HOST_GID:?required} LNTOP_HOST_UID=${LNTOP_HOST_UID:?required} # make sure lntop's home dir exists (should be mapped to host via a volume) if [[ ! -d "$LNTOP_HOME_DIR" ]]; then mkdir -p "$LNTOP_HOME_DIR" chown ${LNTOP_HOST_UID}:${LNTOP_HOST_GID} "$LNTOP_HOME_DIR" fi eval_template() { local template_file=$1 eval "cat < /dev/null } # stage template file only if it does not already exist if [[ ! -e "$LNTOP_CONFIG_TEMPLATE" ]]; then cp initial-config-template.toml "$LNTOP_CONFIG_TEMPLATE" fi # we dynamically prepare config from template by baking in env variables echo "# !!! GENERATED !!! DO NOT EDIT THIS FILE, EDIT config-template.toml INSTEAD" > "$LNTOP_CONFIG" eval_template initial-config-template.toml >> "$LNTOP_CONFIG" exec lntop "$@"