Summary
The GITenberg web presence has effectively already moved to static/low-maintenance hosting — gitenberg.org is now a WordPress site on a managed shared host. The old Django site in this repo (giten_site, the giten-site2 Elastic Beanstalk environment) is now an orphaned zombie: nothing in DNS points to it, all its routes are offline, yet it's still running — on the retired Amazon Linux 2 platform (the "AL2 retirement, deadline 2026-06-30" notices) and quietly costing money.
This issue captures the current state and proposes two clean decisions: (1) retire the dead EB app + RDS, and (2) decide whether the ~55k-book catalog / metadata API should be rebuilt as static, or sunset.
Investigated 2026-07-03 (read-only). No secrets in this write-up.
Current state (verified)
Content site — already static/low-maintenance ✅
gitenberg.org and www.gitenberg.org → 67.208.34.241 = WordPress / LiteSpeed on GreenGeeks (managed shared host, off AWS entirely). It's a single "Gitenberg Project" marketing page — no book catalog, no links to books.
Django app (giten_site) — orphaned zombie ❌
ry.gitenberg.org (the app's own subdomain in ALLOWED_HOSTS) no longer resolves — the EB app is out of the DNS path.
- Every Django route 404s on the live WordPress site:
/books, /search, /all_repos.txt, /books/<id>.json|yaml, /faq. The EB URL itself only 301-redirects. So the app's features — ~55,000-book catalog + title search + metadata API — are currently offline.
- The app is Django 1.8.11 (~2015) — uses
patterns/url + include(admin.site.urls), pre-1.10 syntax. Last real deploy 2025-04-30.
AWS footprint still running (FEF-master account, us-east-1):
| Resource |
Detail |
| EB env |
giten-site2-dev3 (app giten_site2) — Status Ready / Health Green right now |
| Platform |
Python 3.8 on 64bit Amazon Linux 2 v3.8.0 — the retired AL2 platform (deadline 2026-06-30) |
| EC2 |
1× t3a.micro (i-00c6887dad2339f54, up since 2025-03-29) |
| Load balancer |
1× Application Load Balancer (awseb-AWSEB-QAP8XHEM27XZ) — the biggest cost line |
| RDS |
aaptgauwoocjjj — db.t3.micro Postgres, available, created 2022-04-21 (the Book catalog DB) |
Rough idle cost ≈ $35–45/month (ALB + RDS + instance + EBS) for something serving no traffic — plus the maintenance/security liability of an EOL platform and the recurring health/retirement alerts.
What the app actually is (why staticizing is easy)
The entire dynamic surface is one Book table (gitensite/apps/bookinfo/models.py): book_id, repo_name, title, language, yaml. Its source of truth is the GITenberg GitHub metadata — each book repo's metadata.yaml loaded via gitenberg.metadata.Pandata. The Postgres table is just a cache; the catalog is regenerable from GitHub.
Routes (gitensite/urls.py):
/, /faq, /get-involved, /license, /newsletter/<n> → already static TemplateViews (no data).
/books, /search → SearchView: lists Book, optional ?q= → title__icontains. That's the whole "search."
/all_repos.txt → dump of book_id\trepo_url.
/books/<id>.json|yaml → per-book metadata.
Catalog scale ≈ 55,312 books (assets/GITenberg_repos_list_2.tsv).
Decision 1 — Retire the orphaned EB app + RDS
Nothing points to it; features are offline; platform is retired. Retiring it ends the alerts, the AL2 deadline, and the ~$35–45/mo.
- Preserve first: dump the RDS
Book table (or confirm the catalog is fully re-derivable from GitHub) and snapshot the RDS before teardown.
- Then terminate the EB environment (removes EC2 + ALB + ASG) and delete/snapshot the RDS.
Decision 2 — Catalog + metadata API: rebuild static, or sunset?
It's currently offline, so "do nothing" = permanent sunset. If it should live on, it's trivially static (this is the actual "archive mode" work, and it's small):
- Content pages → static HTML (or fold into the WordPress site).
/books + search → one pre-generated static JSON index (~55k rows) + client-side search (Pagefind/Lunr). title__icontains maps directly to client-side filtering.
/all_repos.txt + /books/<id>.json|yaml → generated static files, regenerated from GitHub metadata via a scheduled GitHub Action.
- Host on S3 + CloudFront (the stated preference, "like the EbookFoundation site") or GitHub Pages (org is already on GitHub).
Why GITenberg is a good "archive-mode" pilot
It's ~80% done already (content site is off AWS). The only live questions are "retire the zombie" (clearly yes) and "resurrect the catalog as static or let it stay gone?" — a small, low-stakes decision that also clears a standing alert. Much more concrete than speculating about archive mode on unglue.it.
Access note
The AWS inventory above was read-only from the FEF-master account. Teardown (Decision 1) and any S3/CloudFront hosting (Decision 2) are also in that account — coordinate access accordingly.
Summary
The GITenberg web presence has effectively already moved to static/low-maintenance hosting —
gitenberg.orgis now a WordPress site on a managed shared host. The old Django site in this repo (giten_site, thegiten-site2Elastic Beanstalk environment) is now an orphaned zombie: nothing in DNS points to it, all its routes are offline, yet it's still running — on the retired Amazon Linux 2 platform (the "AL2 retirement, deadline 2026-06-30" notices) and quietly costing money.This issue captures the current state and proposes two clean decisions: (1) retire the dead EB app + RDS, and (2) decide whether the ~55k-book catalog / metadata API should be rebuilt as static, or sunset.
Investigated 2026-07-03 (read-only). No secrets in this write-up.
Current state (verified)
Content site — already static/low-maintenance ✅
gitenberg.organdwww.gitenberg.org→67.208.34.241= WordPress / LiteSpeed on GreenGeeks (managed shared host, off AWS entirely). It's a single "Gitenberg Project" marketing page — no book catalog, no links to books.Django app (
giten_site) — orphaned zombie ❌ry.gitenberg.org(the app's own subdomain inALLOWED_HOSTS) no longer resolves — the EB app is out of the DNS path./books,/search,/all_repos.txt,/books/<id>.json|yaml,/faq. The EB URL itself only 301-redirects. So the app's features — ~55,000-book catalog + title search + metadata API — are currently offline.patterns/url+include(admin.site.urls), pre-1.10 syntax. Last real deploy 2025-04-30.AWS footprint still running (FEF-master account, us-east-1):
giten-site2-dev3(appgiten_site2) — Status Ready / Health Green right nowt3a.micro(i-00c6887dad2339f54, up since 2025-03-29)awseb-AWSEB-QAP8XHEM27XZ) — the biggest cost lineaaptgauwoocjjj—db.t3.microPostgres, available, created 2022-04-21 (theBookcatalog DB)Rough idle cost ≈ $35–45/month (ALB + RDS + instance + EBS) for something serving no traffic — plus the maintenance/security liability of an EOL platform and the recurring health/retirement alerts.
What the app actually is (why staticizing is easy)
The entire dynamic surface is one
Booktable (gitensite/apps/bookinfo/models.py):book_id, repo_name, title, language, yaml. Its source of truth is the GITenberg GitHub metadata — each book repo'smetadata.yamlloaded viagitenberg.metadata.Pandata. The Postgres table is just a cache; the catalog is regenerable from GitHub.Routes (
gitensite/urls.py):/,/faq,/get-involved,/license,/newsletter/<n>→ already staticTemplateViews (no data)./books,/search→SearchView: listsBook, optional?q=→title__icontains. That's the whole "search."/all_repos.txt→ dump ofbook_id\trepo_url./books/<id>.json|yaml→ per-book metadata.Catalog scale ≈ 55,312 books (
assets/GITenberg_repos_list_2.tsv).Decision 1 — Retire the orphaned EB app + RDS
Nothing points to it; features are offline; platform is retired. Retiring it ends the alerts, the AL2 deadline, and the ~$35–45/mo.
Booktable (or confirm the catalog is fully re-derivable from GitHub) and snapshot the RDS before teardown.Decision 2 — Catalog + metadata API: rebuild static, or sunset?
It's currently offline, so "do nothing" = permanent sunset. If it should live on, it's trivially static (this is the actual "archive mode" work, and it's small):
/books+ search → one pre-generated static JSON index (~55k rows) + client-side search (Pagefind/Lunr).title__icontainsmaps directly to client-side filtering./all_repos.txt+/books/<id>.json|yaml→ generated static files, regenerated from GitHub metadata via a scheduled GitHub Action.Why GITenberg is a good "archive-mode" pilot
It's ~80% done already (content site is off AWS). The only live questions are "retire the zombie" (clearly yes) and "resurrect the catalog as static or let it stay gone?" — a small, low-stakes decision that also clears a standing alert. Much more concrete than speculating about archive mode on unglue.it.
Access note
The AWS inventory above was read-only from the FEF-master account. Teardown (Decision 1) and any S3/CloudFront hosting (Decision 2) are also in that account — coordinate access accordingly.