mod: готово для запуска в docker для dev

This commit is contained in:
2026-03-24 16:29:27 +03:00
parent 6a49ec2e05
commit de01e43633
5 changed files with 93 additions and 0 deletions

View File

@@ -37,3 +37,10 @@ public/media # Медиа файлы НЕ нужны в образе, он
# Mac OS и Synology
.DS_Store
# Project specific
logs/
-design-and-misc/
Dockerfile
.dockerignore
README.md

13
Dockerfile Normal file
View File

@@ -0,0 +1,13 @@
# Используем официальный легковесный образ Nginx на базе Alpine Linux
FROM nginx:alpine
# FROM nginx:nginx:1.25-alpine
# Удаляем стандартную конфигурацию Nginx, чтобы использовать свою
RUN rm /etc/nginx/conf.d/default.conf
# Копируем наш кастомный конфиг для внутреннего Nginx
COPY config/nginx/lpon--internal-nginx.conf /etc/nginx/conf.d/default.conf
# Копируем все содержимое папки 'public' в корневую веб-директорию Nginx
# Теперь index.html, favicons, robots.txt, и папка static/ будут доступны
COPY public/ /usr/share/nginx/html/

View File

@@ -0,0 +1,50 @@
# --- ОПТИМИЗАЦИЯ ПРОИЗВОДИТЕЛЬНОСТИ ---
# sendfile on;
tcp_nopush on;
tcp_nodelay on;
# keepalive_timeout 65;
types_hash_max_size 2048;
# MIME-типы и кодировка по умолчанию
include /etc/nginx/mime.types;
# default_type application/octet-stream;
# Настройки логов
access_log /dev/stdout;
error_log /dev/stderr warn;
# Настройки сжатия gzip
gzip on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_disable "msie6";
gzip_vary on;
gzip_min_length 512;
gzip_types text/plain
text/css
application/json
application/x-javascript
text/xml application/xml
application/xml+rss
text/javascript
application/javascript
application/vnd.ms-fontobject
application/x-font-ttf
font/opentype
image/svg+xml
image/x-icon;
# --- КОНФИГУРАЦИЯ СЕРВЕРА ---
server {
listen 80 default_server;
server_name _;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}

23
docker-compose.yml Normal file
View File

@@ -0,0 +1,23 @@
# Этот файл предназначен для dev-окружения и тестирования. В продакшене используем docker-compose.prod.yml
# В новых версиях Docker Compose можно не указывать версию (даже warning появляется, если указать)
# version: '3.8'
services:
lpon-site:
# Указываем Docker Compose, что образ нужно собрать из Dockerfile в текущей директории
build: .
# image: nginx:1.25-alpine
# Имя контейнера для удобства
container_name: lpon-site
# Политика перезапуска: всегда перезапускать контейнер, если он упал
restart: always
ports:
# Пробрасываем свободный порт 8020 на хосте на стандартный порт 80 внутри контейнера
- "8020:80"
networks:
- lpon-network
networks:
lpon-network:
driver: bridge