The page that sits on the apex domain and links to the projects hosted on its subdomains. Plain HTML, CSS and JavaScript — no build step, no dependencies, no framework, no analytics, no external fonts. Four files and an nginx config.
Greek by default, with an EL/EN toggle that persists in localStorage.
Source: https://github.com/GiorgosPap777/landing-page
docker run -d --name landing -p 8430:8080 giorgospap777/landing-page
Open http://localhost:8430.
With compose:
services:
landing:
image: giorgospap777/landing-page:latest
restart: unless-stopped
ports:
- "8430:8080"
nginx:1.29-alpine-slim serving four static files on port 8080.X-Content-Type-Options: nosniff,
Referrer-Policy: no-referrer, X-Frame-Options: DENY.index.html is sent no-cache; CSS and JS get max-age=3600, since the
filenames are unhashed and a longer cache would strand an edit.HEALTHCHECK, so docker ps reports the container honestly.uptime.json, which the footer shows.The poller needs outbound HTTPS. Without it the container still serves normally; the footer simply omits the figure rather than showing a stale one.
| Variable | Default | |
|---|---|---|
STATUS_URL | https://status.ginet.vip/ | status page to read |
STATUS_POLL_SECONDS | 900 | seconds between polls |
The list lives in projects.js. Editing it means rebuilding the image, or you
can mount your own copy over it:
volumes:
- ./projects.js:/usr/share/nginx/html/projects.js:ro
latest tracks the most recent build. Version tags follow the VERSION build
argument.
Content type
Image
Digest
sha256:50b5eaf30…
Size
5.5 MB
Last updated
11 days ago
docker pull giorgospap777/landing-page