Initial site + Dockerfile
Static holding page for anilstocker.org, served by nginx:alpine.
This commit is contained in:
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
*.swp
|
||||||
|
.idea/
|
||||||
|
.vscode/
|
||||||
4
Dockerfile
Normal file
4
Dockerfile
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
FROM nginx:alpine
|
||||||
|
COPY site/ /usr/share/nginx/html/
|
||||||
|
EXPOSE 80
|
||||||
|
HEALTHCHECK --interval=30s --timeout=3s CMD wget -qO- http://127.0.0.1/ >/dev/null || exit 1
|
||||||
19
README.md
19
README.md
@@ -1,3 +1,20 @@
|
|||||||
# anilstocker-web
|
# anilstocker-web
|
||||||
|
|
||||||
Source for anilstocker.org
|
Source for https://anilstocker.org — static holding page served via nginx.
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
- `site/` — web root. Everything here is served at `/` by nginx.
|
||||||
|
- `Dockerfile` — builds a tiny `nginx:alpine` image with `site/` as web root.
|
||||||
|
|
||||||
|
## Local preview
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build -t anilstocker-web .
|
||||||
|
docker run --rm -p 8080:80 anilstocker-web
|
||||||
|
# visit http://localhost:8080
|
||||||
|
```
|
||||||
|
|
||||||
|
## Deploy
|
||||||
|
|
||||||
|
Push to `main` — Coolify auto-deploys via webhook.
|
||||||
|
|||||||
71
site/index.html
Normal file
71
site/index.html
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Anil Stocker</title>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||||
|
<meta name="description" content="Anil Stocker — personal site.">
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
--fg: #111;
|
||||||
|
--muted: #666;
|
||||||
|
--bg: #fafaf7;
|
||||||
|
--accent: #0a4d8c;
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root { --fg: #eee; --muted: #999; --bg: #121212; --accent: #6aa7e0; }
|
||||||
|
}
|
||||||
|
* { box-sizing: border-box; }
|
||||||
|
html, body { margin: 0; padding: 0; }
|
||||||
|
body {
|
||||||
|
font-family: ui-serif, Georgia, "Times New Roman", serif;
|
||||||
|
background: var(--bg);
|
||||||
|
color: var(--fg);
|
||||||
|
min-height: 100vh;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
line-height: 1.55;
|
||||||
|
padding: 2rem;
|
||||||
|
}
|
||||||
|
main { max-width: 560px; }
|
||||||
|
h1 {
|
||||||
|
font-size: clamp(2rem, 4.5vw, 2.75rem);
|
||||||
|
font-weight: 400;
|
||||||
|
letter-spacing: -0.01em;
|
||||||
|
margin: 0 0 0.5rem;
|
||||||
|
}
|
||||||
|
.tag {
|
||||||
|
color: var(--muted);
|
||||||
|
font-size: 1rem;
|
||||||
|
margin: 0 0 2rem;
|
||||||
|
}
|
||||||
|
p { margin: 0 0 1rem; }
|
||||||
|
a {
|
||||||
|
color: var(--accent);
|
||||||
|
text-decoration: none;
|
||||||
|
border-bottom: 1px solid currentColor;
|
||||||
|
}
|
||||||
|
a:hover { opacity: 0.8; }
|
||||||
|
.meta {
|
||||||
|
margin-top: 2.5rem;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
color: var(--muted);
|
||||||
|
font-family: ui-monospace, Menlo, Consolas, monospace;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<h1>Anil Stocker</h1>
|
||||||
|
<p class="tag">Building what is next.</p>
|
||||||
|
<p>After leading Kriya Finance for over a decade — a UK B2B embedded finance platform sold to Allica Bank in 2025 — I am exploring the next venture, applying AI natively to financial and professional services.</p>
|
||||||
|
<p>More here soon. In the meantime:
|
||||||
|
<a href="https://www.linkedin.com/in/anilstocker">LinkedIn</a>
|
||||||
|
·
|
||||||
|
<a href="mailto:anil.stocker@gmail.com">Email</a>
|
||||||
|
</p>
|
||||||
|
<p class="meta">anilstocker.org</p>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user