50 lines
1.4 KiB
Docker
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"]
|