mod: готово для запуска в docker для dev
This commit is contained in:
@@ -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
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