| FROM cloudflare/cloudflared:latest AS tunnel-provider |
|
|
| FROM docker.io/library/ubuntu:22.04 |
|
|
| ENV DEBIAN_FRONTEND=noninteractive |
|
|
| USER root |
|
|
| COPY --from=tunnel-provider /usr/local/bin/cloudflared /usr/local/bin/cloudflared |
|
|
| RUN apt-get update && apt-get install -y \ |
| openssh-server openssh-client curl wget sudo git python3 \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| RUN mkdir /var/run/sshd |
| RUN echo 'root:628941' | chpasswd |
| RUN sed -i 's/ |
|
|
| RUN echo ' |
| mkdir -p /data/ssh_host\n\ |
| if [ -z "$(ls -A /data/ssh_host)" ]; then\n\ |
| cp -r /etc/ssh/ssh_host_* /data/ssh_host/\n\ |
| else\n\ |
| cp -r /data/ssh_host/* /etc/ssh/\n\ |
| fi\n\ |
| mkdir -p /data/root_home\n\ |
| if [ ! -L /root ]; then\n\ |
| cp -a /root/. /data/root_home/\n\ |
| rm -rf /root\n\ |
| ln -s /data/root_home /root\n\ |
| fi\n\ |
| cloudflared tunnel --no-autoupdate run --token "eyJhIjoiNzU5M2FlOTk2ZDA2NzYyNWJiYmVhYWZlYjU5NTAwZDMiLCJ0IjoiNzI3NzQ0NGMtZWYxOS00MWEzLWI2M2EtNmMyZWFkM2FjOGFjIiwicyI6Ik5EQXlOekV3TURBdE1qWTBOUzAwTkRZeExUZzBOREF0TjJOa09HVXhNemN6WXpVeSJ9" > /var/log/cloudflared.log 2>&1 &\n\ |
| /usr/sbin/sshd\n\ |
| cd /tmp && python3 -m http.server 7860 &\n\ |
| MINI_PID=$!\n\ |
| sleep 30\n\ |
| kill $MINI_PID\n\ |
| while true; do sleep 3600; done\n\ |
| ' > /start.sh && chmod +x /start.sh |
|
|
| EXPOSE 7860 |
|
|
| CMD ["/start.sh"] |
|
|