Files
srcoder.moe/templates/main.html
T
Black_Raven 214cb72e1e
Build, Test and Push Flask App / docker-build-and-push (push) Successful in 1m16s
Build, Test and Push Flask App / deploy (push) Successful in 1m26s
fix(ststic): fix view
2026-10-16 23:21:23 +03:00

207 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="srcoder.moe — личный сервер: Gitea, Matrix, Sharkey, Copyparty, Grafana, FreshRSS и поиск 4get.">
<title>srcoder.moe</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap" rel="stylesheet">
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🛰️</text></svg>">
</head>
<body>
<div class="bg-glow" aria-hidden="true"></div>
<div class="grid-overlay" aria-hidden="true"></div>
<header class="site-header" id="top">
<nav class="nav">
<a class="logo" href="#top">
<span class="logo-mark">&lt;/&gt;</span>
<span class="logo-text">srcoder<span class="accent">.moe</span></span>
</a>
<button class="nav-toggle" id="navToggle" aria-label="Меню" aria-expanded="false">
<span></span><span></span><span></span>
</button>
<ul class="nav-links" id="navLinks">
<li><a href="{{ url_for('author') }}" class="nav-cta">Об авторе</a></li>
</ul>
</nav>
</header>
<main>
<section class="hero">
<h1 class="hero-title" data-reveal>
Привет, это <span class="gradient-text">srcoder.moe</span>
</h1>
</section>
<section class="section" id="services">
<div class="section-head" data-reveal>
<span class="section-tag">// сервисы</span>
<h2 class="section-title">Что развёрнуто на сервере</h2>
<p class="section-desc">Семь сервисов, закрывающих все базовые потребности — от кода до поиска.</p>
</div>
<div class="cards">
<article class="card" data-reveal>
<img class="card-icon" src="{{ url_for('static', filename='images/gitea.svg')}}" alt="" loading="lazy">
<div class="card-body">
<h3>Gitea</h3>
<p>Лёгкая самохостируемая платформа для хранения git-репозиториев:
Issues, Pull Requests, вики, CI и права доступа — весь процесс
разработки живёт на моём домене, без зависимости от внешних хостингов.</p>
</div>
<span class="card-badge">git / разработка</span>
</article>
<article class="card" data-reveal>
<img class="card-icon" src="{{ url_for('static', filename='images/matrix.svg')}}" alt="" loading="lazy">
<div class="card-body">
<h3>Matrix</h3>
<p>Открытый децентрализованный протокол обмена сообщениями в реальном времени —
по сути независимый мессенджер с сквозным шифрованием, комнатами и звонками.
Свои данные сервер хранит сам, а общение идёт напрямую между участниками.</p>
</div>
<span class="card-badge">мессенджер</span>
</article>
<article class="card" data-reveal>
<img class="card-icon" src="{{ url_for('static', filename='images/sharkey.png')}}" alt="" loading="lazy">
<div class="card-body">
<h3>Sharkey</h3>
<p>Современный форк федерированной соцсети Misskey: микроблоги, реакции,
сторис и ленты. Через протокол ActivityPub аккаунты общаются с другими
инстансами Fediverse — то есть это моя собственная соцсеть с мостом
в Mastodon и соседние сервера.</p>
</div>
<span class="card-badge">соцсеть</span>
</article>
<article class="card" data-reveal>
<img class="card-icon" src="{{ url_for('static', filename='images/copyparty.svg')}}" alt="" loading="lazy">
<div class="card-body">
<h3>Copyparty</h3>
<p>Самописный файловый сервер с веб-интерфейсом: загрузка, шаринг,
инстант-загрузчики, интегрированный файловый браузер и даже
возможность стримить звук. Простое и быстрое хранилище
для любых файлов — от бэкапов до публичных дистрибутивов.</p>
</div>
<span class="card-badge">файлы</span>
</article>
<article class="card" data-reveal>
<img class="card-icon" src="{{ url_for('static', filename='images/grafana.svg')}}" alt="" loading="lazy">
<div class="card-body">
<h3>Grafana</h3>
<p>Система мониторинга и визуализации: собирает метрики сервера —
нагрузку CPU, память, диск, трафик и здоровье сервисов —
и рисует их живыми дашбордами. Благодаря ей я вижу, что происходит
с машиной, ещё до того, как что-то сломается.</p>
</div>
<span class="card-badge">мониторинг</span>
</article>
<article class="card" data-reveal>
<img class="card-icon" src="{{ url_for('static', filename='images/freshrss.svg')}}" alt="" loading="lazy">
<div class="card-body">
<h3>FreshRSS</h3>
<p>Самохостируемый RSS-агрегатор: собирает ленты блогов, новостных
сайтов и подкастов в одну спокойную читалку — без рекламы,
алгоритмов и слежки. Подписки и история чтения хранятся
на моём сервере и синхронизируются с любого устройства.</p>
</div>
<span class="card-badge">RSS / подписки</span>
</article>
<article class="card card-featured" data-reveal>
<img class="card-icon" src="{{ url_for('static', filename='images/4get.png')}}" alt="" loading="lazy">
<div class="card-body">
<h3>4get</h3>
<p>Самописная мета-поисковая система: параллельно опрашивает несколько
поисковиков и выдаёт объединённую выдачу без рекламы и слежки.
Расположена по адресу <a class="inline-link" href="https://search.srcoder.moe" rel="noopener">search.srcoder.moe</a>.</p>
</div>
<span class="card-badge">поиск</span>
</article>
</div>
</section>
<section class="section" id="about">
<div class="about" data-reveal>
<div class="about-text">
<span class="section-tag">// о сервере</span>
<p>
Хостер моего сервера — <a class="inline-link" href="https://play2go.cloud" rel="noopener">Play2Go</a>:
он предоставляет хорошие тарифы на виртуальные серверы по доступной цене
и современное оборудование. Из минусов — иногда случаются проблемы с сетью,
но в целом для моих задач подходит хорошо.
</p>
<h3 class="about-sub">Характеристики сервера</h3>
<dl class="spec-list">
<div class="spec-row">
<dt>Процессор</dt>
<dd>2 vCPU AMD Ryzen 9 5950X</dd>
</div>
<div class="spec-row">
<dt>Оперативная память</dt>
<dd>4 GB DDR4</dd>
</div>
<div class="spec-row">
<dt>Хранилище</dt>
<dd>120 GB NVMe SSD</dd>
</div>
<div class="spec-row">
<dt>Скорость сети</dt>
<dd>До 1 Gbit/s</dd>
</div>
<div class="spec-row">
<dt>Защита от DDoS</dt>
<dd>Мощная защита от атак L3–L4</dd>
</div>
</dl>
<a href="{{ url_for('author') }}" class="btn btn-primary about-btn">Страница об авторе →</a>
</div>
<div class="about-terminal" aria-hidden="true">
<div class="terminal-bar">
<span class="dot red"></span><span class="dot yellow"></span><span class="dot green"></span>
<span class="terminal-title">srcoder@srv</span>
</div>
<pre class="terminal-body"><code id="typed"></code></pre>
</div>
</div>
</section>
</main>
<footer class="site-footer">
<div class="footer-inner">
<div class="footer-col footer-left">
<span class="footer-badge"><span class="pulse"></span>Сервер существует с 2025 года</span>
</div>
<div class="footer-col footer-center">
<a href="https://git.srcoder.moe/Black_Raven/srcoder.moe" rel="noopener">
Исходный код сайта
</a>
</div>
<div class="footer-col footer-right">
<a href="mailto:w0ron.black@yandex.ru">w0ron.black@yandex.ru</a>
</div>
</div>
</footer>
<script src="{{ url_for('static', filename='js/main.js') }}"></script>
</body>
</html>