diff --git a/.gitignore b/.gitignore
index 4709035..e6d156e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,4 +20,7 @@ setup.env
*.ldif
# Docker Compose runtime artifacts
-*.log
\ No newline at end of file
+*.log
+
+# Jekyll build output (docs/ site) — generated, not committed.
+docs/_site
\ No newline at end of file
diff --git a/docs/_config.yml b/docs/_config.yml
index a1c59dc..46b8118 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -1,9 +1,41 @@
title: theta-env
-description: A unified, one-command SSO Manager + OIDC proxy stack for home labs and small businesses
-theme: jekyll-theme-cayman
-show_downloads: false
+description: A unified, one-command SSO Manager + OIDC proxy stack for home labs and small businesses.
+url: "https://theta42.github.io"
+baseurl: "/theta-env"
+logo: /assets/img/theta42.svg
+lang: en_US
+
+plugins:
+ - jekyll-seo-tag
+ - jekyll-sitemap
+
github:
repository_url: https://github.com/theta42/theta-env
zip_url: https://github.com/theta42/theta-env/archive/refs/heads/master.zip
tar_url: https://github.com/theta42/theta-env/archive/refs/heads/master.tar.gz
- repository_name: theta42/theta-env
\ No newline at end of file
+ repository_name: theta42/theta-env
+
+nav:
+ - title: Home
+ page: /
+ icon: fa-house
+ - title: Quickstart
+ page: /quickstart.html
+ icon: fa-rocket
+ - title: Architecture
+ page: /architecture.html
+ icon: fa-sitemap
+ - title: Standalone
+ page: /standalone.html
+ icon: fa-puzzle-piece
+ - title: Changelog
+ url: https://github.com/theta42/theta-env/blob/master/CHANGELOG.md
+ icon: fa-list
+
+defaults:
+ - scope:
+ path: ""
+ type: "pages"
+ values:
+ layout: default
+ image: /assets/img/theta42.svg
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
new file mode 100644
index 0000000..39af120
--- /dev/null
+++ b/docs/_layouts/default.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+ {% seo title=false %}
+ {% if page.title %}{{ page.title }} · {% endif %}{{ site.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/architecture.md b/docs/architecture.md
index 1e80100..189bcc9 100644
--- a/docs/architecture.md
+++ b/docs/architecture.md
@@ -1,6 +1,7 @@
---
layout: default
title: Architecture
+description: How theta-env composes the SSO Manager and proxy submodules — the OIDC/LDAP wiring setup.sh generates from one domain.
---
# Architecture
diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css
new file mode 100644
index 0000000..e24a5de
--- /dev/null
+++ b/docs/assets/css/style.css
@@ -0,0 +1,116 @@
+/* theta42 docs site — shares the in-app dark navbar/footer + card look
+ (Bootstrap 5 + Font Awesome, same as the running apps) rather than a
+ generic Jekyll theme. */
+
+body {
+ background-color: #f4f5f6;
+}
+
+.navbar-brand img {
+ filter: drop-shadow(0 0 2px rgba(0, 0, 0, .4));
+}
+
+.navbar-nav .nav-link.active {
+ color: #fff;
+ font-weight: 600;
+}
+
+/* Markdown content typography, scoped to the card body so it doesn't leak
+ into the nav/footer. */
+.site-content h1:first-child {
+ margin-top: 0;
+}
+
+.site-content h1,
+.site-content h2,
+.site-content h3 {
+ font-weight: 700;
+}
+
+.site-content h2 {
+ margin-top: 2.5rem;
+ padding-bottom: .4rem;
+ border-bottom: 1px solid #e9ecef;
+}
+
+.site-content h3 {
+ margin-top: 1.75rem;
+}
+
+.site-content a {
+ color: #a3671f;
+ text-decoration-color: rgba(163, 103, 31, .35);
+}
+
+.site-content a:hover {
+ color: #8a5a16;
+}
+
+.site-content pre {
+ background-color: #212529;
+ color: #f8f9fa;
+ padding: 1rem 1.25rem;
+ border-radius: .375rem;
+ overflow-x: auto;
+}
+
+.site-content code {
+ color: #a3671f;
+ background-color: #f4f0e8;
+ padding: .15em .4em;
+ border-radius: .25rem;
+ font-size: .875em;
+}
+
+.site-content pre code {
+ color: inherit;
+ background: none;
+ padding: 0;
+}
+
+.site-content table {
+ display: block;
+ overflow-x: auto;
+ width: 100%;
+ border-collapse: collapse;
+ margin: 1.25rem 0;
+}
+
+.site-content table th,
+.site-content table td {
+ border: 1px solid #dee2e6;
+ padding: .5rem .75rem;
+ text-align: left;
+}
+
+.site-content table th {
+ background-color: #f8f9fa;
+}
+
+.site-content blockquote {
+ border-left: 4px solid #C59341;
+ padding: .5rem 1rem;
+ margin: 1.25rem 0;
+ background-color: #f8f6f1;
+ color: #495057;
+}
+
+.site-content img {
+ max-width: 100%;
+ height: auto;
+}
+
+/* Screenshot grids in the markdown use width="49%" inline attrs for a
+ two-up desktop layout -- stack them on narrow screens instead of
+ squeezing to illegibility. */
+@media (max-width: 576px) {
+ .site-content img[width] {
+ width: 100% !important;
+ margin-bottom: .75rem;
+ }
+}
+
+.site-content hr {
+ margin: 2rem 0;
+ border-top: 1px solid #e9ecef;
+}
diff --git a/docs/assets/img/theta42.svg b/docs/assets/img/theta42.svg
new file mode 100644
index 0000000..e598305
--- /dev/null
+++ b/docs/assets/img/theta42.svg
@@ -0,0 +1,51 @@
+
diff --git a/docs/index.md b/docs/index.md
index b6202a1..aab802e 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,6 +1,7 @@
---
layout: default
title: Home
+description: A unified, one-command SSO Manager + OIDC proxy stack for home labs and small businesses. Wires together a self-hosted identity provider and a reverse proxy with one setup.sh.
---
# theta-env
@@ -58,15 +59,6 @@ any time to converge the stack to `./config/`. For the full config reference,
architecture, and running each project standalone, see the
**[GitHub repository](https://github.com/theta42/theta-env)**.
-## More docs
-
-- **[Quickstart](quickstart.html)** — prerequisites and a step-by-step first run.
-- **[Architecture](architecture.html)** — how the pieces fit together.
-- **[Running each project standalone](standalone.html)** — using the SSO
- Manager or the proxy on their own, without theta-env.
-- **[Changelog](https://github.com/theta42/theta-env/blob/master/CHANGELOG.md)**
- — what changed in each release.
-
## Related projects
- **[SSO Manager](https://theta42.github.io/sso-manager-node/)** — the OIDC
diff --git a/docs/quickstart.md b/docs/quickstart.md
index 56b883e..a7fb1de 100644
--- a/docs/quickstart.md
+++ b/docs/quickstart.md
@@ -1,6 +1,7 @@
---
layout: default
title: Quickstart
+description: Step-by-step first run for theta-env — prerequisites, setup.env, and bringing up the stack with ./setup.sh.
---
# Quickstart Guide
diff --git a/docs/robots.txt b/docs/robots.txt
new file mode 100644
index 0000000..0b4daa1
--- /dev/null
+++ b/docs/robots.txt
@@ -0,0 +1,4 @@
+User-agent: *
+Allow: /
+
+Sitemap: https://theta42.github.io/theta-env/sitemap.xml
diff --git a/docs/standalone.md b/docs/standalone.md
index 621f987..d5b66fd 100644
--- a/docs/standalone.md
+++ b/docs/standalone.md
@@ -1,6 +1,7 @@
---
layout: default
title: Standalone
+description: Running the SSO Manager or the proxy on their own, without theta-env's orchestration.
---
# Running each project standalone