mod: готово для запуска в docker для dev
This commit is contained in:
@@ -37,3 +37,10 @@ public/media # Медиа файлы НЕ нужны в образе, он
|
|||||||
|
|
||||||
# Mac OS и Synology
|
# Mac OS и Synology
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
|
# Project specific
|
||||||
|
logs/
|
||||||
|
-design-and-misc/
|
||||||
|
Dockerfile
|
||||||
|
.dockerignore
|
||||||
|
README.md
|
||||||
|
|||||||
13
Dockerfile
Normal file
13
Dockerfile
Normal 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/
|
||||||
50
config/nginx/lpon--internal-nginx.conf
Normal file
50
config/nginx/lpon--internal-nginx.conf
Normal 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
23
docker-compose.yml
Normal 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
|
||||||
Reference in New Issue
Block a user