11-linkstack.md
kstack: book: Centerpoint Home Lab chapter: Documents & Organization page: LinkStack tags: [linkstack, linktree, about-me, public, website]
Overview
emptyLinkStack is a self-hosted link-in-bio / personal landing page, serving as the
public-facing "about me" page and link hub for jeevesconsults.ca. It responds
to two separate domain names on a single Traefik route: the primary
aboutme.jeevesconsults.ca and the root www.jeevesconsults.ca.
Access
https://aboutme.jeevesconsults.ca
Public — no auth
https://www.jeevesconsults.ca
Public — no auth
Both hostnames resolve to the same LinkStack instance. No authentication middleware — this is a public-facing page.
Configuration
Image: linkstackorg/linkstack:latest
Environment Variables
HTTPS_SERVER_NAME
aboutme.jeevesconsults.ca
SERVER_ADMIN
ask@jeevesconsults.ca
PHP_MEMORY_LIMIT
512M
UPLOAD_MAX_FILESIZE
8M
TZ
America/Toronto
Traefik Labels
traefik.http.routers.linkstack.rule: Host(`aboutme.jeevesconsults.ca`) || Host(`www.jeevesconsults.ca`)
traefik.http.routers.linkstack.entrypoints: websecure
traefik.http.routers.linkstack.tls.certresolver: letsencrypt
traefik.http.services.linkstack.loadbalancer.server.port: 80
The
||in the Traefik host rule matches either domain — both resolve to the same container and present the same LinkStack profile.
Volumes / Bind Mounts
/home/jeeves/docker/linkstack/data
/htdocs
App files, config, SQLite
Notes / Gotchas
HTTPS_SERVER_NAME is set to aboutme.jeevesconsults.ca. Even though both
domains are handled by Traefik, LinkStack internally uses this value for
canonical URL generation. Links may contain this hostname.
No GeoBlock or CrowdSec on this route — it is intentionally fully public.
Monitor access logs if abuse is suspected.
LinkStack stores its own SQLite database and assets under /htdocs. The
entire data/ bind mount must be backed up to preserve the profile content.
Letsencrypt will issue certificates for both aboutme.jeevesconsults.ca and
www.jeevesconsults.ca via the same Traefik router — both must resolve to
Centerpoint's public IP in DNS for certificate issuance to succeed.
Last Updated: 2026-06-17