Browse Source

init gitcitadel branch: port 9085, GitCitadel identity

- compose.hub.yaml: project name → gitcitadel, default HTTP_PUBLISH → 127.0.0.1:9085
  (matches Apache ProxyPass to http://127.0.0.1:9085/ on gitcitadel.imwald.eu)
- .env.dist: HTTP_PORT=9085, HTTP_PUBLISH=127.0.0.1:9085 (uncommented)
- config/unfold.yaml: site name/description/theme/relays/nip05_domain updated for
  GitCitadel; npub and d_tag_magazine marked TODO until the org values are known

Co-authored-by: Cursor <cursoragent@cursor.com>
gitcitadel
Silberengel 2 weeks ago
parent
commit
bd2f9db52e
  1. 7
      .env.dist
  2. 7
      compose.hub.yaml
  3. 52
      config/unfold.yaml

7
.env.dist

@ -22,7 +22,7 @@ APP_SECRET=9e287f1ad737386dde46d51e80487236 @@ -22,7 +22,7 @@ APP_SECRET=9e287f1ad737386dde46d51e80487236
###< symfony/framework-bundle ###
###> docker ###
# Dev URL: http://127.0.0.1:${HTTP_PORT}/ (override HTTP_PORT/HTTPS_PORT if busy).
HTTP_PORT=9080
HTTP_PORT=9085
HTTPS_PORT=9443
# SERVER_NAME=:80
# If MYSQL_* changed after the DB volume exists: docker compose down -v (wipes data), then up.
@ -46,9 +46,8 @@ MYSQL_ROOT_PASSWORD=root_password @@ -46,9 +46,8 @@ MYSQL_ROOT_PASSWORD=root_password
# PREWARM_FLAGS=
# Comma-separated magazine category #d slugs to refresh first when app:prewarm runs out of time before all categories (see MagazineRefresher).
# MAGAZINE_PREWARM_PREFER_SLUGS=
# compose.hub.yaml: default host port is 9080. Use 80 only if nothing else binds it. Loopback-only example:
# HTTP_PUBLISH=127.0.0.1:9080
# HTTP_PUBLISH=80
# compose.hub.yaml: Apache reverse-proxies to 127.0.0.1:9085 (gitcitadel.imwald.eu vhost).
HTTP_PUBLISH=127.0.0.1:9085
# Optional: silence verbose Symfony deprecation output in the CLI. See Symfony docs for values (max[direct]=N, etc.).
# SYMFONY_DEPRECATIONS_HELPER=weak
# Optional: Nostr per-relay WebSocket timeout in seconds. Default: `nostr_relay_request_timeout_sec` in config/unfold.yaml

7
compose.hub.yaml

@ -12,8 +12,7 @@ @@ -12,8 +12,7 @@
# Required in .env: APP_SECRET. Set MYSQL_* (or replace DATABASE_URL after editing this file) if you
# use the bundled database. For TLS in front, set TRUSTED_PROXIES to include your reverse proxy CIDR.
#
# Host HTTP port defaults to 9080 (same idea as local dev) so Apache/nginx can keep :80. Override with
# HTTP_PUBLISH=80 or HTTP_PUBLISH=127.0.0.1:9080 in .env if needed.
# Host port: Apache proxies gitcitadel.imwald.eu → 127.0.0.1:9085. HTTP_PUBLISH is set in .env.
#
# Build & push (on your machine or CI), e.g.:
# docker build --platform linux/amd64 --target frankenphp_prod -t silberengel/unfold:latest .
@ -21,7 +20,7 @@ @@ -21,7 +20,7 @@
#
# Override image: UNFOLD_DOCKER_IMAGE=myregistry/unfold:1.0.0 docker compose -f compose.hub.yaml up -d
name: unfold
name: gitcitadel
services:
php:
@ -38,7 +37,7 @@ services: @@ -38,7 +37,7 @@ services:
- caddy_data:/data
- caddy_config:/config
ports:
- "${HTTP_PUBLISH:-9080}:80/tcp"
- "${HTTP_PUBLISH:-127.0.0.1:9085}:80/tcp"
# Caddy/FrankenPHP only listen after the entrypoint finishes DB wait + migrations — allow a slow
# first MySQL + migrate on a small host (avoids "unhealthy" + failed `up` for dependents).
# Liveness: GET /health (see HealthController), not /.

52
config/unfold.yaml

@ -6,18 +6,18 @@ parameters: @@ -6,18 +6,18 @@ parameters:
# Per-relay WebSocket I/O (seconds) in NostrClient; also default_socket_timeout during app:prewarm.
nostr_relay_request_timeout_sec: 12
name: 'Nostr, Curated Thoughtfully'
short_name: 'Imwald Blog'
description: 'A selection of my own Nostr long-form articles and articles from other authors, selected for the quality of their writing and the depth of their analysis.'
name: 'GitCitadel'
short_name: 'GitCitadel'
description: 'GitCitadel — Nostr-native open-source software development tools and infrastructure.'
og_headline: 'Nostr, Curated Thoughtfully'
og_subheading: 'Imwald Blog by Laeserin'
og_headline: 'GitCitadel'
og_subheading: 'Nostr-native developer tools'
default_relay: 'wss://theforest.nostr1.com'
default_relay: 'wss://thecitadel.nostr1.com'
# Extra wss:// URLs for article sync (articles:get), comment threads (NIP-22 / getArticleDiscussion),
# and any request that merges the default set with author-specific relays. default_relay is first; duplicates ignored.
article_relays: [
'wss://thecitadel.nostr1.com'
'wss://theforest.nostr1.com'
]
# Kind-0 / profile fetches (author metadata, prewarm). Tried first, then default + article_relays (deduped).
# Also used as a second pass for kind 30040 (magazine category indices) and category long-form ingest
@ -25,29 +25,26 @@ parameters: @@ -25,29 +25,26 @@ parameters:
profile_relays: [
'wss://profiles.nostr1.com'
]
# Example:
# article_relays:
# - 'wss://nos.lol'
# - 'wss://relay.ditto.pub'
# Magazine identity for data-theme=… (CSS hooks). Unrelated to light/dark color scheme.
theme: 'imwald'
theme_color: '#8c2f1c'
theme_bg_color: '#f1ebe4'
theme: 'gitcitadel'
theme_color: '#1a3a5c'
theme_bg_color: '#f0f4f8'
# Per–color-scheme stylesheets: logical asset names under assets/theme/{local,default}/ (see asset_mapper paths).
# imwald: light = editorial cream tokens; dark = second sheet (warm charcoal). Set theme_stylesheet_dark to ''
# to ship only one magazine theme and hide the footer sun/moon control.
# Set theme_stylesheet_dark to '' to disable the footer scheme toggle and ship only one theme.
theme_stylesheet_light: 'theme.css'
theme_stylesheet_dark: 'theme-dark.css'
npub: 'npub1m4ny6hjqzepn4rxknuq94c2gpqzr29ufkkw7ttcxyak7v43n6vvsajc2jl'
# TODO: replace with the GitCitadel organisation npub
npub: 'npub1TODO'
# Kind 30040 magazine root #d (NIP-33). Exposed as `d_tag` for backward compatibility.
d_tag_magazine: 'newsroom-magazine-on-imwald-by-laeserin'
# TODO: replace with the GitCitadel magazine root d-tag
d_tag_magazine: 'gitcitadel-magazine'
d_tag: '%d_tag_magazine%'
# Whether to show community articles on the home page
community_articles: true
# Domain for site-assigned NIP-05 for featured (magazine category) authors; must match the host serving /.well-known/nostr.json
nip05_domain: 'blog.imwald.eu'
nip05_domain: 'gitcitadel.imwald.eu'
# Base URL for "Open in Jumble" on author profile (trailing slash optional; npub is appended as /{npub}).
jumble_profile_users_base: 'https://jumble.imwald.eu/users'
# Base for event threads: {base}/{nevent1...} (NIP-19 nevent, not raw hex id).
@ -55,16 +52,13 @@ parameters: @@ -55,16 +52,13 @@ parameters:
# Comma-separated category #d slugs to fetch first in app:prewarm after the root (see MagazineRefresher).
magazine_prewarm_prefer_slugs_empty: ''
magazine_prewarm_prefer_slugs: '%env(default:magazine_prewarm_prefer_slugs_empty:MAGAZINE_PREWARM_PREFER_SLUGS)%'
# Extra category #d slugs to 30040-fetch in prewarm right after prefer (before the rest of roots a tags), so budget runs still hit new categories.
# Extra category #d slugs to 30040-fetch in prewarm right after prefer (before the rest of root's a tags), so budget runs still hit new categories.
magazine_prewarm_also_slugs_empty: ''
magazine_prewarm_also_slugs: '%env(default:magazine_prewarm_also_slugs_empty:MAGAZINE_PREWARM_ALSO_SLUGS)%'
external_links:
- title: "Unfold"
url: "https://git.imwald.eu/silberengel/unfold/src/branch/imwald"
description: "This site’s Unfold source (imwald branch)."
- title: "Decent Newsroom"
url: "https://decentnewsroom.com/mag/newsroom-magazine-on-imwald-by-laeserin"
description: "Decentralized magazine platform. View the magazine on Decent Newsroom."
- title: "Alexandria"
url: "https://next-alexandria.gitcitadel.eu/publication/naddr/naddr1qvzqqqr4tqpzphtxf40yq9jr82xdd8cqtts5szqyx5tcndvaukhsvfmduetr85ceqqnkuethwdex7mmd94kkzemp0f5kuefddahz66tdwaskcepdvfuj6mrpv4ek2unfdcycjhwp"
description: "View the magazine on Alexandria."
- title: "GitCitadel on GitHub"
url: "https://github.com/gitcitadel"
description: "GitCitadel open-source repositories."
- title: "Unfold source"
url: "https://git.imwald.eu/silberengel/unfold/src/branch/gitcitadel"
description: "This site's Unfold source (gitcitadel branch)."

Loading…
Cancel
Save