Files
opencode-container/entrypoint.sh
T

55 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
# CERT_DIR="${CERT_DIR:-/host-certs}"
#
# if [[ -d "$CERT_DIR" ]]; then
# shopt -s nullglob
# certs=("$CERT_DIR"/*.crt "$CERT_DIR"/*.pem)
# if ((${#certs[@]})); then
# mkdir -p /usr/local/share/ca-certificates/opencode-host
# for cert in "${certs[@]}"; do
# target="/usr/local/share/ca-certificates/opencode-host/$(basename "${cert%.*}").crt"
# if openssl x509 -in "$cert" -noout >/dev/null 2>&1; then
# cp -f "$cert" "$target"
# else
# echo "WARNING: ignoring invalid CA certificate: $cert" >&2
# fi
# done
# if update-ca-certificates >/tmp/opencode-ca.log 2>&1; then
# :
# else
# echo "WARNING: update-ca-certificates failed; continuing." >&2
# cat /tmp/opencode-ca.log >&2 || true
# fi
# fi
# fi
host_lang="${HOST_LANG:-${LANG:-C.UTF-8}}"
host_lc_all="${HOST_LC_ALL:-${LC_ALL:-}}"
# Generate a host locale when it is a valid UTF-8 locale and not already present.
if [[ "$host_lang" == *.UTF-8 && "$host_lang" != "C.UTF-8" ]]; then
if ! locale -a | grep -Fxqi "${host_lang//UTF-8/utf8}"; then
if [[ "$host_lang" =~ ^([A-Za-z_]+)\.UTF-8$ ]]; then
locale_name="${BASH_REMATCH[1]}.UTF-8"
if grep -qE "^#?[[:space:]]*${locale_name}[[:space:]]+UTF-8" /etc/locale.gen 2>/dev/null; then
sed -i -E "s/^#[[:space:]]*(${locale_name}[[:space:]]+UTF-8)/\1/" /etc/locale.gen
else
printf '%s UTF-8\n' "$locale_name" >> /etc/locale.gen
fi
locale-gen "$locale_name" >/dev/null 2>&1 || \
echo "WARNING: could not generate locale $host_lang; continuing." >&2
fi
fi
fi
export LANG="$host_lang"
if [[ -n "$host_lc_all" ]]; then
export LC_ALL="$host_lc_all"
fi
# exec su -s /bin/bash dev -c 'cd "${START_DIR:-/workspace}" && exec "$@"' -- "$@"
cd "${START_DIR:-/workspace}"
exec "$@"