Добавлены главная страница и страница проектов
Some checks are pending
Deploy to server / deploy (push) Waiting to run
Some checks are pending
Deploy to server / deploy (push) Waiting to run
This commit is contained in:
parent
e29f290c85
commit
8a31d33271
2 changed files with 309 additions and 57 deletions
164
index.html
164
index.html
|
|
@ -3,40 +3,59 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>PegiNelab - Автоматизация CI/CD</title>
|
<title>PegiNelab - Главная</title>
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||||
color: white;
|
color: white;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 20px;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
}
|
||||||
.container {
|
.container {
|
||||||
max-width: 900px;
|
max-width: 1000px;
|
||||||
|
margin: 0 auto;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 2rem;
|
}
|
||||||
|
.logo {
|
||||||
|
max-width: 270px;
|
||||||
|
margin: 20px auto;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
nav {
|
||||||
|
margin: 30px 0;
|
||||||
|
}
|
||||||
|
nav a {
|
||||||
|
color: white;
|
||||||
|
text-decoration: none;
|
||||||
|
margin: 0 15px;
|
||||||
|
padding: 10px 20px;
|
||||||
|
border: 2px solid rgba(255,255,255,0.3);
|
||||||
|
border-radius: 8px;
|
||||||
|
transition: all 0.3s;
|
||||||
|
}
|
||||||
|
nav a:hover {
|
||||||
|
background: rgba(255,255,255,0.1);
|
||||||
|
border-color: white;
|
||||||
|
}
|
||||||
|
.dashboard {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||||
|
gap: 20px;
|
||||||
|
margin: 40px 0;
|
||||||
|
}
|
||||||
|
.card {
|
||||||
background: rgba(255, 255, 255, 0.1);
|
background: rgba(255, 255, 255, 0.1);
|
||||||
backdrop-filter: blur(10px);
|
backdrop-filter: blur(10px);
|
||||||
border-radius: 20px;
|
border-radius: 15px;
|
||||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
|
padding: 25px;
|
||||||
|
text-align: left;
|
||||||
}
|
}
|
||||||
/* Стиль для логотипа */
|
|
||||||
.logo {
|
|
||||||
max-width: 150px;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
border-radius: 10px;
|
|
||||||
}
|
|
||||||
/* Стиль для кнопки */
|
|
||||||
.project-button {
|
.project-button {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin: 1.5rem;
|
margin: 15px;
|
||||||
padding: 1rem 2rem;
|
padding: 12px 30px;
|
||||||
background: #4CAF50;
|
background: #4CAF50;
|
||||||
color: white;
|
color: white;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
|
@ -46,68 +65,99 @@
|
||||||
}
|
}
|
||||||
.project-button:hover {
|
.project-button:hover {
|
||||||
background: #45a049;
|
background: #45a049;
|
||||||
transform: scale(1.05);
|
transform: translateY(-3px);
|
||||||
|
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
|
||||||
}
|
}
|
||||||
/* Стиль для списка проектов */
|
.status-grid {
|
||||||
.projects-list {
|
display: flex;
|
||||||
margin-top: 2rem;
|
justify-content: center;
|
||||||
text-align: left;
|
gap: 20px;
|
||||||
background: rgba(255, 255, 255, 0.15);
|
flex-wrap: wrap;
|
||||||
padding: 1rem;
|
margin: 30px 0;
|
||||||
|
}
|
||||||
|
.status-item {
|
||||||
|
background: rgba(255,255,255,0.15);
|
||||||
|
padding: 20px;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
min-height: 150px;
|
min-width: 180px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<!-- ЛОГОТИП -->
|
<img src="peginelab.png" alt="PegiNelab" class="logo">
|
||||||
<img src="peginelab.png" alt="PegiNelab Logo" class="logo">
|
<h1>🚀 PegiNelab CI/CD Platform</h1>
|
||||||
|
<p>Автоматизированная система сборки, деплоя и мониторинга</p>
|
||||||
|
|
||||||
<h1>🚀 PegiNelab CI/CD</h1>
|
<nav>
|
||||||
<p>Автоматизированная система сборки и деплоя</p>
|
<a href="index.html">🏠 Главная</a>
|
||||||
|
<a href="projects.html">📁 Проекты</a>
|
||||||
|
<a href="status.html">📊 Статус</a>
|
||||||
|
<a href="about.html">ℹ️ О системе</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
<div class="status">
|
<div class="status-grid">
|
||||||
<div class="status-item">
|
<div class="status-item">
|
||||||
<div class="emoji">🔐</div>
|
<div style="font-size: 2rem;">🔐</div>
|
||||||
<div>SSL Monitor</div>
|
<h3>SSL Monitor</h3>
|
||||||
<div id="ssl-status">00:00:00</div>
|
<div id="ssl-time">00:00:00</div>
|
||||||
|
<small>Активен</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="status-item">
|
<div class="status-item">
|
||||||
<div class="emoji">🤖</div>
|
<div style="font-size: 2rem;">🤖</div>
|
||||||
<div>Telegram Bot</div>
|
<h3>Telegram Bot</h3>
|
||||||
<div id="bot-status">Online</div>
|
<div style="color: #4CAF50;">● Online</div>
|
||||||
|
<small>Отвечает на команды</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="status-item">
|
<div class="status-item">
|
||||||
<div class="emoji">🐳</div>
|
<div style="font-size: 2rem;">🐳</div>
|
||||||
<div>Docker</div>
|
<h3>Docker</h3>
|
||||||
<div id="docker-status">Running</div>
|
<div style="color: #4CAF50;">● Running</div>
|
||||||
|
<small>4 контейнера</small>
|
||||||
|
</div>
|
||||||
|
<div class="status-item">
|
||||||
|
<div style="font-size: 2rem;">🔄</div>
|
||||||
|
<h3>CI/CD</h3>
|
||||||
|
<div style="color: #4CAF50;">● Активен</div>
|
||||||
|
<small>Автодеплой</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- КНОПКА НА ПРОЕКТ -->
|
<div class="dashboard">
|
||||||
<a href="https://git.peginelab.com" class="project-button" target="_blank">
|
<div class="card">
|
||||||
📁 Git Repository
|
<h3>📦 Быстрый доступ</h3>
|
||||||
|
<p>Ссылки на основные системы:</p>
|
||||||
|
<a href="https://peginelab.com/git" class="project-button" target="_blank">🔧 Forgejo (Git)</a>
|
||||||
|
<a href="https://peginelab.com:9000" class="project-button" target="_blank">🐳 Portainer</a>
|
||||||
|
<a href="projects.html" class="project-button">📁 Все проекты</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h3>📈 Последние действия</h3>
|
||||||
|
<ul>
|
||||||
|
<li>✅ Деплой сайта: 12.12.2025 02:30</li>
|
||||||
|
<li>✅ Обновление SSL: 12.12.2025 02:00</li>
|
||||||
|
<li>🔄 CI/CD пайплайн: Выполнен</li>
|
||||||
|
<li>🤖 Бот: Получено 15 команд</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top: 40px;">
|
||||||
|
<h3>🚀 Начать работу</h3>
|
||||||
|
<a href="https://peginelab.com/git/peginelab/peginelab-site" class="project-button" target="_blank">
|
||||||
|
📁 Исходный код этого сайта
|
||||||
</a>
|
</a>
|
||||||
|
<p><small>IP: 84.22.132.42 | Сертификат до: Dec 2 2026 GMT</small></p>
|
||||||
<!-- СПИСОК ПРОЕКТОВ -->
|
|
||||||
<div class="projects-list">
|
|
||||||
<h3>📋 Проекты в CI/CD:</h3>
|
|
||||||
<div id="projects-container">
|
|
||||||
<p>CI/CD Bot | SSL Monitor | Docker Manager</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>Система автоматизации успешно запущена!</p>
|
|
||||||
<p><small>IP: 84.22.132.42 | Сертификат действует до: Dec 2 13:57:24 2026 GMT</small></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Обновление времени SSL монитора
|
// Обновление времени
|
||||||
function updateTime() {
|
function updateTime() {
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
const timeStr = now.toLocaleTimeString();
|
document.getElementById('ssl-time').textContent =
|
||||||
document.getElementById('ssl-status').textContent = timeStr;
|
now.toLocaleTimeString();
|
||||||
}
|
}
|
||||||
setInterval(updateTime, 1000);
|
setInterval(updateTime, 1000);
|
||||||
updateTime();
|
updateTime();
|
||||||
|
|
|
||||||
202
projects.html
Normal file
202
projects.html
Normal file
|
|
@ -0,0 +1,202 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>PegiNelab - Проекты</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||||
|
background: linear-gradient(135deg, #1a2980 0%, #26d0ce 100%);
|
||||||
|
color: white;
|
||||||
|
margin: 0;
|
||||||
|
padding: 20px;
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
.logo {
|
||||||
|
max-width: 100px;
|
||||||
|
margin: 20px auto;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
nav {
|
||||||
|
margin: 30px 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
nav a {
|
||||||
|
color: white;
|
||||||
|
text-decoration: none;
|
||||||
|
margin: 0 10px;
|
||||||
|
padding: 10px 20px;
|
||||||
|
border-radius: 8px;
|
||||||
|
transition: all 0.3s;
|
||||||
|
}
|
||||||
|
nav a:hover {
|
||||||
|
background: rgba(255,255,255,0.2);
|
||||||
|
}
|
||||||
|
.projects-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
|
||||||
|
gap: 25px;
|
||||||
|
margin: 40px 0;
|
||||||
|
}
|
||||||
|
.project-card {
|
||||||
|
background: rgba(255, 255, 255, 0.1);
|
||||||
|
backdrop-filter: blur(10px);
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 25px;
|
||||||
|
border-left: 5px solid #4CAF50;
|
||||||
|
transition: transform 0.3s;
|
||||||
|
}
|
||||||
|
.project-card:hover {
|
||||||
|
transform: translateY(-5px);
|
||||||
|
background: rgba(255, 255, 255, 0.15);
|
||||||
|
}
|
||||||
|
.project-card.ci {
|
||||||
|
border-left-color: #2196F3;
|
||||||
|
}
|
||||||
|
.project-card.bot {
|
||||||
|
border-left-color: #FF9800;
|
||||||
|
}
|
||||||
|
.project-card.infra {
|
||||||
|
border-left-color: #9C27B0;
|
||||||
|
}
|
||||||
|
.tag {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 4px 10px;
|
||||||
|
background: rgba(255,255,255,0.2);
|
||||||
|
border-radius: 20px;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
margin-right: 8px;
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
.btn {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 10px 20px;
|
||||||
|
background: #2196F3;
|
||||||
|
color: white;
|
||||||
|
text-decoration: none;
|
||||||
|
border-radius: 8px;
|
||||||
|
margin-top: 15px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.btn:hover {
|
||||||
|
background: #0b7dda;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<img src="peginelab.png" alt="PegiNelab" class="logo">
|
||||||
|
<h1 style="text-align: center;">📁 Проекты PegiNelab</h1>
|
||||||
|
<p style="text-align: center;">Все системы и сервисы платформы</p>
|
||||||
|
|
||||||
|
<nav>
|
||||||
|
<a href="index.html">🏠 Главная</a>
|
||||||
|
<a href="projects.html">📁 Проекты</a>
|
||||||
|
<a href="status.html">📊 Статус</a>
|
||||||
|
<a href="about.html">ℹ️ О системе</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="projects-grid">
|
||||||
|
<!-- CI/CD Projects -->
|
||||||
|
<div class="project-card ci">
|
||||||
|
<h3>🚀 CI/CD Автоматизация</h3>
|
||||||
|
<p>Полный цикл сборки, тестирования и деплоя проектов</p>
|
||||||
|
<div>
|
||||||
|
<span class="tag">Docker</span>
|
||||||
|
<span class="tag">GitLab CI</span>
|
||||||
|
<span class="tag">Forgejo</span>
|
||||||
|
</div>
|
||||||
|
<p><strong>Статус:</strong> <span style="color: #4CAF50;">● Активен</span></p>
|
||||||
|
<p><strong>Репозиторий:</strong> peginelab/ci-system</p>
|
||||||
|
<a href="https://peginelab.com/git/peginelab/ci-system" class="btn" target="_blank">Открыть в Git</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Telegram Bot -->
|
||||||
|
<div class="project-card bot">
|
||||||
|
<h3>🤖 Telegram CI/CD Bot</h3>
|
||||||
|
<p>Бот для управления развертыванием, мониторинга SSL и уведомлений</p>
|
||||||
|
<div>
|
||||||
|
<span class="tag">Python</span>
|
||||||
|
<span class="tag">Docker</span>
|
||||||
|
<span class="tag">Telegram API</span>
|
||||||
|
</div>
|
||||||
|
<p><strong>Статус:</strong> <span style="color: #4CAF50;">● Online</span></p>
|
||||||
|
<p><strong>Команд:</strong> /start, /ssl_check, /status</p>
|
||||||
|
<a href="https://t.me/peginelab_bot" class="btn" target="_blank">Написать боту</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- SSL Monitor -->
|
||||||
|
<div class="project-card infra">
|
||||||
|
<h3>🔐 SSL Монитор</h3>
|
||||||
|
<p>Автоматическое обновление SSL сертификатов и проверка их срока действия</p>
|
||||||
|
<div>
|
||||||
|
<span class="tag">Bash</span>
|
||||||
|
<span class="tag">Let's Encrypt</span>
|
||||||
|
<span class="tag">Cron</span>
|
||||||
|
</div>
|
||||||
|
<p><strong>Статус:</strong> <span style="color: #4CAF50;">● Мониторинг</span></p>
|
||||||
|
<p><strong>След. проверка:</strong> 13.12.2025 02:00</p>
|
||||||
|
<a href="index.html" class="btn">На главную</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Infrastructure -->
|
||||||
|
<div class="project-card infra">
|
||||||
|
<h3>🐳 Docker Инфраструктура</h3>
|
||||||
|
<p>Контейнеризация всех сервисов: Nginx, Forgejo, Portainer, мониторинг</p>
|
||||||
|
<div>
|
||||||
|
<span class="tag">Docker Compose</span>
|
||||||
|
<span class="tag">Nginx</span>
|
||||||
|
<span class="tag">Portainer</span>
|
||||||
|
</div>
|
||||||
|
<p><strong>Контейнеров:</strong> 4 активных</p>
|
||||||
|
<p><strong>Сеть:</strong> cicd-network</p>
|
||||||
|
<a href="https://peginelab.com:9000" class="btn" target="_blank">Portainer</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- This Website -->
|
||||||
|
<div class="project-card">
|
||||||
|
<h3>🌐 Сайт PegiNelab.com</h3>
|
||||||
|
<p>Главный сайт платформы с автоматическим деплоем через CI/CD</p>
|
||||||
|
<div>
|
||||||
|
<span class="tag">HTML/CSS/JS</span>
|
||||||
|
<span class="tag">CI/CD</span>
|
||||||
|
<span class="tag">Forgejo Actions</span>
|
||||||
|
</div>
|
||||||
|
<p><strong>Статус:</strong> <span style="color: #4CAF50;">● Обновлён</span></p>
|
||||||
|
<p><strong>Последний деплой:</strong> Только что</p>
|
||||||
|
<a href="https://peginelab.com/git/peginelab/peginelab-site" class="btn" target="_blank">Исходный код</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- New Project Template -->
|
||||||
|
<div class="project-card" style="border-left-color: #607D8B;">
|
||||||
|
<h3>➕ Добавить новый проект</h3>
|
||||||
|
<p>Создать новый сервис в экосистеме PegiNelab</p>
|
||||||
|
<div>
|
||||||
|
<span class="tag">Шаблон</span>
|
||||||
|
<span class="tag">CI/CD</span>
|
||||||
|
<span class="tag">Docker</span>
|
||||||
|
</div>
|
||||||
|
<p><strong>Шаги:</strong></p>
|
||||||
|
<ol style="font-size: 0.9rem;">
|
||||||
|
<li>Создать репозиторий в Forgejo</li>
|
||||||
|
<li>Добавить Dockerfile</li>
|
||||||
|
<li>Настроить .gitlab-ci.yml</li>
|
||||||
|
<li>Добавить в docker-compose.yml</li>
|
||||||
|
</ol>
|
||||||
|
<a href="https://peginelab.com/git/new" class="btn" target="_blank">Создать проект</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="text-align: center; margin-top: 50px; padding: 20px; background: rgba(255,255,255,0.1); border-radius: 10px;">
|
||||||
|
<h3>📊 Статистика</h3>
|
||||||
|
<p>Всего проектов: <strong>6</strong> | Активных: <strong>5</strong> | Репозиториев: <strong>8</strong></p>
|
||||||
|
<p><a href="index.html" style="color: #4CAF50;">← Вернуться на главную</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue