mirror of
https://github.com/tomasriveral/vps-config.git
synced 2026-08-12 02:28:38 +02:00
add basic webserver
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
tomasrivera.ch {
|
||||||
|
root * /srv/www
|
||||||
|
file_server
|
||||||
|
}
|
||||||
|
|
||||||
archive.tomasrivera.ch {
|
archive.tomasrivera.ch {
|
||||||
reverse_proxy archivebox:8000
|
reverse_proxy archivebox:8000
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ services:
|
|||||||
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
||||||
- caddy_data:/data
|
- caddy_data:/data
|
||||||
- caddy_config:/config
|
- caddy_config:/config
|
||||||
|
- /home/tomasr/vps-config/web-server:/srv/www
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,70 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Private VPS Server</title>
|
||||||
|
<link rel="stylesheet" href="style.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<header>
|
||||||
|
<h1>Private VPS Server</h1>
|
||||||
|
<p>
|
||||||
|
Welcome to my private server. This VPS hosts my personal services,
|
||||||
|
tools, and applications that I use for productivity, archiving,
|
||||||
|
reading, and managing my own data. Everything here is self-hosted
|
||||||
|
and maintained by me.
|
||||||
|
</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h2>Self-hosting</h2>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>URL</th>
|
||||||
|
<th>Name</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://archive.tomasrivera.ch">archive.tomasrivera.ch</a></td>
|
||||||
|
<td>ArchiveBox</td>
|
||||||
|
<td>Personal web archive for saving webpages, articles, and online content.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://video-archive.tomasrivera.ch">video-archive.tomasrivera.ch</a></td>
|
||||||
|
<td>FileBrowser</td>
|
||||||
|
<td>Web archive of videos as I can't get ArchiveBox to use yt-dlp correctly</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://hledger.tomasrivera.ch">hledger.tomasrivera.ch</a></td>
|
||||||
|
<td>hledger-web</td>
|
||||||
|
<td>Web version of hledger, a robust, friendly, fast plain text accounting software
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://rss.tomasrivera.ch">rss.tomasrivera.ch</a></td>
|
||||||
|
<td>FreshRSS</td>
|
||||||
|
<td>Self-hosted RSS reader for following websites and news feeds.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://tomasrivera.ch">tomasrivera.ch</a></td>
|
||||||
|
<td>Personal Website</td>
|
||||||
|
<td>This homepage served directly by Caddy.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
<p> All of these services behind a login screen. If you need acces to one of these services, contact me.</p>
|
||||||
|
<p> This vps config is hosted on <a href="https://github.com/tomasriveral/vps-config">GitHub</a></p>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
:root {
|
||||||
|
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
||||||
|
color: #222;
|
||||||
|
background: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
max-width: 900px;
|
||||||
|
margin: auto;
|
||||||
|
background: white;
|
||||||
|
padding: 2.5rem;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
margin-top: 0;
|
||||||
|
font-size: 2.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
margin-top: 2.5rem;
|
||||||
|
border-bottom: 1px solid #ddd;
|
||||||
|
padding-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
line-height: 1.6;
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse;
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
text-align: left;
|
||||||
|
background: #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
th,
|
||||||
|
td {
|
||||||
|
padding: 0.75rem;
|
||||||
|
border-bottom: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #0066cc;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 700px) {
|
||||||
|
body {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
padding: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user