38 lines
912 B
Bash
Executable File
38 lines
912 B
Bash
Executable File
#!/bin/sh
|
|
|
|
set -eu
|
|
|
|
# Disable xdummy if there is no graphics card
|
|
if [ ! -d /dev/dri/ ]; then
|
|
unlink /etc/service/xdummy
|
|
fi
|
|
|
|
# Update guest user password
|
|
if [ -n "${GUEST_USER_PASSWORD-}" ]; then
|
|
printf '%s' "guest:${GUEST_USER_PASSWORD}" | chpasswd
|
|
unset GUEST_USER_PASSWORD
|
|
fi
|
|
|
|
# Dump environment variables
|
|
export-env >> /etc/profile.d/env.sh
|
|
|
|
# Generate self-signed certificate
|
|
if [ ! -f "${RDP_TLS_KEY_PATH}" ] || [ ! -f "${RDP_TLS_CERT_PATH}" ]; then
|
|
KEY_FILE=${RDP_TLS_KEY_PATH}
|
|
CRT_FILE=${RDP_TLS_CERT_PATH}
|
|
CSR_FILE=$(mktemp -u)
|
|
|
|
(umask 077 \
|
|
&& openssl genrsa -out "${KEY_FILE}" 2048 \
|
|
) >/dev/null
|
|
|
|
(umask 022 \
|
|
&& openssl req -new -subj "/CN=$(uname -n)" -key "${KEY_FILE}" -out "${CSR_FILE}" \
|
|
&& openssl x509 -req -days 3650 -signkey "${KEY_FILE}" -in "${CSR_FILE}" -out "${CRT_FILE}" \
|
|
&& rm -f "${CSR_FILE}" \
|
|
) >/dev/null
|
|
fi
|
|
|
|
# Start all services
|
|
exec runsvdir -P /etc/service/
|