Fix container startup with mounted config

This commit is contained in:
troogs
2026-10-01 18:56:45 +02:00
parent ea17db45a6
commit 4ff605891c
4 changed files with 12 additions and 10 deletions
+1 -2
View File
@@ -4,5 +4,4 @@ Dockerfile
docker-compose.yml
.env
*.exe
!config/
!config/*.json
config/
+1
View File
@@ -0,0 +1 @@
*.sh text eol=lf
+2 -3
View File
@@ -18,11 +18,10 @@ WORKDIR /app
# Copy binary and static front-end assets
COPY --from=builder /app/server /app/server
COPY --from=builder /app/public /app/public
COPY --from=builder /app/config /app/config.default
COPY start.sh /app/start.sh
RUN chmod +x /app/start.sh
RUN mkdir -p /app/config && chmod +x /app/start.sh
EXPOSE 8080
ENTRYPOINT ["/app/start.sh"]
ENTRYPOINT ["/bin/sh", "/app/start.sh"]
+8 -5
View File
@@ -5,16 +5,19 @@ config_dir="/app/config"
settings_file="$config_dir/appsettings.json"
if [ ! -f "$settings_file" ]; then
mkdir -p "$config_dir"
cp /app/config.default/appsettings.json "$settings_file"
echo "Missing mounted config file: $settings_file" >&2
exit 1
fi
activities_file="$config_dir/activities.json"
available_dates_file="$config_dir/dates_available.json"
booked_dates_file="$config_dir/dates_booked.json"
if [ ! -f "$activities_file" ] && ! grep -q '"activities"' "$settings_file"; then cp /app/config.default/activities.json "$activities_file"; fi
if [ ! -f "$available_dates_file" ] && ! grep -q '"availableDates"' "$settings_file"; then cp /app/config.default/dates_available.json "$available_dates_file"; fi
if [ ! -f "$booked_dates_file" ] && [ ! -f "$config_dir/booked_dates.json" ]; then cp /app/config.default/dates_booked.json "$booked_dates_file"; fi
for config_file in "$activities_file" "$available_dates_file" "$booked_dates_file"; do
if [ ! -f "$config_file" ]; then
echo "Missing mounted config file: $config_file" >&2
exit 1
fi
done
exec /app/server