| FROM ubuntu:22.04 |
|
|
| ENV DEBIAN_FRONTEND=noninteractive |
|
|
| |
| RUN apt-get update && apt-get install -y \ |
| wget \ |
| curl \ |
| ca-certificates \ |
| libwebsockets15 \ |
| tini \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN ARCH=$(uname -m) && \ |
| if [ "$ARCH" = "x86_64" ]; then DL_ARCH="x86_64"; else DL_ARCH="aarch64"; fi && \ |
| wget -q -O /usr/local/bin/ttyd \ |
| https://github.com/tsl0922/ttyd/releases/download/1.7.7/ttyd.${DL_ARCH} && \ |
| chmod +x /usr/local/bin/ttyd |
|
|
| |
| RUN mkdir -p /data && chmod 777 /data |
| WORKDIR /data |
|
|
| |
| ENV APP_PORT=7860 |
| |
| ENV TERMINAL_PASSWORD="changeme123" |
|
|
| EXPOSE 7860 |
|
|
| |
| HEALTHCHECK --interval=15s --timeout=5s --start-period=30s --retries=3 \ |
| CMD curl -sf -u admin:${TERMINAL_PASSWORD} http://localhost:${APP_PORT}/ || exit 1 |
|
|
| ENTRYPOINT ["/usr/bin/tini", "--"] |
|
|
| |
| CMD ["/usr/local/bin/ttyd", \ |
| "--writable", \ |
| "--interface", "0.0.0.0", \ |
| "--port", "${APP_PORT}", \ |
| "--credential", "admin:changeme123", \ |
| "bash"] |