diff --git a/entrypoint.sh b/entrypoint.sh index b92d525..378c2e9 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,24 +1,10 @@ #!/bin/bash -LOCAL_IP=$(hostname --all-ip-addresses | awk '{ print $1 }') PUBLIC_IP=$(curl https://ipinfo.io/ip --silent) HOSTNAME=$(hostname) +CONFIG_FILE=/pds/pds.env function main { - # pds hostname must be the same as the hostname of the container - if [[ "${PDS_HOSTNAME}" != "${HOSTNAME}" ]]; then - echo "PDS_HOSTNAME must be the same as the hostname of the container" - echo "Set the hostname for the container before running." - echo "Current hostname: ${HOSTNAME}" - echo "PDS_HOSTNAME: ${PDS_HOSTNAME}" - exit 1 - fi - - if [[ -z "${PDS_HOSTNAME}" ]]; then - echo "No public DNS address specified" - exit 1 - fi - if [[ -z "${PDS_JWT_SECRET}" ]]; then echo "PDS_JWT_SECRET not specified" exit 1 @@ -34,19 +20,29 @@ function main { exit 1 fi + # set PDS_HOSTNAME to hostname if not set + if [[ -z "${PDS_HOSTNAME}" ]]; then + echo "PDS_HOSTNAME not specified" + exit 1 + fi + + # create the config if it does not exist + if [[ ! -f ${CONFIG_FILE} ]]; then + echo "PDS_JWT_SECRET=${PDS_JWT_SECRET}" >${CONFIG_FILE} + echo "PDS_ADMIN_PASSWORD=${PDS_ADMIN_PASSWORD}" >>${CONFIG_FILE} + echo "PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=${PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX}" >>${CONFIG_FILE} + echo "PDS_HOSTNAME=${PDS_HOSTNAME}" >>${CONFIG_FILE} + echo "PDS_CRAWLERS=https://bsky.network" >>${CONFIG_FILE} + fi + cat <