docs: new root as prior history lost (orphan + GC); ~215 commits not recoverable
This commit is contained in:
commit
96961f23f5
268 changed files with 24161 additions and 0 deletions
28
configs/bonfire/README.md
Normal file
28
configs/bonfire/README.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# Bonfire — bonfire.hacktivism.ch
|
||||
|
||||
| Item | Value |
|
||||
|------|--------|
|
||||
| Live | `/home/hernani/koopa-bonfire/` |
|
||||
| Image | `bonfirenetworks/bonfire:1.0.5-social-amd64` |
|
||||
| Port | **9021** → Caddy |
|
||||
| Ground zero | `2026/2026-07-09--bonfire-ground-zero.md` |
|
||||
|
||||
Secrets: `koopa-admin-secrets/…/koopa-bonfire/{.env,users.env}`.
|
||||
|
||||
**Upstream:** [Running your own](https://docs.bonfirenetworks.org/running-your-own.html), [Hosting guide](https://docs.bonfirenetworks.org/deploy.html) (we use podman-compose, not Co-op Cloud).
|
||||
|
||||
## Branding
|
||||
|
||||
Hacktivism theme + hacktivism magician logo. `scripts/bonfire/apply-branding.sh`.
|
||||
Logo bind-mount: `2026/2026-07-11--bonfire-logo-not-served.md`.
|
||||
|
||||
## Boot
|
||||
|
||||
```bash
|
||||
scripts/bonfire/install-systemd.sh
|
||||
```
|
||||
|
||||
Units: `container-koopa-bonfire-db`, `container-koopa-bonfire`, `gitbot-mirror`.
|
||||
Needs `loginctl enable-linger hernani`. Run `podman-compose up -d` once before first boot.
|
||||
|
||||
Public feeds: `public-feeds.md`.
|
||||
90
configs/bonfire/assets/img/favicon.svg
Normal file
90
configs/bonfire/assets/img/favicon.svg
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" width="128" height="128" role="img" aria-label="Wizard flying on magic wand, blue robe">
|
||||
<!-- Original Kamek-inspired mark; not Nintendo art. No filters/transforms for clean raster. -->
|
||||
|
||||
<!-- motion streaks -->
|
||||
<line x1="4" y1="64" x2="22" y2="64" stroke="#5eead4" stroke-width="2.5" stroke-linecap="round" opacity="0.55"/>
|
||||
<line x1="6" y1="74" x2="20" y2="74" stroke="#38bdf8" stroke-width="2" stroke-linecap="round" opacity="0.45"/>
|
||||
<line x1="8" y1="54" x2="20" y2="54" stroke="#fde68a" stroke-width="2" stroke-linecap="round" opacity="0.45"/>
|
||||
|
||||
<!-- ground shadow -->
|
||||
<ellipse cx="64" cy="118" rx="30" ry="5" fill="#000" opacity="0.2"/>
|
||||
|
||||
<!-- ===== MAGIC WAND (mount) — diagonal, thick gold shaft ===== -->
|
||||
<!-- sits under the rider from lower-left to upper-right -->
|
||||
<line x1="6" y1="100" x2="108" y2="72" stroke="#92400e" stroke-width="11" stroke-linecap="round"/>
|
||||
<line x1="6" y1="100" x2="108" y2="72" stroke="#e8a838" stroke-width="7" stroke-linecap="round"/>
|
||||
<line x1="6" y1="100" x2="108" y2="72" stroke="#fde68a" stroke-width="2" stroke-linecap="round" opacity="0.75"/>
|
||||
|
||||
<!-- wand jewel (front tip) -->
|
||||
<circle cx="112" cy="70" r="13" fill="#f59e0b" stroke="#fff7ed" stroke-width="3"/>
|
||||
<circle cx="108" cy="66" r="4.5" fill="#fef9c3"/>
|
||||
<!-- sparkles at tip -->
|
||||
<polygon points="120,54 121.6,58.5 126,60 121.6,61.5 120,66 118.4,61.5 114,60 118.4,58.5" fill="#fef08a"/>
|
||||
<polygon points="102,56 103,59 106,60 103,61 102,64 101,61 98,60 101,59" fill="#5eead4"/>
|
||||
<circle cx="118" cy="78" r="2" fill="#bae6fd"/>
|
||||
|
||||
<!-- ===== RIDER on top of wand ===== -->
|
||||
<!-- blue cape fluttering left -->
|
||||
<path d="M38 78 C18 82, 10 98, 8 110 C22 98, 34 96, 40 92 Z" fill="#1e3a8a"/>
|
||||
<path d="M40 80 C22 88, 14 104, 12 112 C28 100, 36 98, 42 94 Z" fill="#1d4ed8"/>
|
||||
|
||||
<!-- BLUE ROBE (body sitting ON shaft) -->
|
||||
<ellipse cx="54" cy="86" rx="28" ry="22" fill="#1d4ed8"/>
|
||||
<ellipse cx="54" cy="84" rx="24" ry="18" fill="#2563eb"/>
|
||||
<!-- white trim -->
|
||||
<path d="M32 74 Q54 94 76 74" fill="none" stroke="#f8fafc" stroke-width="4" stroke-linecap="round"/>
|
||||
<path d="M36 82 Q54 98 72 82" fill="none" stroke="#e2e8f0" stroke-width="2.5" stroke-linecap="round"/>
|
||||
|
||||
<!-- green shell -->
|
||||
<ellipse cx="66" cy="92" rx="13" ry="11" fill="#16a34a"/>
|
||||
<ellipse cx="66" cy="92" rx="6" ry="5" fill="#86efac" opacity="0.75"/>
|
||||
|
||||
<!-- legs over the wand -->
|
||||
<ellipse cx="42" cy="100" rx="10" ry="7" fill="#1e40af"/>
|
||||
<ellipse cx="60" cy="102" rx="10" ry="7" fill="#1e40af"/>
|
||||
<!-- yellow feet hanging past shaft -->
|
||||
<ellipse cx="38" cy="106" rx="7" ry="4.5" fill="#fbbf24"/>
|
||||
<ellipse cx="64" cy="108" rx="7" ry="4.5" fill="#fbbf24"/>
|
||||
|
||||
<!-- left arm forward -->
|
||||
<ellipse cx="30" cy="82" rx="9" ry="7" fill="#1d4ed8"/>
|
||||
<circle cx="24" cy="78" r="5.5" fill="#fbbf24"/>
|
||||
<!-- right arm up -->
|
||||
<ellipse cx="74" cy="74" rx="9" ry="7" fill="#1d4ed8"/>
|
||||
<circle cx="80" cy="68" r="5.5" fill="#fbbf24"/>
|
||||
<circle cx="82" cy="60" r="5" fill="#38bdf8"/>
|
||||
<circle cx="81" cy="58" r="1.8" fill="#e0f2fe"/>
|
||||
|
||||
<!-- ===== HEAD ===== -->
|
||||
<ellipse cx="54" cy="50" rx="26" ry="24" fill="#fbbf24"/>
|
||||
<ellipse cx="54" cy="53" rx="21" ry="17" fill="#fcd34d"/>
|
||||
<ellipse cx="34" cy="54" rx="6" ry="4" fill="#fb923c" opacity="0.4"/>
|
||||
<ellipse cx="74" cy="54" rx="6" ry="4" fill="#fb923c" opacity="0.4"/>
|
||||
|
||||
<!-- glasses -->
|
||||
<circle cx="42" cy="50" r="10" fill="#bae6fd" fill-opacity="0.4" stroke="#0f172a" stroke-width="3"/>
|
||||
<circle cx="66" cy="50" r="10" fill="#bae6fd" fill-opacity="0.4" stroke="#0f172a" stroke-width="3"/>
|
||||
<line x1="52" y1="50" x2="56" y2="50" stroke="#0f172a" stroke-width="3"/>
|
||||
<line x1="32" y1="47" x2="24" y2="42" stroke="#0f172a" stroke-width="2.5" stroke-linecap="round"/>
|
||||
<line x1="76" y1="47" x2="84" y2="42" stroke="#0f172a" stroke-width="2.5" stroke-linecap="round"/>
|
||||
<circle cx="44" cy="50" r="3" fill="#0f172a"/>
|
||||
<circle cx="68" cy="50" r="3" fill="#0f172a"/>
|
||||
<circle cx="45.2" cy="48.8" r="1.1" fill="#fff"/>
|
||||
<circle cx="69.2" cy="48.8" r="1.1" fill="#fff"/>
|
||||
|
||||
<!-- snout + mustache -->
|
||||
<ellipse cx="54" cy="62" rx="8" ry="5" fill="#f59e0b"/>
|
||||
<path d="M36 64 Q46 74 54 70 Q62 74 72 64 Q64 72 54 74 Q44 72 36 64 Z" fill="#f8fafc"/>
|
||||
<path d="M44 66 Q54 74 64 66" fill="none" stroke="#92400e" stroke-width="2.2" stroke-linecap="round"/>
|
||||
|
||||
<!-- BLUE pointed hat -->
|
||||
<path d="M28 44 L54 2 L80 44 Z" fill="#1d4ed8"/>
|
||||
<path d="M36 44 L54 10 L72 44 Z" fill="#3b82f6" opacity="0.5"/>
|
||||
<ellipse cx="54" cy="44" rx="30" ry="8" fill="#1e40af"/>
|
||||
<ellipse cx="54" cy="42.5" rx="26" ry="5" fill="#2563eb"/>
|
||||
<ellipse cx="54" cy="44" rx="30" ry="8" fill="none" stroke="#f8fafc" stroke-width="2.2"/>
|
||||
<polygon points="54,12 55.6,16.8 60.5,18.4 55.6,20 54,24.8 52.4,20 47.5,18.4 52.4,16.8" fill="#f8fafc"/>
|
||||
<polygon points="42,22 43.1,25.2 46.2,26.4 43.1,27.6 42,30.8 40.9,27.6 37.8,26.4 40.9,25.2" fill="#fef08a"/>
|
||||
<circle cx="54" cy="4" r="6" fill="#f8fafc"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
BIN
configs/bonfire/assets/img/logo.png
Normal file
BIN
configs/bonfire/assets/img/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 96 KiB |
90
configs/bonfire/assets/img/logo.svg
Normal file
90
configs/bonfire/assets/img/logo.svg
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" width="128" height="128" role="img" aria-label="Wizard flying on magic wand, blue robe">
|
||||
<!-- Original Kamek-inspired mark; not Nintendo art. No filters/transforms for clean raster. -->
|
||||
|
||||
<!-- motion streaks -->
|
||||
<line x1="4" y1="64" x2="22" y2="64" stroke="#5eead4" stroke-width="2.5" stroke-linecap="round" opacity="0.55"/>
|
||||
<line x1="6" y1="74" x2="20" y2="74" stroke="#38bdf8" stroke-width="2" stroke-linecap="round" opacity="0.45"/>
|
||||
<line x1="8" y1="54" x2="20" y2="54" stroke="#fde68a" stroke-width="2" stroke-linecap="round" opacity="0.45"/>
|
||||
|
||||
<!-- ground shadow -->
|
||||
<ellipse cx="64" cy="118" rx="30" ry="5" fill="#000" opacity="0.2"/>
|
||||
|
||||
<!-- ===== MAGIC WAND (mount) — diagonal, thick gold shaft ===== -->
|
||||
<!-- sits under the rider from lower-left to upper-right -->
|
||||
<line x1="6" y1="100" x2="108" y2="72" stroke="#92400e" stroke-width="11" stroke-linecap="round"/>
|
||||
<line x1="6" y1="100" x2="108" y2="72" stroke="#e8a838" stroke-width="7" stroke-linecap="round"/>
|
||||
<line x1="6" y1="100" x2="108" y2="72" stroke="#fde68a" stroke-width="2" stroke-linecap="round" opacity="0.75"/>
|
||||
|
||||
<!-- wand jewel (front tip) -->
|
||||
<circle cx="112" cy="70" r="13" fill="#f59e0b" stroke="#fff7ed" stroke-width="3"/>
|
||||
<circle cx="108" cy="66" r="4.5" fill="#fef9c3"/>
|
||||
<!-- sparkles at tip -->
|
||||
<polygon points="120,54 121.6,58.5 126,60 121.6,61.5 120,66 118.4,61.5 114,60 118.4,58.5" fill="#fef08a"/>
|
||||
<polygon points="102,56 103,59 106,60 103,61 102,64 101,61 98,60 101,59" fill="#5eead4"/>
|
||||
<circle cx="118" cy="78" r="2" fill="#bae6fd"/>
|
||||
|
||||
<!-- ===== RIDER on top of wand ===== -->
|
||||
<!-- blue cape fluttering left -->
|
||||
<path d="M38 78 C18 82, 10 98, 8 110 C22 98, 34 96, 40 92 Z" fill="#1e3a8a"/>
|
||||
<path d="M40 80 C22 88, 14 104, 12 112 C28 100, 36 98, 42 94 Z" fill="#1d4ed8"/>
|
||||
|
||||
<!-- BLUE ROBE (body sitting ON shaft) -->
|
||||
<ellipse cx="54" cy="86" rx="28" ry="22" fill="#1d4ed8"/>
|
||||
<ellipse cx="54" cy="84" rx="24" ry="18" fill="#2563eb"/>
|
||||
<!-- white trim -->
|
||||
<path d="M32 74 Q54 94 76 74" fill="none" stroke="#f8fafc" stroke-width="4" stroke-linecap="round"/>
|
||||
<path d="M36 82 Q54 98 72 82" fill="none" stroke="#e2e8f0" stroke-width="2.5" stroke-linecap="round"/>
|
||||
|
||||
<!-- green shell -->
|
||||
<ellipse cx="66" cy="92" rx="13" ry="11" fill="#16a34a"/>
|
||||
<ellipse cx="66" cy="92" rx="6" ry="5" fill="#86efac" opacity="0.75"/>
|
||||
|
||||
<!-- legs over the wand -->
|
||||
<ellipse cx="42" cy="100" rx="10" ry="7" fill="#1e40af"/>
|
||||
<ellipse cx="60" cy="102" rx="10" ry="7" fill="#1e40af"/>
|
||||
<!-- yellow feet hanging past shaft -->
|
||||
<ellipse cx="38" cy="106" rx="7" ry="4.5" fill="#fbbf24"/>
|
||||
<ellipse cx="64" cy="108" rx="7" ry="4.5" fill="#fbbf24"/>
|
||||
|
||||
<!-- left arm forward -->
|
||||
<ellipse cx="30" cy="82" rx="9" ry="7" fill="#1d4ed8"/>
|
||||
<circle cx="24" cy="78" r="5.5" fill="#fbbf24"/>
|
||||
<!-- right arm up -->
|
||||
<ellipse cx="74" cy="74" rx="9" ry="7" fill="#1d4ed8"/>
|
||||
<circle cx="80" cy="68" r="5.5" fill="#fbbf24"/>
|
||||
<circle cx="82" cy="60" r="5" fill="#38bdf8"/>
|
||||
<circle cx="81" cy="58" r="1.8" fill="#e0f2fe"/>
|
||||
|
||||
<!-- ===== HEAD ===== -->
|
||||
<ellipse cx="54" cy="50" rx="26" ry="24" fill="#fbbf24"/>
|
||||
<ellipse cx="54" cy="53" rx="21" ry="17" fill="#fcd34d"/>
|
||||
<ellipse cx="34" cy="54" rx="6" ry="4" fill="#fb923c" opacity="0.4"/>
|
||||
<ellipse cx="74" cy="54" rx="6" ry="4" fill="#fb923c" opacity="0.4"/>
|
||||
|
||||
<!-- glasses -->
|
||||
<circle cx="42" cy="50" r="10" fill="#bae6fd" fill-opacity="0.4" stroke="#0f172a" stroke-width="3"/>
|
||||
<circle cx="66" cy="50" r="10" fill="#bae6fd" fill-opacity="0.4" stroke="#0f172a" stroke-width="3"/>
|
||||
<line x1="52" y1="50" x2="56" y2="50" stroke="#0f172a" stroke-width="3"/>
|
||||
<line x1="32" y1="47" x2="24" y2="42" stroke="#0f172a" stroke-width="2.5" stroke-linecap="round"/>
|
||||
<line x1="76" y1="47" x2="84" y2="42" stroke="#0f172a" stroke-width="2.5" stroke-linecap="round"/>
|
||||
<circle cx="44" cy="50" r="3" fill="#0f172a"/>
|
||||
<circle cx="68" cy="50" r="3" fill="#0f172a"/>
|
||||
<circle cx="45.2" cy="48.8" r="1.1" fill="#fff"/>
|
||||
<circle cx="69.2" cy="48.8" r="1.1" fill="#fff"/>
|
||||
|
||||
<!-- snout + mustache -->
|
||||
<ellipse cx="54" cy="62" rx="8" ry="5" fill="#f59e0b"/>
|
||||
<path d="M36 64 Q46 74 54 70 Q62 74 72 64 Q64 72 54 74 Q44 72 36 64 Z" fill="#f8fafc"/>
|
||||
<path d="M44 66 Q54 74 64 66" fill="none" stroke="#92400e" stroke-width="2.2" stroke-linecap="round"/>
|
||||
|
||||
<!-- BLUE pointed hat -->
|
||||
<path d="M28 44 L54 2 L80 44 Z" fill="#1d4ed8"/>
|
||||
<path d="M36 44 L54 10 L72 44 Z" fill="#3b82f6" opacity="0.5"/>
|
||||
<ellipse cx="54" cy="44" rx="30" ry="8" fill="#1e40af"/>
|
||||
<ellipse cx="54" cy="42.5" rx="26" ry="5" fill="#2563eb"/>
|
||||
<ellipse cx="54" cy="44" rx="30" ry="8" fill="none" stroke="#f8fafc" stroke-width="2.2"/>
|
||||
<polygon points="54,12 55.6,16.8 60.5,18.4 55.6,20 54,24.8 52.4,20 47.5,18.4 52.4,16.8" fill="#f8fafc"/>
|
||||
<polygon points="42,22 43.1,25.2 46.2,26.4 43.1,27.6 42,30.8 40.9,27.6 37.8,26.4 40.9,25.2" fill="#fef08a"/>
|
||||
<circle cx="54" cy="4" r="6" fill="#f8fafc"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
55
configs/bonfire/compose.yml
Normal file
55
configs/bonfire/compose.yml
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
# koopa-bonfire — ground zero (host Caddy → :9021)
|
||||
services:
|
||||
web:
|
||||
image: docker.io/bonfirenetworks/bonfire:1.0.5-social-amd64
|
||||
container_name: koopa-bonfire
|
||||
restart: unless-stopped
|
||||
env_file: [.env]
|
||||
environment:
|
||||
POSTGRES_HOST: db
|
||||
HOSTNAME: bonfire.hacktivism.ch
|
||||
PUBLIC_PORT: "443"
|
||||
SERVER_PORT: "4000"
|
||||
DB_MIGRATE_INDEXES_CONCURRENTLY: "false"
|
||||
MIX_ENV: prod
|
||||
ports:
|
||||
- "9021:4000"
|
||||
volumes:
|
||||
- ./data/uploads:/opt/app/data/uploads
|
||||
# Bind-mount into priv/static/images (Bonfire serves /images/* from there).
|
||||
- ./data/branding/logo.svg:/opt/app/lib/bonfire-1.0.5-social/priv/static/images/hacktivism-logo.svg:ro
|
||||
- ./data/branding/favicon.svg:/opt/app/lib/bonfire-1.0.5-social/priv/static/images/hacktivism-favicon.svg:ro
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
labels:
|
||||
org.hacktivism.service: bonfire
|
||||
org.hacktivism.host_port: "9021"
|
||||
org.hacktivism.site: bonfire.hacktivism.ch
|
||||
org.hacktivism.managed_by: koopa-admin
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -q -O /dev/null http://127.0.0.1:4000/ || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
start_period: 180s
|
||||
|
||||
db:
|
||||
image: docker.io/library/postgres:15-alpine
|
||||
container_name: koopa-bonfire-db
|
||||
restart: unless-stopped
|
||||
env_file: [.env]
|
||||
environment:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_DB: bonfire_db
|
||||
volumes:
|
||||
- db-data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres -d bonfire_db"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 20
|
||||
start_period: 10s
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
21
configs/bonfire/container-koopa-bonfire-db.service
Normal file
21
configs/bonfire/container-koopa-bonfire-db.service
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# user systemd - Postgres for Bonfire
|
||||
[Unit]
|
||||
Description=Bonfire Postgres (koopa-bonfire-db)
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=%t/containers
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
Restart=on-failure
|
||||
RestartSec=15
|
||||
TimeoutStartSec=300
|
||||
TimeoutStopSec=70
|
||||
WorkingDirectory=/home/hernani/koopa-bonfire
|
||||
ExecStart=/usr/bin/podman-compose up -d db
|
||||
ExecStop=/usr/bin/podman stop -t 30 koopa-bonfire-db
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
21
configs/bonfire/container-koopa-bonfire.service
Normal file
21
configs/bonfire/container-koopa-bonfire.service
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# user systemd - Bonfire web
|
||||
[Unit]
|
||||
Description=Bonfire web (koopa-bonfire)
|
||||
Wants=network-online.target container-koopa-bonfire-db.service
|
||||
After=network-online.target container-koopa-bonfire-db.service
|
||||
RequiresMountsFor=%t/containers
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
Restart=on-failure
|
||||
RestartSec=20
|
||||
TimeoutStartSec=300
|
||||
TimeoutStopSec=120
|
||||
WorkingDirectory=/home/hernani/koopa-bonfire
|
||||
ExecStart=/usr/bin/podman-compose up -d web
|
||||
ExecStop=/usr/bin/podman stop -t 30 koopa-bonfire
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
18
configs/bonfire/gitbot-mirror.service
Normal file
18
configs/bonfire/gitbot-mirror.service
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# user systemd - git.ngi-0.eu -> Bonfire gitbot
|
||||
|
||||
[Unit]
|
||||
Description=Bonfire gitbot (git.ngi-0.eu poll)
|
||||
Wants=network-online.target container-koopa-bonfire.service
|
||||
After=network-online.target container-koopa-bonfire.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=30
|
||||
WorkingDirectory=/home/hernani/koopa-bonfire
|
||||
ExecStart=/usr/bin/python3 /home/hernani/koopa-bonfire/bin/gitbot-mirror.py --loop
|
||||
StandardOutput=append:/home/hernani/koopa-bonfire/gitbot.log
|
||||
StandardError=append:/home/hernani/koopa-bonfire/gitbot.log
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
11
configs/bonfire/public-feeds.md
Normal file
11
configs/bonfire/public-feeds.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# Bonfire public feeds
|
||||
|
||||
Posts land in the author outbox first. Copy to local/internet feeds or guests see stale timelines.
|
||||
|
||||
**Official:** [Feed structure](https://docs.bonfirenetworks.org/feed_structure.html) (`FeedPublish`).
|
||||
No official republish recipe — SQL + gitbot below are ops workarounds.
|
||||
|
||||
- One-off SQL: `scripts/bonfire/publish-outbox-to-public.sql`
|
||||
- Gitbot: republish every cycle (`gitbot-mirror.py`)
|
||||
|
||||
Check: https://bonfire.hacktivism.ch/feed/local (not only `/`).
|
||||
29
configs/bonfire/theme-hacktivism.json
Normal file
29
configs/bonfire/theme-hacktivism.json
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"name": "hacktivism",
|
||||
"palette": "exchange-dark (git.hacktivism.ch / forgejo theme-hacktivism)",
|
||||
"colors": {
|
||||
"color-base-100": "#1a1410",
|
||||
"color-base-200": "#221c16",
|
||||
"color-base-300": "#2a2018",
|
||||
"color-base-content": "#fff6e8",
|
||||
"color-primary": "#e8a838",
|
||||
"color-primary-content": "#1a1410",
|
||||
"color-secondary": "#3d3128",
|
||||
"color-secondary-content": "#fff6e8",
|
||||
"color-accent": "#3ecfbf",
|
||||
"color-accent-content": "#0e1c1e",
|
||||
"color-neutral": "#14110e",
|
||||
"color-neutral-content": "#ebe0d0",
|
||||
"color-info": "#2563eb",
|
||||
"color-info-content": "#ffffff",
|
||||
"color-success": "#16a34a",
|
||||
"color-success-content": "#ffffff",
|
||||
"color-warning": "#f0d090",
|
||||
"color-warning-content": "#1a1410",
|
||||
"color-error": "#b91c1c",
|
||||
"color-error-content": "#ffffff",
|
||||
"radius-box": "0.875rem",
|
||||
"radius-field": "0.5rem",
|
||||
"radius-selector": "0.75rem"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue