36 lines
1.8 KiB
Docker
36 lines
1.8 KiB
Docker
# Use a lightweight server
|
|
FROM nginx:alpine
|
|
|
|
# Install bash for the script execution
|
|
RUN apk add --no-cache bash
|
|
|
|
# Set working directory
|
|
WORKDIR /usr/share/nginx/html
|
|
|
|
# Copy all the application files
|
|
COPY . .
|
|
|
|
# Create a simple script to generate config.env.js
|
|
RUN echo '#!/bin/sh' > /usr/share/nginx/html/docker-generate-config.sh && \
|
|
echo 'echo "// config.env.js - Generated from .env" > config.env.js' >> /usr/share/nginx/html/docker-generate-config.sh && \
|
|
echo 'echo "// This file contains environment variables for the PWA" >> config.env.js' >> /usr/share/nginx/html/docker-generate-config.sh && \
|
|
echo 'echo "// Generated on $(date)" >> config.env.js' >> /usr/share/nginx/html/docker-generate-config.sh && \
|
|
echo 'echo "" >> config.env.js' >> /usr/share/nginx/html/docker-generate-config.sh && \
|
|
echo 'echo "window.ENV_CONFIG = {" >> config.env.js' >> /usr/share/nginx/html/docker-generate-config.sh && \
|
|
echo 'grep -v "^#" .env | grep "=" | while read line; do' >> /usr/share/nginx/html/docker-generate-config.sh && \
|
|
echo ' key=$(echo $line | cut -d= -f1)' >> /usr/share/nginx/html/docker-generate-config.sh && \
|
|
echo ' value=$(echo $line | cut -d= -f2-)' >> /usr/share/nginx/html/docker-generate-config.sh && \
|
|
echo ' echo " $key: \"$value\"," >> config.env.js' >> /usr/share/nginx/html/docker-generate-config.sh && \
|
|
echo 'done' >> /usr/share/nginx/html/docker-generate-config.sh && \
|
|
echo 'echo "};" >> config.env.js' >> /usr/share/nginx/html/docker-generate-config.sh && \
|
|
chmod +x /usr/share/nginx/html/docker-generate-config.sh
|
|
|
|
# Generate config.env.js from .env
|
|
RUN /usr/share/nginx/html/docker-generate-config.sh
|
|
|
|
# Remove the .env file and the generation script for security
|
|
RUN rm .env docker-generate-config.sh
|
|
|
|
# Expose port 80
|
|
EXPOSE 80
|