166 lines
5.7 KiB
HTML
166 lines
5.7 KiB
HTML
<!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, #667eea 0%, #764ba2 100%);
|
||
color: white;
|
||
margin: 0;
|
||
padding: 20px;
|
||
min-height: 100vh;
|
||
}
|
||
.container {
|
||
max-width: 1000px;
|
||
margin: 0 auto;
|
||
text-align: center;
|
||
}
|
||
.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);
|
||
backdrop-filter: blur(10px);
|
||
border-radius: 15px;
|
||
padding: 25px;
|
||
text-align: left;
|
||
}
|
||
.project-button {
|
||
display: inline-block;
|
||
margin: 15px;
|
||
padding: 12px 30px;
|
||
background: #4CAF50;
|
||
color: white;
|
||
text-decoration: none;
|
||
border-radius: 10px;
|
||
font-weight: bold;
|
||
transition: all 0.3s;
|
||
}
|
||
.project-button:hover {
|
||
background: #45a049;
|
||
transform: translateY(-3px);
|
||
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
|
||
}
|
||
.status-grid {
|
||
display: flex;
|
||
justify-content: center;
|
||
gap: 20px;
|
||
flex-wrap: wrap;
|
||
margin: 30px 0;
|
||
}
|
||
.status-item {
|
||
background: rgba(255,255,255,0.15);
|
||
padding: 20px;
|
||
border-radius: 10px;
|
||
min-width: 180px;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="container">
|
||
<img src="peginelab.png" alt="PegiNelab" class="logo">
|
||
<h1>🚀 PegiNelab CI/CD Platform</h1>
|
||
<p>Автоматизированная система сборки, деплоя и мониторинга</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="status-grid">
|
||
<div class="status-item">
|
||
<div style="font-size: 2rem;">🔐</div>
|
||
<h3>SSL Monitor</h3>
|
||
<div id="ssl-time">00:00:00</div>
|
||
<small>Активен</small>
|
||
</div>
|
||
<div class="status-item">
|
||
<div style="font-size: 2rem;">🤖</div>
|
||
<h3>Telegram Bot</h3>
|
||
<div style="color: #4CAF50;">● Online</div>
|
||
<small>Отвечает на команды</small>
|
||
</div>
|
||
<div class="status-item">
|
||
<div style="font-size: 2rem;">🐳</div>
|
||
<h3>Docker</h3>
|
||
<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 class="dashboard">
|
||
<div class="card">
|
||
<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>
|
||
<p><small>IP: 84.22.132.42 | Сертификат до: Dec 2 2026 GMT</small></p>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
// Обновление времени
|
||
function updateTime() {
|
||
const now = new Date();
|
||
document.getElementById('ssl-time').textContent =
|
||
now.toLocaleTimeString();
|
||
}
|
||
setInterval(updateTime, 1000);
|
||
updateTime();
|
||
</script>
|
||
</body>
|
||
</html>
|