Initial code commit
This commit is contained in:
35
internal/docker/client/Dockerfile
Normal file
35
internal/docker/client/Dockerfile
Normal file
@@ -0,0 +1,35 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
# Prevent interactive prompts during package installation
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Configure apt to be faster and more reliable
|
||||
RUN echo 'Acquire::http::Timeout "30";' > /etc/apt/apt.conf.d/99timeout && \
|
||||
echo 'Acquire::Retries "3";' >> /etc/apt/apt.conf.d/99timeout && \
|
||||
echo 'Acquire::http::Pipeline-Depth "0";' >> /etc/apt/apt.conf.d/99timeout
|
||||
|
||||
# Update package lists and install packages in a single layer for better caching
|
||||
# Use --no-install-recommends to reduce image size and installation time
|
||||
# Group packages to optimize download
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
openssh-client \
|
||||
wireguard-tools \
|
||||
curl \
|
||||
wget \
|
||||
dnsutils \
|
||||
iptables \
|
||||
bash \
|
||||
samba-client \
|
||||
nginx-light \
|
||||
iproute2 \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& mkdir -p /var/log/nginx /var/www/html /etc/nginx/sites-available /etc/nginx/sites-enabled \
|
||||
&& chown -R www-data:www-data /var/www/html /var/log/nginx 2>/dev/null || true
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
CMD ["/bin/bash"]
|
||||
Reference in New Issue
Block a user