diff --git a/Caddyfile b/Caddyfile index 55116fd..fdccd63 100644 --- a/Caddyfile +++ b/Caddyfile @@ -3,6 +3,12 @@ # acme_ca https://acme-staging-v02.api.letsencrypt.org/directory # } +yaoi.dog { + root * /srv/home + file_server + encode zstd +} + post.atom.town { reverse_proxy stalwart:8080 } diff --git a/docker-compose.yml b/docker-compose.yml index 63f3e03..ef9a3d4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,6 +9,7 @@ services: - "443:443/udp" volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro,z + - ./home:/srv/home/ - caddy-data:/data - caddy-config:/config networks: diff --git a/home/clouds_test.png b/home/clouds_test.png new file mode 100644 index 0000000..fdbe445 Binary files /dev/null and b/home/clouds_test.png differ diff --git a/home/index.html b/home/index.html new file mode 100644 index 0000000..6438f0a --- /dev/null +++ b/home/index.html @@ -0,0 +1,20 @@ + + + + + atom.town + + + + + + +
+

hello, and welcome to atom.town. here, you will be at home.

+
+ webmail + git +
+
+ + diff --git a/home/reset.css b/home/reset.css new file mode 100644 index 0000000..7117dcc --- /dev/null +++ b/home/reset.css @@ -0,0 +1,44 @@ +/* CSS reset (https://www.joshwcomeau.com/css/custom-css-reset) */ +*, *::before, *::after { + box-sizing: border-box; +} + +*:not(dialog) { + margin: 0; +} + +@media (prefers-reduced-motion: no-preference) { + html { + interpolate-size: allow-keywords; + } +} + +body { + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +img, picture, video, canvas, svg { + display: block; + max-width: 100%; +} + +input, button, textarea, select { + font: inherit; +} + +p, h1, h2, h3, h4, h5, h6 { + overflow-wrap: break-word; +} + +p { + text-wrap: pretty; +} +h1, h2, h3, h4, h5, h6 { + text-wrap: balance; +} + +#root, #__next { + isolation: isolate; +} +/* CSS reset */ diff --git a/home/style.css b/home/style.css new file mode 100644 index 0000000..bfb64cc --- /dev/null +++ b/home/style.css @@ -0,0 +1,53 @@ +body { + height: 100vh; + background: url("clouds_test.png"), linear-gradient(180deg, hwb(224 30% 0%) 0%, hwb(226 90% 0%) 100%); + background-repeat: no-repeat; + background-size: cover, cover; + padding: 20px; +} + +* { + font-family: Inter, sans-serif; + color: white +} + +p, a { + font-size: 20px; + @media (max-width: 1024px) { + font-size: 30px + } + font-style: italic; +} + +p { + font-weight: 300; +} + +a { + font-weight: 400; +} + +.flex { + display: flex; + width: fit-content; +} + +.flex-col { + flex-direction: column; +} + +:root { --space: 4px } +.gap-1 { gap: calc(var(--space) * 1); } +.gap-2 { gap: calc(var(--space) * 2); } +.gap-3 { gap: calc(var(--space) * 3); } +.gap-4 { gap: calc(var(--space) * 4); } + +.pop { + display: inline-block; + transform-origin: left center; + transition: transform 0.1s ease; +} + +.pop:hover { + transform: scale(1.25); +}