Files
platform/src/servers/api/terminal/Dockerfile.terminal-sidecar
T
2026-02-19 18:01:08 +00:00

50 lines
1.4 KiB
Docker

FROM imbios/bun-node:22-slim
RUN apt-get update \
&& apt-get install -y \
python3 make g++ zsh git curl wget ca-certificates \
fortune-mod cowsay sudo gosu \
zip unzip tree btop net-tools tmux \
&& apt-get clean
RUN curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz \
&& tar -C /opt -xzf nvim-linux-x86_64.tar.gz \
&& rm nvim-linux-x86_64.tar.gz
ENV PATH="/opt/nvim-linux-x86_64/bin:${PATH}"
RUN git clone --depth 1 https://github.com/LazyVim/starter /opt/lazyvim-starter \
&& rm -rf /opt/lazyvim-starter/.git
WORKDIR /app
COPY pty-sidecar.mjs /app/pty-sidecar.mjs
COPY entrypoint.sh /app/entrypoint.sh
COPY templates /opt/terminal-templates
RUN npm init -y \
&& npm install ws@8.18.1 node-pty@1.1.0
RUN curl -fsSL https://starship.rs/install.sh | sh -s -- -y -b /usr/local/bin
RUN git clone --depth 1 https://github.com/ohmyzsh/ohmyzsh.git /opt/oh-my-zsh
ENV EZA_VERSION=0.18.15
RUN curl -fsSL "https://github.com/eza-community/eza/releases/download/v${EZA_VERSION}/eza_x86_64-unknown-linux-gnu.tar.gz" -o /tmp/eza.tar.gz \
&& tar -xzf /tmp/eza.tar.gz -C /tmp \
&& mv /tmp/eza /usr/local/bin/eza \
&& chmod +x /usr/local/bin/eza \
&& rm -rf /tmp/eza.tar.gz /tmp/completions /tmp/man
RUN mkdir -p /home/officer
WORKDIR /home/officer
ENV TERMINAL_PTY_PORT=5337
ENV PATH="/usr/games:${PATH}"
EXPOSE 5337
ENTRYPOINT ["/app/entrypoint.sh"]