build one nginx one spa one cerbot and set settings

This commit is contained in:
2025-05-27 14:52:43 +03:00
parent a4a282e207
commit b23aebab4c
7 changed files with 147 additions and 47 deletions
+2 -2
View File
@@ -17,9 +17,9 @@ GOOSE_DBSTRING='user=postgres dbname=postgres sslmode=disable'
GOOSE_MIGRATION_DIR=migrations
# FRONTEND SPA
HTTP_INNDER_PORT=80
HTTP_INNER_PORT=80
HTTP_OUTER_PORT=80
HTTPS_INNDER_PORT=443
HTTPS_INNER_PORT=443
HTTPS_OUTER_PORT=443
# NGINX
+8 -8
View File
@@ -74,20 +74,20 @@ services:
- "80:80"
- "443:443"
volumes:
- ./nginx/yalarba.ru.conf:/etc/nginx/conf.d/yalarba.ru.conf
- ./nginx/configs:/etc/nginx/conf.d
- certbot-etc:/etc/letsencrypt
- certbot-var:/var/lib/letsencrypt
environment:
- EMAIL=${EMAIL}
- DOMAINS=${DOMAINS}
networks:
- web-network
depends_on:
- certbot
certbot:
image: certbot/certbot
container_name: certbot
build:
context: ./certbot
dockerfile: Dockerfile
volumes:
- certbot-etc:/etc/letsencrypt
- certbot-var:/var/lib/letsencrypt
command: sh -c "certbot certonly --standalone --noninteractive --agree-tos --email ${EMAIL} -d ${DOMAINS} --keep-until-expiring"
env_file:
- .env
restart: unless-stopped
+3 -17
View File
@@ -1,25 +1,11 @@
FROM nginx:latest
# Устанавливаем Certbot и зависимости
RUN apt-get update && \
apt-get install -y certbot python3-certbot-nginx cron && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN mkdir -p /var/www/yalarba.ru/html
COPY spa_app/index.html /var/www/yalarba.ru/html
# Удаляем дефолтный конфиг Nginx
RUN rm /etc/nginx/conf.d/default.conf
# Копируем ваш Nginx-конфиг и скрипты
COPY yalarba.ru.conf /etc/nginx/conf.d/
COPY startup.sh /usr/local/bin/
COPY renew-certs.sh /usr/local/bin/
# Даем права на выполнение скриптов
RUN chmod +x /usr/local/bin/startup.sh /usr/local/bin/renew-certs.sh
# Добавляем cron-задачу для обновления сертификатов
RUN echo "0 3 * * * /usr/local/bin/renew-certs.sh >> /var/log/cron.log 2>&1" > /etc/cron.d/certbot-renew
RUN chmod 0644 /etc/cron.d/certbot-renew
# Запускаем cron и Nginx при старте
CMD ["/usr/local/bin/startup.sh"]
-4
View File
@@ -1,4 +0,0 @@
#!/bin/bash
# Обновляем сертификаты
certbot renew --quiet --post-hook "nginx -s reload"
+134
View File
@@ -0,0 +1,134 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ЯлАрба - Туристический агрегатор</title>
<style>
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
line-height: 1.6;
color: #333;
max-width: 800px;
margin: 0 auto;
padding: 20px;
background-color: #f5f7fa;
}
header {
background-color: #1e88e5;
color: white;
padding: 20px;
border-radius: 8px;
margin-bottom: 30px;
text-align: center;
}
h1 {
margin: 0;
font-size: 2.2em;
}
h2 {
color: #1e88e5;
border-bottom: 2px solid #1e88e5;
padding-bottom: 5px;
margin-top: 30px;
}
.developer {
background-color: #e3f2fd;
padding: 15px;
border-radius: 8px;
margin: 20px 0;
}
.roadmap {
background-color: white;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.phase {
margin-bottom: 20px;
padding-bottom: 20px;
border-bottom: 1px dashed #ccc;
}
.phase:last-child {
border-bottom: none;
}
footer {
text-align: center;
margin-top: 40px;
color: #666;
font-size: 0.9em;
}
</style>
</head>
<body>
<header>
<h1>ЯлАрба</h1>
<p>Инновационный агрегатор мест отдыха с ИИ-планировщиком маршрутов</p>
</header>
<section>
<h2>О проекте</h2>
<p>ЯлАрба — это супер-приложение для путешественников, объединяющее в себе:</p>
<ul>
<li>Агрегатор мест отдыха (отели, экскурсии, рестораны)</li>
<li>Маркетплейс туров и локальных сувениров</li>
<li>ИИ-планировщик маршрутов с учетом здоровья пользователя</li>
<li>Систему бронирования и покупки билетов</li>
</ul>
<p>Наша миссия — сделать планирование путешествий простым, персонализированным и доступным.</p>
</section>
<div class="developer">
<h2>Разработчик</h2>
<p><strong>Валитов Газиз</strong></p>
<p>Full-stack разработчик с опытом в travel-tech проектах. Специализация: Python/Django, React, системы рекомендаций на основе ИИ.</p>
</div>
<section class="roadmap">
<h2>План разработки</h2>
<div class="phase">
<h3>Этап 1: MVP (0-6 месяцев)</h3>
<ul>
<li>База мест отдыха (1000+ позиций)</li>
<li>Интеграция с API бронирования (Booking.com, Ostrovok)</li>
<li>Прототип ИИ-рекомендаций</li>
<li>Мобильная версия (PWA)</li>
</ul>
</div>
<div class="phase">
<h3>Этап 2: Монетизация (6-12 месяцев)</h3>
<ul>
<li>Система комиссий (10-15% с бронирований)</li>
<li>Платные подписки (PRO-аккаунт)</li>
<li>Партнерская программа для гидов</li>
</ul>
</div>
<div class="phase">
<h3>Этап 3: Масштабирование (12-24 месяца)</h3>
<ul>
<li>Выход на рынки СНГ (Казахстан, Узбекистан)</li>
<li>Полноценный ИИ-ассистент с рекомендациями по здоровью</li>
<li>Интеграция с сервисами аренды авто</li>
</ul>
</div>
</section>
<section>
<h2>Технологический стек</h2>
<ul>
<li><strong>Frontend:</strong> React.js, TypeScript, PWA</li>
<li><strong>Backend:</strong> Python/Django, PostgreSQL</li>
<li><strong>AI:</strong> NLP-модели для обработки запросов, рекомендательные системы</li>
<li><strong>DevOps:</strong> Docker, Kubernetes, Yandex Cloud</li>
</ul>
</section>
<footer>
<p>© 2024 ЯлАрба. Все права защищены.</p>
<p>Контакты: gaziz.valitov@yalarba.travel</p>
</footer>
</body>
</html>
-16
View File
@@ -1,16 +0,0 @@
#!/bin/bash
# Запускаем cron
service cron start
# Получаем сертификаты (если их нет)
if [ ! -f "/etc/letsencrypt/live/your_domain.com/fullchain.pem" ]; then
certbot --nginx --non-interactive --agree-tos --email valitovgaziz@yandex.ru \
-d yalarba.ru -d www.yalarba.ru
fi
# Перезапускаем Nginx для применения изменений
nginx -s reload
# Запускаем Nginx в foreground
nginx -g "daemon off;"