|
|
|
FROM ubuntu:latest |
|
|
|
|
|
RUN apt-get update && apt-get install -y \ |
|
bash \ |
|
wget \ |
|
ca-certificates \ |
|
sudo \ |
|
curl \ |
|
python3 \ |
|
python3-venv \ |
|
build-essential \ |
|
nodejs \ |
|
npm \ |
|
&& apt-get clean \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
RUN python3 -m venv /opt/venv |
|
|
|
|
|
RUN /opt/venv/bin/pip install --upgrade pip setuptools |
|
|
|
|
|
RUN /opt/venv/bin/pip install nodeenv |
|
RUN . /opt/venv/bin/activate && nodeenv -p --node=18.20.4 |
|
|
|
|
|
RUN . /opt/venv/bin/activate && npm install -g wetty |
|
|
|
|
|
RUN mkdir -p /data && chown -R 1001:1001 /data |
|
|
|
|
|
RUN useradd -u 1001 -d /data -m -s /bin/bash user1001 |
|
|
|
|
|
RUN usermod -aG sudo user1001 |
|
|
|
|
|
RUN echo 'Defaults:user1001 !requiretty' >> /etc/sudoers |
|
RUN echo 'user1001 ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers |
|
|
|
|
|
USER 1001 |
|
WORKDIR /data |
|
|
|
|
|
EXPOSE 3000 |
|
|
|
|
|
CMD ["/opt/venv/bin/wetty", "--base", "/wetty", "--command", "/bin/bash"] |
|
|
|
|
|
RUN echo 'PS1="online-terminal:\\w\\$ "' > /data/.bashrc |
|
|