File size: 3,532 Bytes
65db63d
189cc3c
ac8a3b2
bce101d
1c29358
 
ac8a3b2
1c29358
 
 
 
 
ac8a3b2
 
 
 
 
28cf01f
d02a131
 
 
 
558edbf
98b66c9
41ea25d
6f7b3e5
d02a131
 
 
2e4911f
 
41ea25d
 
ac8a3b2
 
 
 
 
1c29358
ac8a3b2
 
 
 
 
 
 
 
 
1255f01
ac8a3b2
 
c01e879
ac8a3b2
4ce089b
ac8a3b2
c01e879
9858ab2
ac8a3b2
 
c01e879
 
 
ac8a3b2
 
 
 
 
 
189cc3c
ff72da4
382ccae
011763b
 
 
b01fd35
 
 
 
ef2077d
b141752
dcbe28b
b01fd35
 
 
790fe07
 
e0e4db8
 
 
 
 
b01fd35
ef2077d
c612cd7
cf401b6
 
c612cd7
 
011763b
 
 
 
 
67b9adf
a9aec00
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
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}"]