Forráskód Böngészése

New Dockerfile and startup script

cttynul 3 éve
szülő
commit
8b8b76bd20
3 módosított fájl, 48 hozzáadás és 30 törlés
  1. 13 14
      Dockerfile
  2. 1 1
      README.md
  3. 34 15
      startup.sh

+ 13 - 14
Dockerfile

@@ -8,23 +8,22 @@ FROM python:3
 
 MAINTAINER richardg867
 LABEL description = "HTTP Proxy for tunneling requests through the Internet Archive Wayback Machine"
+WORKDIR /app
+COPY . /app
+ARG DATE
 
 # Setup config.py
 ENV LISTEN_PORT=8888
-ENV DATE='20011025'
+#ENV DATE=20011025
 ENV DATE_TOLERANCE=365
-ENV GEOCITIES_FIX=True
-ENV QUICK_IMAGES=True
-ENV WAYBACK_API=True
-ENV CONTENT_TYPE_ENCODING=True
-ENV SILENT=False
-ENV SETTINGS_PAGE=True
+ENV GEOCITIES_FIX=true
+ENV QUICK_IMAGES=true
+ENV WAYBACK_API=true
+ENV CONTENT_TYPE_ENCODING=true
+ENV SILENT=false
+ENV SETTINGS_PAGE=true
 
-ADD startup.sh /
-ADD error.html /
-ADD lrudict.py /
-ADD waybackproxy.py /
+EXPOSE 8888
 
-EXPOSE 8080
-
-CMD [ "sh" , "/startup.sh" ]
+CMD [ "sh" , "/app/startup.sh" ]
+#CMD [ "python" , "/app/waybackproxy.py" ]

+ 1 - 1
README.md

@@ -53,7 +53,7 @@ When deploying via Docker, the config.py script can be customized by specifying
 To build:
 
 ```bash
-docker build --no-cache -t waybackproxy .
+docker build --no-cache -f Dockerfile -t waybackproxy .
 ```
 To run:
 

+ 34 - 15
startup.sh

@@ -1,16 +1,35 @@
 #!/bin/sh
-
-echo LISTEN_PORT=$LISTEN_PORT > /config.py
-echo DATE=$DATE >> /config.py
-echo DATE_TOLERANCE=$DATE_TOLERANCE >> /config.py
-echo GEOCITIES_FIX=$GEOCITIES_FIX  >> /config.py
-echo QUICK_IMAGES=$QUICK_IMAGES  >> /config.py
-echo WAYBACK_API=$WAYBACK_API  >> /config.py
-echo CONTENT_TYPE_ENCODING=$CONTENT_TYPE_ENCODING  >> /config.py
-echo SILENT=$SILENT  >> /config.py
-echo SETTINGS_PAGE=$SETTINGS_PAGE  >> /config.py
-
-echo config.py:
-cat /config.py
-
-python /waybackproxy.py
+if [ "${LISTEN_PORT}" ]; then
+    sed -i -e "s/\"LISTEN_PORT\":[^,]*/\"LISTEN_PORT\": ${LISTEN_PORT}/g" /app/config.json
+fi
+if [ "${DATE}" ]; then
+    sed -i -e "s/\"DATE\":[^,]*/\"DATE\": \"${DATE}\"/g" /app/config.json
+fi
+if [ "${DATE_TOLERANCE}" ]; then
+    sed -i -e "s/\"DATE_TOLERANCE\":[^,]*/\"DATE_TOLERANCE\": ${DATE_TOLERANCE}/g" /app/config.json
+fi
+if [ "${GEOCITIES_FIX}" ]; then
+    sed -i -e "s/\"GEOCITIES_FIX\":[^,]*/\"GEOCITIES_FIX\": $GEOCITIES_FIX/g" /app/config.json
+fi
+if [ "${QUICK_IMAGES}" ]; then
+    sed -i -e "s/\"QUICK_IMAGES\":[^,]*/\"QUICK_IMAGES\": $QUICK_IMAGES/g" /app/config.json
+fi
+if [ "${WAYBACK_API}" ]; then
+    sed -i -e "s/\"WAYBACK_API\":[^,]*/\"WAYBACK_API\": $WAYBACK_API/g" /app/config.json
+fi
+if [ "${QUICK_IMAGES}" ]; then
+    sed -i -e "s/\"QUICK_IMAGES\":[^,]*/\"QUICK_IMAGES\": $QUICK_IMAGES/g" /app/config.json
+fi
+if [ "${CONTENT_TYPE_ENCODING}" ]; then
+    sed -i -e "s/\"CONTENT_TYPE_ENCODING\":[^,]*/\"CONTENT_TYPE_ENCODING\": $CONTENT_TYPE_ENCODING/g" /app/config.json
+fi
+if [ "${SILENT}" ]; then
+    sed -i -e "s/\"SILENT\":[^,]*/\"SILENT\": $SILENT/g" /app/config.json
+fi
+if [ "${SETTINGS_PAGE}" ]; then
+    sed -i -e "s/\"SETTINGS_PAGE\":[^,]*/\"SETTINGS_PAGE\": $SETTINGS_PAGE/g" /app/config.json
+fi
+echo "[-] Using this config.json file:"
+cat /app/config.json
+echo "\n[-] Starting proxy server"
+python /app/waybackproxy.py