Add signing keys to Docker configuration and update InitializeCommand

This commit is contained in:
netkas 2025-03-19 13:06:43 -04:00
parent bb1e00570e
commit 1f14f7afb4
Signed by: netkas
GPG key ID: 4D8629441B76E4CC
3 changed files with 13 additions and 21 deletions

View file

@ -135,11 +135,12 @@ RUN chmod +x /usr/local/bin/entrypoint.sh
ENV SB_MODE="automated" ENV SB_MODE="automated"
ENV SB_STORAGE_PATH="/etc/socialbox" ENV SB_STORAGE_PATH="/etc/socialbox"
ENV CONFIGLIB_PATH="/etc/config" ENV CONFIGLIB_PATH="/etc/config"
ENV LOGGING_DIRECTORY="/var/log"
ENV LOGLIB_UDP_ENABLED="true" ENV LOGLIB_UDP_ENABLED="true"
ENV LOGLIB_UDP_HOST="127.0.0.1" ENV LOGLIB_UDP_HOST="127.0.0.1"
ENV LOGLIB_UDP_PORT="5131" ENV LOGLIB_UDP_PORT="5131"
ENV LOGLIB_UDP_TRACE_FORMAT="4096" ENV LOGLIB_UDP_TRACE_FORMAT="full"
ENV LOGLIB_CONSOLE_ENABLED="true"
ENV LOGLIB_CONSOLE_TRACE_FORMAT="full"
# Set the entrypoint # Set the entrypoint
ENTRYPOINT ["/usr/bin/bash", "/usr/local/bin/entrypoint.sh"] ENTRYPOINT ["/usr/bin/bash", "/usr/local/bin/entrypoint.sh"]

View file

@ -32,26 +32,21 @@ services:
SB_INSTANCE_NAME: ${SB_COFFEE_NAME:-coffee} # Instance name SB_COFFEE_NAME SB_INSTANCE_NAME: ${SB_COFFEE_NAME:-coffee} # Instance name SB_COFFEE_NAME
SB_INSTANCE_DOMAIN: ${SB_COFFEE_DOMAIN:-coffee.com} # Instance domain SB_COFFEE_DOMAIN SB_INSTANCE_DOMAIN: ${SB_COFFEE_DOMAIN:-coffee.com} # Instance domain SB_COFFEE_DOMAIN
SB_INSTANCE_RPC_ENDPOINT: ${SB_COFFEE_RPC_ENDPOINT:-http://coffee_socialbox:8085/} # Instance RPC endpoint SB_COFFEE_RPC_ENDPOINT SB_INSTANCE_RPC_ENDPOINT: ${SB_COFFEE_RPC_ENDPOINT:-http://coffee_socialbox:8085/} # Instance RPC endpoint SB_COFFEE_RPC_ENDPOINT
SB_LOGGING_CONSOLE_ENABLED: ${SB_LOGGING_CONSOLE_ENABLED:-true}
SB_LOGGING_CONSOLE_LEVEL: ${SB_LOGGING_CONSOLE_LEVEL:-debug}
SB_LOGGING_FILE_ENABLED: ${SB_LOGGING_FILE_ENABLED:-true}
SB_LOGGING_FILE_LEVEL: ${SB_LOGGING_FILE_LEVEL:-debug}
SB_SECURITY_DISPLAY_INTERNAL_EXCEPTIONS: 'true' SB_SECURITY_DISPLAY_INTERNAL_EXCEPTIONS: 'true'
SB_CRYPTO_KEYPAIR_EXPIRES: ${SB_CRYPTO_KEYPAIR_EXPIRES} SB_CRYPTO_KEYPAIR_EXPIRES: ${SB_CRYPTO_KEYPAIR_EXPIRES}
SB_CRYPTO_ENCRYPTION_KEYS_COUNT: ${SB_CRYPTO_ENCRYPTION_KEYS_COUNT:-10}
SB_CRYPTO_ENCRYPTION_KEYS_ALGORITHM: ${SB_CRYPTO_ENCRYPTION_KEYS_ALGORITHM:-xchacha20}
SB_CRYPTO_TRANSPORT_ENCRYPTION_ALGORITHM: ${SB_CRYPTO_TRANSPORT_ENCRYPTION_ALGORITHM:-chacha20}
SB_DATABASE_HOST: coffee_mariadb SB_DATABASE_HOST: coffee_mariadb
SB_DATABASE_USERNAME: ${MYSQL_USER:-socialbox} SB_DATABASE_USERNAME: ${MYSQL_USER:-socialbox}
SB_DATABASE_PASSWORD: ${MYSQL_PASSWORD:-socialbox} SB_DATABASE_PASSWORD: ${MYSQL_PASSWORD:-socialbox}
SB_DATABASE_NAME: ${MYSQL_DATABASE:-socialbox} SB_DATABASE_NAME: ${MYSQL_DATABASE:-socialbox}
SB_CACHE_ENABLED: ${SB_CACHE_ENABLED:-true} SB_CACHE_ENABLED: ${SB_CACHE_ENABLED:-true}
SB_CACHE_ENGINE: redis
SB_CACHE_HOST: coffee_redis SB_CACHE_HOST: coffee_redis
SB_CACHE_PORT: ${SB_CACHE_PORT:-6379} SB_CACHE_PORT: ${SB_CACHE_PORT:-6379}
SB_CACHE_USERNAME: ${SB_CACHE_USERNAME:-root} SB_CACHE_USERNAME: ${SB_CACHE_USERNAME:-root}
SB_CACHE_PASSWORD: ${SB_CACHE_PASSWORD:-root} SB_CACHE_PASSWORD: ${SB_CACHE_PASSWORD:-root}
SB_CACHE_DATABASE: ${SB_CACHE_DATABASE:-0} SB_CACHE_DATABASE: ${SB_CACHE_DATABASE:-0}
# Signing keys for this server
SB_SIGNING_PUBLIC_KEY: sig:g59Cf8j1wmQmRg1MkveYbpdiZ-1-_hFU9eRRJmQAwmc
SB_SIGNING_PRIVATE_KEY: sig:tTVe59Ko5XuwgS8PneR92FAOqbgSHTKYn8U-lQRB9KODn0J_yPXCZCZGDUyS95hul2Jn7X7-EVT15FEmZADCZw
# Mocking, required for testing without the need for configuring actual DNS records # Mocking, required for testing without the need for configuring actual DNS records
# Usage: SB_INSTANCE_DNS_MOCK_<INSTANCE_NAME>: <DOMAIN> <TXT_RECORD> # Usage: SB_INSTANCE_DNS_MOCK_<INSTANCE_NAME>: <DOMAIN> <TXT_RECORD>
# Environment Variable name is ignored, only the value is used with the prefix being used to detect # Environment Variable name is ignored, only the value is used with the prefix being used to detect
@ -134,26 +129,20 @@ services:
SB_INSTANCE_NAME: ${SB_TEAPOT_NAME:-teapot} # Instance name SB_TEAPOT_NAME SB_INSTANCE_NAME: ${SB_TEAPOT_NAME:-teapot} # Instance name SB_TEAPOT_NAME
SB_INSTANCE_DOMAIN: ${SB_TEAPOT_DOMAIN:-teapot.com} # Instance domain SB_TEAPOT_DOMAIN SB_INSTANCE_DOMAIN: ${SB_TEAPOT_DOMAIN:-teapot.com} # Instance domain SB_TEAPOT_DOMAIN
SB_INSTANCE_RPC_ENDPOINT: ${SB_TEAPOT_RPC_ENDPOINT:-http://teapot_socialbox:8085/} # Instance RPC endpoint SB_TEAPOT_RPC_ENDPOINT SB_INSTANCE_RPC_ENDPOINT: ${SB_TEAPOT_RPC_ENDPOINT:-http://teapot_socialbox:8085/} # Instance RPC endpoint SB_TEAPOT_RPC_ENDPOINT
SB_LOGGING_CONSOLE_ENABLED: ${SB_LOGGING_CONSOLE_ENABLED:-true}
SB_LOGGING_CONSOLE_LEVEL: ${SB_LOGGING_CONSOLE_LEVEL:-debug}
SB_LOGGING_FILE_ENABLED: ${SB_LOGGING_FILE_ENABLED:-true}
SB_LOGGING_FILE_LEVEL: ${SB_LOGGING_FILE_LEVEL:-debug}
SB_SECURITY_DISPLAY_INTERNAL_EXCEPTIONS: 'true' SB_SECURITY_DISPLAY_INTERNAL_EXCEPTIONS: 'true'
SB_CRYPTO_KEYPAIR_EXPIRES: ${SB_CRYPTO_KEYPAIR_EXPIRES}
SB_CRYPTO_ENCRYPTION_KEYS_COUNT: ${SB_CRYPTO_ENCRYPTION_KEYS_COUNT:-10}
SB_CRYPTO_ENCRYPTION_KEYS_ALGORITHM: ${SB_CRYPTO_ENCRYPTION_KEYS_ALGORITHM:-xchacha20}
SB_CRYPTO_TRANSPORT_ENCRYPTION_ALGORITHM: ${SB_CRYPTO_TRANSPORT_ENCRYPTION_ALGORITHM:-chacha20}
SB_DATABASE_HOST: teapot_mariadb SB_DATABASE_HOST: teapot_mariadb
SB_DATABASE_USERNAME: ${MYSQL_USER:-socialbox} SB_DATABASE_USERNAME: ${MYSQL_USER:-socialbox}
SB_DATABASE_PASSWORD: ${MYSQL_PASSWORD:-socialbox} SB_DATABASE_PASSWORD: ${MYSQL_PASSWORD:-socialbox}
SB_DATABASE_NAME: ${MYSQL_DATABASE:-socialbox} SB_DATABASE_NAME: ${MYSQL_DATABASE:-socialbox}
SB_CACHE_ENABLED: ${SB_CACHE_ENABLED:-true} SB_CACHE_ENABLED: ${SB_CACHE_ENABLED:-true}
SB_CACHE_ENGINE: redis
SB_CACHE_HOST: teapot_redis SB_CACHE_HOST: teapot_redis
SB_CACHE_PORT: ${SB_CACHE_PORT:-6379} SB_CACHE_PORT: ${SB_CACHE_PORT:-6379}
SB_CACHE_USERNAME: ${SB_CACHE_USERNAME:-root} SB_CACHE_USERNAME: ${SB_CACHE_USERNAME:-root}
SB_CACHE_PASSWORD: ${SB_CACHE_PASSWORD:-root} SB_CACHE_PASSWORD: ${SB_CACHE_PASSWORD:-root}
SB_CACHE_DATABASE: ${SB_CACHE_DATABASE:-0} SB_CACHE_DATABASE: ${SB_CACHE_DATABASE:-0}
# Signing keys for this server
SB_SIGNING_PUBLIC_KEY: sig:MDXUuripAo_IAv-EZTEoFhpIdhsXxfMLNunSnQzxYiY
SB_SIGNING_PRIVATE_KEY: sig:kPfGxpsnisJIp5pKuD1AI7-T1bLk1S-EGOr7jBq5AO4wNdS6uKkCj8gC_4RlMSgWGkh2GxfF8ws26dKdDPFiJg
# Mocking, required for testing without the need for configuring actual DNS records # Mocking, required for testing without the need for configuring actual DNS records
# Usage: SB_INSTANCE_DNS_MOCK_<INSTANCE_NAME>: <DOMAIN> <TXT_RECORD> # Usage: SB_INSTANCE_DNS_MOCK_<INSTANCE_NAME>: <DOMAIN> <TXT_RECORD>
# Environment Variable name is ignored, only the value is used with the prefix being used to detect # Environment Variable name is ignored, only the value is used with the prefix being used to detect

View file

@ -202,6 +202,8 @@
// Security & Cryptography Configuration // Security & Cryptography Configuration
'SB_SECURITY_DISPLAY_INTERNAL_EXCEPTIONS' => 'security.display_internal_exceptions', 'SB_SECURITY_DISPLAY_INTERNAL_EXCEPTIONS' => 'security.display_internal_exceptions',
'SB_SIGNING_PUBLIC_KEY' => 'cryptography.host_public_key',
'SB_SIGNING_PRIVATE_KEY' => 'cryptography.host_private_key',
'SB_CRYPTO_KEYPAIR_EXPIRES' => 'cryptography.host_keypair_expires', 'SB_CRYPTO_KEYPAIR_EXPIRES' => 'cryptography.host_keypair_expires',
'SB_CRYPTO_ENCRYPTION_KEYS_COUNT' => 'cryptography.encryption_keys_count', 'SB_CRYPTO_ENCRYPTION_KEYS_COUNT' => 'cryptography.encryption_keys_count',
'SB_CRYPTO_ENCRYPTION_KEYS_ALGORITHM' => 'cryptography.encryption_keys_algorithm', 'SB_CRYPTO_ENCRYPTION_KEYS_ALGORITHM' => 'cryptography.encryption_keys_algorithm',
@ -215,7 +217,6 @@
'SB_DATABASE_NAME' => 'database.name', 'SB_DATABASE_NAME' => 'database.name',
'SB_CACHE_ENABLED' => 'cache.enabled', 'SB_CACHE_ENABLED' => 'cache.enabled',
'SB_CACHE_ENGINE' => 'cache.engine',
'SB_CACHE_HOST' => 'cache.host', 'SB_CACHE_HOST' => 'cache.host',
'SB_CACHE_PORT' => 'cache.port', 'SB_CACHE_PORT' => 'cache.port',
'SB_CACHE_USERNAME' => 'cache.username', 'SB_CACHE_USERNAME' => 'cache.username',
@ -236,11 +237,12 @@
case 'SB_INSTANCE_NAME': case 'SB_INSTANCE_NAME':
case 'SB_CRYPTO_ENCRYPTION_KEYS_ALGORITHM': case 'SB_CRYPTO_ENCRYPTION_KEYS_ALGORITHM':
case 'SB_CRYPTO_TRANSPORT_ENCRYPTION_ALGORITHM': case 'SB_CRYPTO_TRANSPORT_ENCRYPTION_ALGORITHM':
case 'SB_CACHE_ENGINE':
case 'SB_CACHE_HOST': case 'SB_CACHE_HOST':
case 'SB_CACHE_USERNAME': case 'SB_CACHE_USERNAME':
case 'SB_CACHE_PASSWORD': case 'SB_CACHE_PASSWORD':
case 'SB_CACHE_DATABASE': case 'SB_CACHE_DATABASE':
case 'SB_SIGNING_PUBLIC_KEY':
case 'SB_SIGNING_PRIVATE_KEY':
if($variable !== false) if($variable !== false)
{ {
Configuration::getConfigurationLib()->set($config, $variable); Configuration::getConfigurationLib()->set($config, $variable);