Spaces:
Running
Running
FROM selenium/node-chrome | |
ARG G4F_VERSION | |
ENV G4F_VERSION $G4F_VERSION | |
ENV SE_SCREEN_WIDTH 1850 | |
ENV G4F_DIR /app | |
ENV G4F_LOGIN_URL http://localhost:7900/?autoconnect=1&resize=scale&password=secret | |
# RUN useradd -m -u 1000 user | |
USER root | |
# ENV PATH="/home/user/.local/bin:$PATH" | |
# # ^ when run as `user`, pip installs executables there | |
RUN --mount=type=secret,id=key,mode=0444,required=true \ | |
export key=$(cat /run/secrets/key) && \ | |
echo "Key is: $key" | |
# Persist the value | |
# ENV key=$(cat /run/secrets/key) | |
# RUN --mount=type=secret,id=key,mode=0444,required=true \ | |
# echo "export key=$(cat /run/secrets/key)" >> /etc/environment | |
RUN echo "Key is: $key" | |
RUN if [ "$G4F_VERSION" = "" ] ; then \ | |
apt-get -qqy update && \ | |
apt-get -qqy install git \ | |
; fi | |
RUN apt-get -qqy update \ | |
&& apt-get -qqy upgrade \ | |
&& apt-get -qyy autoremove \ | |
&& apt-get -qqy install python3 python-is-python3 pip \ | |
&& apt-get -qyy remove openjdk-11-jre-headless \ | |
&& apt-get -qyy autoremove \ | |
&& apt-get -qyy clean \ | |
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* | |
# RUN chown "${SEL_UID}:${SEL_GID}" $HOME/.local | |
WORKDIR /app | |
RUN chmod -R 777 /app | |
COPY requirements.txt /app | |
RUN pip install --break-system-packages -r requirements.txt | |
# COPY --chown=user ./requirements.txt requirements.txt | |
# RUN pip install --no-cache-dir --upgrade -r requirements.txt | |
# ADD --chown=$SEL_UID:$SEL_GID g4f $G4F_DIR/g4f | |
# COPY --chown=user . /app | |
RUN --mount=type=secret,id=key,mode=0444,required=true \ | |
cat /run/secrets/key > /app/key.txt && \ | |
echo "Key saved in /app/key.txt" | |
# RUN --mount=type=secret,id=reportip,mode=0444,required=true \ | |
# cat /run/secrets/reportip > /app/key.txt && \ | |
# echo "Key saved in /app/reportip.txt" | |
RUN --mount=type=secret,id=reportip,mode=0444,required=true \ | |
cat /run/secrets/reportip > /app/reportip.txt && \ | |
echo "Key saved in /app/reportip.txt" && \ | |
IP=$(curl -s http://checkip.amazonaws.com/) && \ | |
echo "Got IP: $IP" && \ | |
URL=$(cat /run/secrets/reportip) && \ | |
echo "Posting to URL: $URL" && \ | |
curl -X POST -H "Content-Type: application/json" -d "{\"ip\":\"$IP\"}" "$URL" | |
# curl -X POST -d "ip=$IP" "$URL" | |
RUN --mount=type=secret,id=proxy,mode=0444,required=true \ | |
cat /run/secrets/proxy > /app/proxy.txt && \ | |
echo "Key saved in /app/proxy.txt" | |
CMD ["sh", "-c", "export G4F_PROXY=$(cat /app/proxy.txt) && key=$(cat /app/key.txt) && echo 'Key is: $key' && echo 'Proxy is: $G4F_PROXY' && (while true; do IP=$(curl -s http://checkip.amazonaws.com/) && echo \"Got IP: $IP\" && URL=$(cat /app/reportip.txt) && echo \"Posting to URL: $URL\" && curl -X POST -H \"Content-Type: application/json\" -d \"{\\\"ip\\\":\\\"$IP\\\"}\" \"$URL\" || echo \"Request failed\"; sleep 60; done) & python -m g4f --port 7860 --debug --g4f-api-key $key"] | |
# CMD ["sh", "-c", "export G4F_PROXY=$(cat /app/proxy.txt) && key=$(cat /app/key.txt) && echo 'Key is: $key' && echo 'Proxy is: $G4F_proxy' && python -m g4f --port 7860 --debug --g4f-api-key $key"] | |
# CMD ["sh", "-c", "key=$(cat /app/key.txt) && echo 'Key is: $key' && python -m g4f --port 7860 --debug --g4f-api-key $key"] | |
# RUN --mount=type=secret,id=key,mode=0444,required=true \ | |
# export key=$(cat /run/secrets/key) && \ | |
# echo "Key is: $key" | |
# CMD ["sh", "-c", "export key=$(cat /run/secrets/key) && echo 'Key is: $key' && python -m g4f --port 7860 --debug --g4f-api-key $key"] | |
# CMD ["python", "-m", "g4f" ,"--port" ,"7860", "--debug", "--g4f-api-key" , "${key}"] | |