Add Pi-hole with AdGuard DOH/DOT integration, reorganize swarm stacks, add DNS/n8n docs
This commit is contained in:
75
builds/ubuntu-unbound/Dockerfile
Normal file
75
builds/ubuntu-unbound/Dockerfile
Normal file
@@ -0,0 +1,75 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
# Avoid prompts during package installation
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV TZ=UTC
|
||||
|
||||
# Set ZSH as default shell
|
||||
ENV SHELL=/usr/bin/zsh
|
||||
|
||||
# Install essential packages
|
||||
RUN apt update && apt install -y \
|
||||
# DNS and networking
|
||||
unbound \
|
||||
dnsutils \
|
||||
bind9-utils \
|
||||
net-tools \
|
||||
iputils-ping \
|
||||
traceroute \
|
||||
curl \
|
||||
wget \
|
||||
# SSH server
|
||||
openssh-server \
|
||||
# Shell and utilities
|
||||
zsh \
|
||||
git \
|
||||
vim \
|
||||
nano \
|
||||
htop \
|
||||
tmux \
|
||||
tree \
|
||||
ncdu \
|
||||
# System tools
|
||||
sudo \
|
||||
ca-certificates \
|
||||
gnupg \
|
||||
lsb-release \
|
||||
software-properties-common \
|
||||
# Build tools (useful for compiling)
|
||||
build-essential \
|
||||
# Process management
|
||||
supervisor \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Oh My Zsh (for root)
|
||||
RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
|
||||
|
||||
# Set ZSH as default shell for root
|
||||
RUN chsh -s /usr/bin/zsh root
|
||||
|
||||
# Configure SSH
|
||||
RUN mkdir /var/run/sshd && \
|
||||
# Change SSH port to 2222
|
||||
sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config && \
|
||||
# Enable root login (change to 'no' if you want to create a separate user)
|
||||
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \
|
||||
# SSH login fix for container
|
||||
sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
|
||||
|
||||
# Set a default root password (CHANGE THIS!)
|
||||
RUN echo 'root:changeme123' | chpasswd
|
||||
|
||||
# Create necessary directories
|
||||
RUN mkdir -p /var/log/supervisor /config/unbound /config/supervisor
|
||||
|
||||
# Copy supervisor configuration
|
||||
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||
|
||||
# Expose ports
|
||||
EXPOSE 2222 5335
|
||||
|
||||
# Working directory
|
||||
WORKDIR /config
|
||||
|
||||
# Start supervisor
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
|
||||
Reference in New Issue
Block a user