File size: 1,276 Bytes
4d89218 d6a8f33 f31dae0 4d89218 d6a8f33 1b93113 7af8cd3 d6a8f33 f31dae0 4d89218 7af8cd3 f31dae0 4d89218 d6a8f33 f31dae0 4d89218 bb5a6ec 7af8cd3 bb5a6ec d6a8f33 7af8cd3 d6a8f33 7af8cd3 4d89218 d6a8f33 4d89218 bb5a6ec d6a8f33 7af8cd3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# Use Ubuntu as the base image
FROM ubuntu:latest
# Update package lists and install necessary packages
RUN apt-get update && apt-get install -y \
bash \
wget \
ca-certificates \
sudo
# Clean up APT when done
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# Create /data directory and give permission to user 1001
RUN mkdir -p /data
# Download and install gotty
RUN wget -O gotty.tar.gz https://github.com/yudai/gotty/releases/download/v1.0.1/gotty_linux_amd64.tar.gz \
&& tar -xzvf gotty.tar.gz -C /usr/local/bin/ \
&& chmod +x /usr/local/bin/gotty \
&& rm gotty.tar.gz
# Create user 1001 and set working directory
RUN useradd -u 1001 -d /data user1001 \
&& echo 'user1001 ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/user1001 \
&& chmod 0440 /etc/sudoers.d/user1001
# Switch to user 1001
USER user1001
# Set working directory to /data
WORKDIR /data
# Change ownership of the /data folder
RUN chown -R user1001:user1001 /data
# Create .bashrc file and set PS1 environment variable
RUN echo 'PS1="online-terminal:\\w\\$ "' > /data/.bashrc
# Expose port
EXPOSE 8080
# Use gotty to run bash with the modified PS1 environment variable
CMD ["gotty", "--permit-write", "--port", "3000", "--permit-arguments", "/bin/bash", "--rcfile", "/data/.bashrc"] |