Restore contact email in website (public-facing).
Use env var reference for workflow notification address.
Clean up backlog task notes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SMTP host, port, and sender address are now sourced from
.env like all other credentials. No service-identifying
details remain in tracked files.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All secrets now come from .env file on the server.
No default/fallback values for any credentials.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace all Resend HTTP API calls with n8n built-in emailSend
nodes using Mailcow SMTP at mx.jeffemmett.com:587 (STARTTLS).
Add SMTP env vars and n8n API key to docker-compose config.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Set up backlog tracking for CosmoLocal. Task-1 documents completed
infrastructure: Mailcow SMTP, Docmost workspace, Listmonk newsletter
list with per-list RBAC for Bryan, and email DNS authentication.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move RESEND_API_KEY and Listmonk credentials to .env file
on the server. No secrets should be committed to the repo.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
n8n community edition doesn't have Settings > Variables.
Pass TWENTY_API_KEY and RESEND_API_KEY as container
environment variables instead, accessible via $env.* in workflows.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds n8n workflow automation with PostgreSQL backend,
Traefik routing for automate.cosmolocal.world, and
isolated internal network for the database.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace plain hero with rich forest-green gradient, radial glow
effects, and subtle grid pattern. Remove "Bridging cosmic
perspective with local action" tagline. Hero heading is now
just "Cosmolocal Foundation" with white-on-dark treatment.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Expand site from 4 to 9 sections with vision, mission pillars,
8 strategic priorities, founder bio (Michel Bauwens), investment
case with Cosmo-Local Financing Facility, core values from
Social Charter, and governance framework. Sticky nav with
backdrop blur, updated metadata/OpenGraph.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Next.js 16 + Tailwind CSS landing page with hero, about, mission,
and contact sections. Dockerized for Netcup deployment with Traefik.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 15:27:33 +00:00
4 changed files with 17 additions and 15 deletions
@ -6,16 +6,18 @@ Import these JSON files into [automate.cosmolocal.world](https://automate.cosmol
API keys are passed as **Docker environment variables** in `docker-compose.yml` (n8n community edition doesn't support Settings > Variables). The workflows access them via `$env.VARIABLE_NAME`.
| Variable | Description | Where to find |
|----------|-------------|---------------|
| `TWENTY_API_KEY` | Twenty CRM API key | crm.cosmolocal.world > Settings > API Keys |
| `SMTP_USER` | Mailcow SMTP username | e.g. `hello@cosmolocal.world` |
| `SMTP_SENDER` | From address for outgoing email |
| `LISTMONK_CREDENTIALS` | Listmonk `user:pass` |
| `N8N_DB_PASSWORD` | n8n PostgreSQL password |
Email is sent via **Mailcow SMTP** (`mx.jeffemmett.com:587` STARTTLS). After importing workflows, create an SMTP credential in n8n named "Mailcow SMTP" with the host/user/pass above.
To set keys, create `/opt/websites/cosmolocal-website/.env` on the server and redeploy.
All credentials are stored in `.env` on the server (gitignored). See server admin for values.
## Workflows
@ -54,7 +56,7 @@ Syncs all CRM contacts with email addresses to Listmonk list #1. Adjust the list
**Trigger:** Weekly on Monday at 9:00 AM
**Flow:** Fetch contacts > Filter those not updated in 14+ days > Email report to team
Sends an HTML table report to `hello@cosmolocal.world` with stale contacts and a link to the CRM.
Sends an HTML table report to the team with stale contacts and a link to the CRM.
### 05 — Webhook Events (Git to CRM)
**Trigger:** Webhook POST to `/webhook/git-events`