init
This commit is contained in:
commit
618c9cf73c
86
Dockerfile
Normal file
86
Dockerfile
Normal file
@ -0,0 +1,86 @@
|
||||
FROM nginx
|
||||
|
||||
# set work dir
|
||||
WORKDIR /etc/nginx/
|
||||
|
||||
# Set build shell to bash, default has has some issues sometimes
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
|
||||
# Update packges, remove nginx, default configs and install nginx-extras and other required packages
|
||||
RUN apt-get update \
|
||||
&& apt-get upgrade -y \
|
||||
&& apt-get purge nginx -y \
|
||||
&& rm -rvf /etc/default/nginx /etc/init.d/nginx /etc/init.d/nginx /etc/nginx/ \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
nginx-extras \
|
||||
iputils-ping \
|
||||
ca-certificates \
|
||||
wget \
|
||||
curl \
|
||||
nano \
|
||||
vim \
|
||||
locales \
|
||||
&& apt-get autoremove -y \
|
||||
&& apt-get clean -y
|
||||
|
||||
# Set environment variables and generate locale for locale
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US:en
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen \
|
||||
&& locale-gen
|
||||
|
||||
# Generate fake ssl to drop invalid connections and generate default configs
|
||||
RUN mkdir -pv /etc/nginx/ssl/ \
|
||||
&& echo -e "\n\n\n\n\n\n" | openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /etc/nginx/ssl/drop.key -out /etc/nginx/ssl/drop.crt \
|
||||
&& rm -v /etc/nginx/sites-enabled/default \
|
||||
&& echo 'server { \
|
||||
listen 80 default_server; \
|
||||
listen [::]:80 default_server; \
|
||||
listen 443 ssl default_server; \
|
||||
listen [::]:443 ssl default_server; \
|
||||
\
|
||||
ssl_certificate /etc/nginx/ssl/drop.crt; \
|
||||
ssl_certificate_key /etc/nginx/ssl/drop.key; \
|
||||
\
|
||||
return 444; \
|
||||
}' > /etc/nginx/conf.d/drop.conf \
|
||||
&& echo 'user www-data; \
|
||||
worker_processes auto; \
|
||||
pid /run/nginx.pid; \
|
||||
error_log /dev/sdtout; \
|
||||
include /etc/nginx/modules-enabled/*.conf; \
|
||||
\
|
||||
events { \
|
||||
worker_connections 768; \
|
||||
} \
|
||||
\
|
||||
http { \
|
||||
sendfile on; \
|
||||
tcp_nopush on; \
|
||||
types_hash_max_size 2048; \
|
||||
\
|
||||
include /etc/nginx/mime.types; \
|
||||
default_type application/octet-stream; \
|
||||
\
|
||||
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; \
|
||||
ssl_prefer_server_ciphers on; \
|
||||
\
|
||||
access_log /dev/stdout; \
|
||||
\
|
||||
include /etc/nginx/conf.d/*.conf; \
|
||||
include /etc/nginx/sites-enabled/*; \
|
||||
}' \
|
||||
> /etc/nginx/nginx.conf
|
||||
|
||||
|
||||
|
||||
# Install ngxtop
|
||||
RUN apt-get -y --no-install-recommends install python-is-python3 pipx \
|
||||
&& pipx install ngxtop \
|
||||
&& rm -rf ~/.cache/ \
|
||||
&& apt-get auto-remove -y \
|
||||
&& apt-get clean -y
|
||||
|
||||
# clean up
|
||||
RUN rm -rfv /var/lib/apt/lists /var/lib/dpkg/info
|
5
compose.yml
Normal file
5
compose.yml
Normal file
@ -0,0 +1,5 @@
|
||||
services:
|
||||
nginx:
|
||||
build: .
|
||||
hostname: nginx
|
||||
image: git.shihaam.dev/dockerfiles/nginx-full
|
Loading…
x
Reference in New Issue
Block a user