diff --git a/Dockerfile b/Dockerfile
index 129aef3..4436d9a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -7,12 +7,15 @@ WORKDIR /app
# Копируем package.json и package-lock.json
COPY package*.json ./
-# Устанавливаем зависимости
-RUN npm ci --only=production
+# Устанавливаем зависимости (включая dev для скриптов)
+RUN npm ci
# Копируем исходный код
COPY . .
+# Обновляем версию для кэш-бастинга
+RUN node scripts/update-version.js
+
# Устанавливаем публичный путь для React
ENV PUBLIC_URL=/uptime
diff --git a/nginx-uptime-path.conf b/nginx-uptime-path.conf
index 75dc0e1..4035db7 100644
--- a/nginx-uptime-path.conf
+++ b/nginx-uptime-path.conf
@@ -28,17 +28,30 @@ server {
return 301 $scheme://$host/uptime/;
}
+ # config.js - не кэшируем, может изменяться
+ location = /uptime/config.js {
+ rewrite ^/uptime(/.*)$ $1 break;
+ proxy_pass http://127.0.0.1:34481;
+ proxy_set_header Host $host;
+ expires -1;
+ add_header Cache-Control "no-cache, no-store, must-revalidate";
+ add_header Pragma "no-cache";
+ }
+
+ # Версионированные файлы - долгое кэширование
+ location ~* ^/uptime/.*\?v=[\d\.]+$ {
+ rewrite ^/uptime(/.*)$ $1 break;
+ proxy_pass http://127.0.0.1:34481;
+ proxy_set_header Host $host;
+ expires 1y;
+ add_header Cache-Control "public, immutable";
+ }
+
# Статические файлы (обрабатываем в первую очередь)
location ~* ^/uptime/static/.*\.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf)$ {
rewrite ^/uptime(/.*)$ $1 break;
proxy_pass http://127.0.0.1:34481;
proxy_set_header Host $host;
- # Временно отключаем кэш для JS файлов во время разработки
- location ~* \.js$ {
- expires -1;
- add_header Cache-Control "no-cache, no-store, must-revalidate";
- add_header Pragma "no-cache";
- }
expires 1y;
add_header Cache-Control "public, immutable";
}
diff --git a/public/config.js b/public/config.js
index eb1dbfe..d5c9865 100644
--- a/public/config.js
+++ b/public/config.js
@@ -1,6 +1,6 @@
window.Config = {
// Название сайта
- SiteName: 'Nerjel',
+ SiteName: 'Nerjel Status',
// UptimeRobot Api Keys
// Поддерживает Monitor-Specific и Read-Only
@@ -14,14 +14,14 @@ window.Config = {
// URL для проверки пинга (по порядку соответствуют API ключам)
PingUrls: [
- 'http://itachi.nj0.ru', // Для первого API ключа
- 'http://hidan.nj0.ru', // Для второго API ключа
- 'http://yugito.nj0.ru', // Для третьего API ключа
- 'http://lando.nj0.ru', // Для четвертого API ключа
+ 'http://itachi.nj0.ru:60231', // Для первого API ключа
+ 'http://hidan.nj0.ru:60231', // Для второго API ключа
+ 'http://yugito.nj0.ru:60231', // Для третьего API ключа
+ 'http://lando.nj0.ru:60231', // Для четвертого API ключа
],
// Количество дней в логах
- CountDays: 20,
+ CountDays: 16,
// Показывать ли ссылки на проверяемые сайты
ShowLink: false,
diff --git a/public/index.html b/public/index.html
index 8b66038..d496e17 100644
--- a/public/index.html
+++ b/public/index.html
@@ -33,7 +33,7 @@
-
+