GoPlayground/Dockerfile

53 lines
1.4 KiB
Docker
Raw Normal View History

2021-10-23 19:51:48 +00:00
FROM golang:1.17.2
WORKDIR /src
RUN touch shell.sh
2021-11-17 06:32:44 +00:00
RUN \
# gterm \
2021-11-17 17:01:30 +00:00
curl -fsSL https://kumoly.io/attachments/e4bdde2a-4247-446f-a734-df3962c8b83b | tar -C /usr/local/bin/ -xz &&\
2021-11-17 06:32:44 +00:00
# configui \
2021-11-17 17:01:30 +00:00
curl -fsSL https://kumoly.io/attachments/9994192c-eca8-481c-bdb9-3d9f440c5c53 | tar -C /usr/local/bin/ -xz &&\
2021-11-17 06:32:44 +00:00
curl -fsSL https://github.com/caddyserver/caddy/releases/download/v2.4.6/caddy_2.4.6_linux_amd64.tar.gz | tar -C /usr/local/bin/ -xz
2021-11-17 17:06:40 +00:00
RUN echo '#!/bin/bash\n\
2021-11-17 06:32:44 +00:00
echo "starting shell service..."\n\
2021-11-17 17:04:36 +00:00
gterm -addr :8080 -name GoPlayground -arg "--rcfile" -arg <(gterm -profile) &\n\
2021-11-17 06:32:44 +00:00
echo "starting configui..."\n\
configui -log configui.log -f conf.json -bind :8001 &\n\
caddy run --config Caddyfile\n\
' > /entrypoint.sh
RUN echo '\
:8000 {\n\
route /sh/* {\n\
uri strip_prefix /sh\n\
reverse_proxy localhost:8080\n\
}\n\
reverse_proxy localhost:8001\n\
}' > Caddyfile
2021-11-17 17:01:30 +00:00
RUN echo '\
{{ define "links" }}\n\
<a class="button is-white level-item" \n\
href="sh/"\n\
>Shell</a>\n\
{{end}}\n\
' > links.tmpl
2021-10-25 04:28:53 +00:00
RUN echo '{"app_name":"Go Playground","no_reconfig":true \
,"files":[{"path":"main.go","name":"Main","action":"go run main.go","order":-1},{"path":"shell.sh","name":"Shell","action":"bash shell.sh","order":1}] \
2021-11-17 17:01:30 +00:00
,"hide_config":true,"cust":"."}' > conf.json
2021-10-25 04:28:53 +00:00
2021-10-25 04:35:37 +00:00
RUN echo 'package main\n\
\n\
import "fmt"\n\
\n\
func main() {\n\
fmt.Println("Hello, world.")\n\
}\n' > main.go
2021-10-25 04:28:53 +00:00
2021-11-17 17:06:40 +00:00
ENTRYPOINT ["/bin/bash","/entrypoint.sh"]