Add entrypoint script to create .env from Docker environment variables

This commit is contained in:
2025-12-17 12:50:01 +01:00
parent 9ab6347eb5
commit 0d1332b8bf
2 changed files with 38 additions and 0 deletions

View File

@@ -23,6 +23,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
&& curl -o /usr/local/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
&& chmod +x /usr/local/bin/wp
# Copy entrypoint script
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
# Copy application
USER www-data
WORKDIR /var/www/html
@@ -36,3 +40,6 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
CMD curl -fsS http://localhost/ -o /dev/null || exit 1
EXPOSE 80
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["/init"]

31
docker-entrypoint.sh Normal file
View File

@@ -0,0 +1,31 @@
#!/bin/bash
# Erstellt .env aus Docker Environment Variables
ENV_FILE="/var/www/html/.env"
# Nur erstellen wenn nicht existiert
if [ ! -f "$ENV_FILE" ]; then
cat > "$ENV_FILE" << EOF
WP_ENV=${WP_ENV:-production}
WP_HOME=${WP_HOME}
WP_SITEURL=${WP_SITEURL}
DB_NAME=${DB_NAME}
DB_USER=${DB_USER}
DB_PASSWORD=${DB_PASSWORD}
DB_HOST=${DB_HOST}
WP_REDIS_HOST=${WP_REDIS_HOST:-redis}
AUTH_KEY=${AUTH_KEY}
SECURE_AUTH_KEY=${SECURE_AUTH_KEY}
LOGGED_IN_KEY=${LOGGED_IN_KEY}
NONCE_KEY=${NONCE_KEY}
AUTH_SALT=${AUTH_SALT}
SECURE_AUTH_SALT=${SECURE_AUTH_SALT}
LOGGED_IN_SALT=${LOGGED_IN_SALT}
NONCE_SALT=${NONCE_SALT}
EOF
chown www-data:www-data "$ENV_FILE"
echo ".env created from environment variables"
fi
# Original entrypoint ausführen
exec "$@"