Compare commits

...

20 Commits

Author SHA1 Message Date
DeepAgent
1a8ab69a09 bd23b6fe-6d5a-4b3d-8d84-4cb3ea9cc5e7 2025-12-18 09:15:48 +00:00
DeepAgent
34ea1e3950 Add sitemap.xml for Yandex indexing 2025-12-18 09:15:24 +00:00
DeepAgent
7270a3c478 Add custom favicon to site 2025-11-25 08:19:11 +00:00
DeepAgent
fa4b6b5cfe Add custom favicon.ico and update icon configuration in layout 2025-11-25 08:18:52 +00:00
DeepAgent
8ada27d393 Fix first service card image 2025-11-13 09:55:16 +00:00
DeepAgent
ce2089b443 Replace broken external image URL with reliable local file for home security card 2025-11-13 09:54:55 +00:00
DeepAgent
4fd95382e4 Restore original external image URLs 2025-11-12 15:43:24 +00:00
DeepAgent
120fe3ce9d Remove unused local image files 2025-11-12 15:42:56 +00:00
DeepAgent
c0641750b7 Restore original external image URLs per user request 2025-11-12 15:42:45 +00:00
DeepAgent
fc4b6a57a4 Fix broken service images 2025-11-12 13:19:38 +00:00
DeepAgent
4eced73076 Fix broken service section images - replace external URLs with local files 2025-11-12 13:19:15 +00:00
DeepAgent
198a9e9895 Keep email addresses with global-it24.ru domain 2025-11-11 13:52:43 +00:00
DeepAgent
d05fc854c2 Update domain from global-it24.ru to video.mscsrv.ru 2025-11-11 13:42:12 +00:00
DeepAgent
c8eb00d1fb Update Yandex.Metrika ID to 105248081 2025-11-11 13:13:12 +00:00
DeepAgent
238313f2a1 Update Yandex.Metrika counter ID to 105248081 2025-11-11 13:12:51 +00:00
DeepAgent
af9651306d Add robots.txt + fix button contrast 2025-11-11 13:09:28 +00:00
DeepAgent
8f3af6cae0 Add robots.txt for Yandex + fix button contrast issue 2025-11-11 13:08:55 +00:00
DeepAgent
563ec45312 d4ab1b1d-0795-4e92-a579-24e4403640d8 2025-10-29 14:49:37 +00:00
DeepAgent
b7be8c27da Fix: handle broken yarn.lock symlink correctly 2025-10-29 14:49:22 +00:00
DeepAgent
fd8e113314 110db53f-77c1-4ee8-aa61-8127a224ace6 2025-10-29 14:47:55 +00:00
13 changed files with 115 additions and 18 deletions

File diff suppressed because one or more lines are too long

70
.env Normal file
View File

@@ -0,0 +1,70 @@
# ==================================
# ОБЩИЕ НАСТРОЙКИ
# ==================================
# Домен вашего сайта
DOMAIN=video.mscsrv.ru
# URL сайта (используется для метатегов и canonical URL)
NEXT_PUBLIC_SITE_URL=https://video.mscsrv.ru
# Для production окружения
NODE_ENV=production
# ==================================
# СЕТЕВЫЕ НАСТРОЙКИ
# ==================================
# Traefik хост
TRAEFIK_HOST=192.168.50.59
# IP этого сервера (где запущен контейнер)
# Укажите IP текущего хоста в локальной сети
APP_HOST_IP=192.168.50.X
# ==================================
# БАЗА ДАННЫХ POSTGRESQL
# ==================================
# Имя пользователя PostgreSQL
POSTGRES_USER=globalit24
# Пароль PostgreSQL (ОБЯЗАТЕЛЬНО ИЗМЕНИТЕ!)
POSTGRES_PASSWORD=changeme123
# Имя базы данных
POSTGRES_DB=globalit24_db
# URL подключения к базе данных
# Формат: postgresql://USER:PASSWORD@HOST:PORT/DATABASE
DATABASE_URL=postgresql://globalit24:changeme123@postgres:5432/globalit24_db
# ==================================
# EMAIL УВЕДОМЛЕНИЯ (SMTP)
# ==================================
# SMTP сервер (например: smtp.mail.ru, smtp.gmail.com, smtp.yandex.ru)
SMTP_HOST=smtp.mail.ru
# SMTP порт (обычно 465 для SSL, 587 для TLS)
SMTP_PORT=465
# Email адрес отправителя
SMTP_USER=your-email@mail.ru
# Пароль от email (для Mail.ru используйте пароль приложения)
SMTP_PASSWORD=your-smtp-app-password
# Email для получения уведомлений о заявках
NOTIFICATION_EMAIL=info@global-it24.ru
# ==================================
# TELEGRAM УВЕДОМЛЕНИЯ
# ==================================
# Токен бота Telegram (получить у @BotFather)
TELEGRAM_BOT_TOKEN=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz
# ID чата для уведомлений (получить у @userinfobot)
TELEGRAM_CHAT_ID=123456789

3
.gitignore vendored
View File

@@ -18,6 +18,3 @@ out
.deploy
.logs
*.tsbuildinfo
npm-debug.log*
yarn-debug.log*
yarn-error.log*

Binary file not shown.

View File

@@ -52,8 +52,8 @@ docker builder prune -f
```bash
# Основные настройки
DOMAIN=global-it24.ru
NEXT_PUBLIC_SITE_URL=https://global-it24.ru
DOMAIN=video.mscsrv.ru
NEXT_PUBLIC_SITE_URL=https://video.mscsrv.ru
APP_HOST_IP=192.168.50.100 # IP вашего сервера
# База данных PostgreSQL
@@ -97,7 +97,7 @@ TRAEFIK_HOST=traefik-host # Hostname сервера с Traefik
curl http://localhost:3000
# Через Traefik (если настроен)
curl https://global-it24.ru
curl https://video.mscsrv.ru
```
## 🐛 Решение проблем
@@ -202,7 +202,7 @@ cp traefik-config-example.yml /путь/к/traefik/dynamic/global-it24.yml
2. Отредактируйте параметры:
- `APP_HOST_IP:3000` - IP вашего сервера
- `global-it24.ru` - ваш домен
- `video.mscsrv.ru` - ваш домен
3. Перезагрузите Traefik:
```bash

View File

@@ -27,14 +27,20 @@ echo "⚡ Быстрая сборка с упрощенным Dockerfile (15-20
echo "💡 Используется Dockerfile.simple - проще и быстрее для первой сборки"
# Создаём реальный yarn.lock (symlink не работает в Docker)
if [ -L nextjs_space/yarn.lock ]; then
if [ -L nextjs_space/yarn.lock ] && [ -e nextjs_space/yarn.lock ]; then
# Валидный symlink - преобразуем в файл
echo "🔗 Преобразуем symlink yarn.lock в реальный файл..."
cp -L nextjs_space/yarn.lock nextjs_space/yarn.lock.tmp
rm nextjs_space/yarn.lock
mv nextjs_space/yarn.lock.tmp nextjs_space/yarn.lock
echo "✅ yarn.lock преобразован в реальный файл"
elif [ ! -f nextjs_space/yarn.lock ]; then
echo "⚠️ yarn.lock не найден - будет создан при установке зависимостей"
else
# Битая symlink или файл отсутствует - удаляем и пропускаем
if [ -L nextjs_space/yarn.lock ]; then
echo "🗑️ Удаляем битую symlink на yarn.lock..."
rm nextjs_space/yarn.lock
fi
echo "⚠️ yarn.lock будет создан при установке зависимостей"
fi
# Создаем временный docker-compose файл с Dockerfile.simple

View File

@@ -23,8 +23,12 @@ export const metadata: Metadata = {
type: 'website',
},
icons: {
icon: '/favicon.svg',
shortcut: '/favicon.svg',
icon: [
{ url: '/favicon.ico', sizes: 'any' },
{ url: '/favicon.svg', type: 'image/svg+xml' },
],
shortcut: '/favicon.ico',
apple: '/favicon.ico',
},
}
@@ -57,16 +61,16 @@ export default function RootLayout({
m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)
})(window, document,'script','https://mc.yandex.ru/metrika/tag.js?id=104890076', 'ym');
})(window, document,'script','https://mc.yandex.ru/metrika/tag.js?id=105248081', 'ym');
ym(104890076, 'init', {ssr:true, webvisor:true, clickmap:true, ecommerce:"dataLayer", accurateTrackBounce:true, trackLinks:true});
ym(105248081, 'init', {ssr:true, webvisor:true, clickmap:true, ecommerce:"dataLayer", accurateTrackBounce:true, trackLinks:true});
`,
}}
/>
<noscript>
<div>
<img
src="https://mc.yandex.ru/watch/104890076"
src="https://mc.yandex.ru/watch/105248081"
style={{ position: 'absolute', left: '-9999px' }}
alt=""
/>

View File

@@ -74,7 +74,7 @@ export default function LandingPage() {
<Card className="hover:shadow-lg transition-shadow duration-300 group">
<div className="relative h-48 overflow-hidden rounded-t-lg">
<Image
src="https://pacifictd.com/wp-content/uploads/2023/11/CCTV-security-camera-at-home.jpg"
src="/home-security.jpg"
alt="Домашнее видеонаблюдение"
fill
className="object-cover group-hover:scale-105 transition-transform duration-300"

View File

@@ -68,7 +68,7 @@ export default function InteractiveButtons({ variant = 'hero', className = '' }:
<Button
size="lg"
variant="outline"
className="border-white text-white hover:bg-white hover:text-gray-900 px-6 sm:px-8 py-3 sm:py-4 text-base sm:text-lg w-full sm:w-auto"
className="border-white text-white bg-transparent hover:bg-blue-500 hover:text-white hover:border-blue-500 px-6 sm:px-8 py-3 sm:py-4 text-base sm:text-lg w-full sm:w-auto transition-all"
onClick={scrollToContact}
>
Получить консультацию

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

View File

@@ -0,0 +1,8 @@
# robots.txt для Global-IT24
User-agent: *
Allow: /
User-agent: Yandex
Allow: /
Sitemap: https://video.mscsrv.ru/sitemap.xml

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<url>
<loc>https://video.mscsrv.ru/</loc>
<lastmod>2024-12-18</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
</urlset>