mirror of
https://github.com/aliasvault/aliasvault.git
synced 2026-03-28 03:22:50 -04:00
Fix private email domain init (#1098)
This commit is contained in:
committed by
Leendert de Borst
parent
6577021bd7
commit
daccab9bcc
@@ -41,7 +41,10 @@ var config = new Config();
|
||||
var publicRegistrationEnabled = Environment.GetEnvironmentVariable("PUBLIC_REGISTRATION_ENABLED") ?? "false";
|
||||
config.PublicRegistrationEnabled = bool.Parse(publicRegistrationEnabled);
|
||||
|
||||
var privateEmailDomains = Environment.GetEnvironmentVariable("PRIVATE_EMAIL_DOMAINS")?.Split(",").Select(d => d.Trim());
|
||||
var privateEmailDomains = Environment.GetEnvironmentVariable("PRIVATE_EMAIL_DOMAINS")?
|
||||
.Split(",", StringSplitOptions.RemoveEmptyEntries)
|
||||
.Select(d => d.Trim())
|
||||
.Where(d => !string.IsNullOrWhiteSpace(d));
|
||||
config.PrivateEmailDomains = privateEmailDomains?.ToList() ?? new List<string>();
|
||||
|
||||
var ipLoggingEnabled = Environment.GetEnvironmentVariable("IP_LOGGING_ENABLED") ?? "false";
|
||||
|
||||
@@ -24,12 +24,6 @@ builder.Configuration.AddJsonFile($"appsettings.{builder.HostEnvironment.Environ
|
||||
|
||||
var config = new Config();
|
||||
builder.Configuration.Bind(config);
|
||||
|
||||
if (config.PrivateEmailDomains == null || config.PrivateEmailDomains.Count == 0)
|
||||
{
|
||||
throw new KeyNotFoundException("PrivateEmailDomains is not set in the configuration.");
|
||||
}
|
||||
|
||||
builder.Services.AddSingleton(config);
|
||||
|
||||
// Add localization services
|
||||
|
||||
@@ -29,8 +29,13 @@ fi
|
||||
# The app will use a relative URL instead (base url + "/api/" which is the default for the Docker setup).
|
||||
sed -i "s|\"ApiUrl\": \"http://localhost:5092\",||g" /usr/share/nginx/html/appsettings.json
|
||||
|
||||
# Convert comma-separated list to JSON array
|
||||
json_array=$(echo $PRIVATE_EMAIL_DOMAINS | awk '{split($0,a,","); printf "["; for(i=1;i<=length(a);i++) {printf "\"%s\"", a[i]; if(i<length(a)) printf ","} printf "]"}')
|
||||
# Handle empty PRIVATE_EMAIL_DOMAINS by defaulting to empty array
|
||||
if [ -z "$PRIVATE_EMAIL_DOMAINS" ]; then
|
||||
json_array="[]"
|
||||
else
|
||||
# Convert comma-separated list to JSON array
|
||||
json_array=$(echo $PRIVATE_EMAIL_DOMAINS | awk '{split($0,a,","); printf "["; for(i=1;i<=length(a);i++) {printf "\"%s\"", a[i]; if(i<length(a)) printf ","} printf "]"}')
|
||||
fi
|
||||
|
||||
# Use sed to update the PrivateEmailDomains field in appsettings.json
|
||||
sed -i.bak "s|\"PrivateEmailDomains\": \[.*\]|\"PrivateEmailDomains\": $json_array|" /usr/share/nginx/html/appsettings.json
|
||||
|
||||
@@ -20,23 +20,23 @@ services:
|
||||
admin:
|
||||
image: aliasvault-admin
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: ../apps/server/AliasVault.Admin/Dockerfile
|
||||
context: .
|
||||
dockerfile: apps/server/AliasVault.Admin/Dockerfile
|
||||
|
||||
reverse-proxy:
|
||||
image: aliasvault-reverse-proxy
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: ../apps/server/Dockerfile
|
||||
context: .
|
||||
dockerfile: apps/server/Dockerfile
|
||||
|
||||
smtp:
|
||||
image: aliasvault-smtp
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: ../apps/server/Services/AliasVault.SmtpService/Dockerfile
|
||||
context: .
|
||||
dockerfile: apps/server/Services/AliasVault.SmtpService/Dockerfile
|
||||
|
||||
task-runner:
|
||||
image: aliasvault-task-runner
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: ../apps/server/Services/AliasVault.TaskRunner/Dockerfile
|
||||
context: .
|
||||
dockerfile: apps/server/Services/AliasVault.TaskRunner/Dockerfile
|
||||
|
||||
@@ -4,8 +4,8 @@ services:
|
||||
ports:
|
||||
- "5433:5432"
|
||||
volumes:
|
||||
- ../database/postgres-dev:/var/lib/postgresql/data:rw
|
||||
- ../apps/server/Databases/AliasServerDb/postgresql.conf:/etc/postgresql/postgresql.conf
|
||||
- ./database/postgres-dev:/var/lib/postgresql/data:rw
|
||||
- ./apps/server/Databases/AliasServerDb/postgresql.conf:/etc/postgresql/postgresql.conf
|
||||
environment:
|
||||
- POSTGRES_DB=aliasvault
|
||||
- POSTGRES_USER=aliasvault
|
||||
|
||||
@@ -2705,7 +2705,7 @@ check_and_populate_env() {
|
||||
fi
|
||||
|
||||
# PRIVATE_EMAIL_DOMAINS
|
||||
if ! grep -q "^PRIVATE_EMAIL_DOMAINS=" "$ENV_FILE" || [ -z "$(grep "^PRIVATE_EMAIL_DOMAINS=" "$ENV_FILE" | cut -d '=' -f2)" ]; then
|
||||
if ! grep -q "^PRIVATE_EMAIL_DOMAINS=" "$ENV_FILE"; then
|
||||
update_env_var "PRIVATE_EMAIL_DOMAINS" ""
|
||||
printf " Set PRIVATE_EMAIL_DOMAINS\n"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user