intial commit
@@ -0,0 +1,29 @@
|
||||
:80 {
|
||||
redir https://{host}{uri} permanent
|
||||
}
|
||||
|
||||
:443 {
|
||||
tls /certs/multi.crt /certs/multi.key
|
||||
root * /srv/www/site
|
||||
file_server
|
||||
handle /gitea* {
|
||||
uri strip_prefix /gitea
|
||||
reverse_proxy gitea:3000
|
||||
}
|
||||
# packages registry path
|
||||
handle /v2/* {
|
||||
reverse_proxy gitea:3000
|
||||
}
|
||||
handle /metube* {
|
||||
uri strip_prefix /metube
|
||||
reverse_proxy metube:8081
|
||||
}
|
||||
handle /dl* {
|
||||
uri strip_prefix /dl
|
||||
root * /srv/www/dl
|
||||
file_server browse
|
||||
}
|
||||
handle /ftp* {
|
||||
reverse_proxy copyparty:3923
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
services:
|
||||
caddy:
|
||||
image: caddy@sha256:844f60b64e4724a5aa8245e019dace0d3f199f7433ce6c57676cb30a920dbad9 # 2.11.4
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
||||
- ./certs:/certs:ro
|
||||
- ./site:/srv/www/site:ro
|
||||
- ./dl:/srv/www/dl:ro
|
||||
- caddy_data:/data
|
||||
- caddy_config:/config
|
||||
networks:
|
||||
copyparty_net:
|
||||
ipv4_address: 172.30.0.3
|
||||
gitea_net:
|
||||
metube_net:
|
||||
|
||||
networks:
|
||||
copyparty_net:
|
||||
external: true
|
||||
gitea_net:
|
||||
external: true
|
||||
metube_net:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
caddy_data:
|
||||
caddy_config:
|
||||
|
||||
|
After Width: | Height: | Size: 111 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,242 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>DA HELL</title>
|
||||
<link rel="icon" type="image/png" href="favicon.png">
|
||||
|
||||
<style>
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 20px;
|
||||
background: #008080;
|
||||
font-family: "MS Sans Serif", Tahoma, Geneva, sans-serif;
|
||||
font-size: 14px;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.window {
|
||||
width: min(720px, 100%);
|
||||
margin: 0 auto;
|
||||
background: #c0c0c0;
|
||||
border: 2px solid;
|
||||
border-color: #ffffff #404040 #404040 #ffffff;
|
||||
box-shadow: inset -1px -1px #000, inset 1px 1px #dfdfdf;
|
||||
}
|
||||
|
||||
.titlebar {
|
||||
background: linear-gradient(to right, #000080, #1084d0);
|
||||
color: white;
|
||||
padding: 4px 8px;
|
||||
font-weight: bold;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.titlebar span {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
margin-bottom: 14px;
|
||||
border: 2px groove #c0c0c0;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
legend {
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
.warning {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.warning img {
|
||||
width: min(280px, 100%);
|
||||
image-rendering: pixelated;
|
||||
border: 2px inset #c0c0c0;
|
||||
background: black;
|
||||
}
|
||||
|
||||
.warning h1 {
|
||||
margin: 0;
|
||||
font-size: 34px;
|
||||
}
|
||||
|
||||
.warning h2 {
|
||||
margin: 6px 0 18px;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.warning p {
|
||||
margin: 4px 0;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
details {
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
summary {
|
||||
cursor: pointer;
|
||||
padding: 2px 0;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.items {
|
||||
background: #fff;
|
||||
border: 2px inset #c0c0c0;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.items div {
|
||||
padding: 2px 4px;
|
||||
}
|
||||
|
||||
.items div:hover {
|
||||
background: #000080;
|
||||
}
|
||||
|
||||
.items div:hover a {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.items a {
|
||||
display: block;
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.note {
|
||||
padding: 6px 4px;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.warning h1 {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.warning h2 {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.warning p {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="window">
|
||||
|
||||
<div class="titlebar">
|
||||
<span>
|
||||
<img src="wha.webp" onclick="alert('Кто понял - тот понял')" class="icon">
|
||||
DA HELL
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
|
||||
<fieldset>
|
||||
<legend>STOI! СТОЙ! HALT!</legend>
|
||||
|
||||
<div class="warning">
|
||||
|
||||
<img src="spin.gif" alt="spin">
|
||||
|
||||
<div>
|
||||
<h1>СТОЙ!</h1>
|
||||
<h2>КАК ТЫ СЮДА ПОПАЛ?!</h2>
|
||||
|
||||
<p><b>HALT!</b></p>
|
||||
<p>HOW DID YOU GET HERE?!</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>Глянь сюда :)</legend>
|
||||
|
||||
<details>
|
||||
<summary>Разный хлам</summary>
|
||||
|
||||
<div class="items">
|
||||
|
||||
<div>
|
||||
<a href="/dl">
|
||||
<img src="hat.webp" class="icon">
|
||||
Ништяки (Loot)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<a href="/metube/">
|
||||
<img src="movie.webp" class="icon">
|
||||
MeTube
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<a href="/gitea">
|
||||
<img src="pc.webp" class="icon">
|
||||
Gitea
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="note">
|
||||
<img src="build.webp" class="icon">
|
||||
Minecraft
|
||||
<img src="build.webp" class="icon">
|
||||
<br>
|
||||
Port: <b>25565</b><br>
|
||||
Version: <b>1.5.2</b>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</details>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 6.4 MiB |
|
After Width: | Height: | Size: 2.0 KiB |