# Self-Hosted Marketing Stack Starter Kit

Two services, one command: n8n for workflow automation, NocoDB for your data layer.
This is the same starting point covered in [7 Open-Source Tools I Deploy in Every Client Marketing Stack](https://whtnxt.io/blog/open-source-marketing-stack-client-campaigns).

## Requirements

- Docker + Docker Compose installed
- Ports 5678 and 8080 free on your machine

## Run it

```bash
docker compose up -d
```

- n8n: http://localhost:5678 (default login: `admin` / `change-me-before-exposing` - set in the compose file)
- NocoDB: http://localhost:8080

Both use SQLite volumes out of the box, so there's nothing else to configure to start building workflows and bases. Ports are bound to `127.0.0.1` only - nothing here is reachable from your LAN or the internet by default.

## Before you use this for anything real

- Change `N8N_BASIC_AUTH_PASSWORD` in the compose file immediately - the shipped value is a placeholder, not a real password
- Don't remove the `127.0.0.1:` prefix on the port mappings unless you're deliberately exposing this and have a reverse proxy or [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/) with auth in front of it
- Move NocoDB to Postgres for production workloads - see [Self-Hosting NocoDB vs Airtable](https://whtnxt.io/blog/self-hosting-nocodb-airtable-alternative)
- Set n8n's `N8N_ENCRYPTION_KEY` before it holds real credentials

To see this stack wired into a full agency setup (CRM, email, e-signature, scheduling), read the [full open-source stack breakdown](https://whtnxt.io/blog/open-source-marketing-stack-client-campaigns).
