From d69e1e3040ff32aac310c7e4b427c8ec04fd975d Mon Sep 17 00:00:00 2001 From: Hereward Cooper Date: Sun, 8 Mar 2026 12:59:11 -0700 Subject: [PATCH] dev_image_proxy_mode --- docker-compose.yaml | 2 ++ reverse_proxy/scripts/system_start.sh | 14 ++++++++++++++ webserver/scripts/system_start.sh | 13 +++++++++++++ 3 files changed, 29 insertions(+) diff --git a/docker-compose.yaml b/docker-compose.yaml index bb9ef02..7aa96d0 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -50,6 +50,7 @@ services: - WG_DB_USER=${WG_DB_USERNAME:-ropewiki} - WG_DB_PASSWORD=${WG_DB_PASSWORD:-thispasswordonlyworksuntildbisrestored} - RW_ROBOTS=${RW_ROBOTS:-robots_dev.txt} + - DEV_IMAGE_PROXY_MODE=${DEV_IMAGE_PROXY_MODE:-false} depends_on: - ropewiki_db volumes: @@ -73,6 +74,7 @@ services: - "443:443" environment: - WG_HOSTNAME=${WG_HOSTNAME:-localhost} + - DEV_IMAGE_PROXY_MODE=${DEV_IMAGE_PROXY_MODE:-false} depends_on: - ropewiki_webserver volumes: diff --git a/reverse_proxy/scripts/system_start.sh b/reverse_proxy/scripts/system_start.sh index 28ca044..895260a 100644 --- a/reverse_proxy/scripts/system_start.sh +++ b/reverse_proxy/scripts/system_start.sh @@ -8,6 +8,20 @@ else echo "Configuring nginx services..." sed -i "s/{{WG_HOSTNAME}}/$WG_HOSTNAME/g" /etc/nginx/services.conf + # Configure image proxy mode if DEV_IMAGE_PROXY_MODE is set. + # https://github.com/RopeWiki/app/wiki/Image-Proxy-Mode + if [ -n "$DEV_IMAGE_PROXY_MODE" ]; then + echo "Configuring DEV_IMAGE_PROXY_MODE..." + sed -i '/server {/r /dev/stdin' /etc/nginx/services.conf <<'EOF' + location /images/ { + proxy_pass https://ropewiki.com/images/; + proxy_set_header Host ropewiki.com; + proxy_ssl_server_name on; + proxy_ssl_name ropewiki.com; + } +EOF + fi + mkdir -p /logs/goaccess/db mkdir -p /logs/nginx touch /logs/nginx/access.log diff --git a/webserver/scripts/system_start.sh b/webserver/scripts/system_start.sh index 9c4d3c1..32a2b2d 100755 --- a/webserver/scripts/system_start.sh +++ b/webserver/scripts/system_start.sh @@ -13,6 +13,19 @@ sed -i "s/{{WG_PROTOCOL}}/$WG_PROTOCOL/g" SiteSpecificSettings.php sed -i "s/{{WG_SECRET_KEY}}/$WG_SECRET_KEY/g" SiteSpecificSettings.php sed -i "s/{{WG_UPGRADE_KEY}}/$WG_UPGRADE_KEY/g" SiteSpecificSettings.php +# Configure image proxy mode if DEV_IMAGE_PROXY_MODE is set. +# https://github.com/RopeWiki/app/wiki/Image-Proxy-Mode +if [ -n "$DEV_IMAGE_PROXY_MODE" ]; then + echo "Configuring DEV_IMAGE_PROXY_MODE..." + cat >> LocalSettings.php <<'EOF' + +# Serve images from production +$wgUploadPath = "https://ropewiki.com/images/"; +$wgThumbPath = "https://ropewiki.com/images/thumb"; +$wgGenerateThumbnailOnParse = false; +EOF +fi + # Configure robots.txt cp "robots/$RW_ROBOTS" robots.txt