Services & Credentials Reference

Project: "Where Has Benny Been?" - Mad Monkey Marketing Campaign

Jump to: Domains IP Addresses Email Services Databases API Keys Docker Containers CLI Tools

Domain Names & URLs

Primary Domains

Short URL Domain: mmlnk.us

www subdomain: www.mmlnk.us (redirects to apex)

Admin Interface: admin.mmlnk.us (IP-restricted to 10.0.0.157)

Main Website: mad-monkey-creations.com

www subdomain: www.mad-monkey-creations.com

n8n Instance: n8n.janness.com

Traefik Dashboard: traefik.janness.com

Listmonk: list.mad-monkey-creations.com

n8n Webhooks: hooks.mad-monkey-creations.com

Deprecated Domains (No longer used)

Old Email App: list.mmc.fit

Old Landing Page: benny.mmc.fit

Reason: Changed to mmlnk.us and mad-monkey-creations.com subpaths

IP Addresses

Network Architecture - Single Docker Host

All services run on: 10.0.0.250 (bennybeen)

External IP: 76.150.65.61 (DYNAMIC - can change)

DNS Update Process: See DNS-UPDATE-PROCESS.md when external IP changes

Docker Host: bennybeen (10.0.0.250)

Service Port Domain Status
PostgreSQL 5432 Internal only Planned
n8n 5678 n8n.janness.com Planned
Shlink 8081 mmlnk.us, admin.mmlnk.us Planned
Traefik Dashboard 8080 traefik.janness.com Planned
Listmonk 9000 list.mad-monkey-creations.com Planned
HTTP 80 All domains Active
HTTPS 443 All domains Active

Server Access

Server Hostname: bennybeen

Internal IP: 10.0.0.250

External IP: 76.150.65.61 (dynamic)

SSH User: bennybeen

Project Path: /home/bennybeen/mad-monkey/

Admin Whitelist IP: 10.0.0.157

Email Services

ForwardMail.net (Primary Email Provider)

Purpose: SMTP relay and email delivery

Status: ACTIVE

SMTP Server: smtp.forwardemail.net

Port: 587

From Email: hello@mad-monkey-creations.com

Why ForwardMail.net: Better deliverability, PostgreSQL integration, webhooks, API access, no vendor lock-in

Mail Server Port Status

Port Service Status Notes
25 SMTP FILTERED Blocked by Comcast ISP
465 SMTPS OPEN Secure SMTP
587 Submission OPEN Mail submission
993 IMAPS OPEN Secure IMAP
110 POP3 CLOSED -
143 IMAP CLOSED -
995 POP3S CLOSED -

Database Information

PostgreSQL 16 (on bennybeen @ 10.0.0.250)

Host: 10.0.0.250

Port: 5432

Database: madmonkey

Username: mm_user

Password: YOUR_STRONG_PASS (placeholder)

Connection String: postgresql://mm_user:PASSWORD@10.0.0.250:5432/madmonkey

Env Variables:

POSTGRES_PASSWORD="YOUR_STRONG_PASS"
POSTGRES_USER="mm_user"
POSTGRES_DB="madmonkey"
DB_HOST="10.0.0.250"
DB_DRIVER="postgres"

Planned Tables:

Listmonk Database

Schema: listmonk

Note: Separate from app database, managed by Listmonk installer

Shlink Database

Note: Uses same PostgreSQL instance with separate schema

API Keys & Integrations

Environment Variables Required

MM_SENDER_EMAIL="hello@mad-monkey-creations.com"
MM_LANDING_BASE="https://www.mad-monkey-creations.com"
MM_REWARD_URL="https://www.mad-monkey-creations.com/reward"
MM_DISCOUNT_CODE="BANANAS10"
LISTMONK_URL="<listmonk-instance-url>"
LISTMONK_LIST_ID="<list-id>"
N8N_WEBHOOK_SECRET="********"
N8N_ENCRYPTION_KEY="<encryption-key>"
DEFAULT_DOMAIN="mmlnk.us"
ETSY_API_KEY="********"

External API Services

Service Purpose Access Level
Etsy API Product linking Read-only
TeePublic Merchandise fulfillment -
Printify API Print-on-demand fulfillment Order creation
Shlink REST API URL shortening Full access
Listmonk API Email list management Full access
ipapi.co Geolocation services Optional
ipinfo IP geolocation (alternative) Optional
Cloudflare Turnstile Bot protection/CAPTCHA -
hCaptcha Bot protection (alternative) -

Docker Container Information

Existing Containers

Container: n8n

IP: 10.0.0.198

Status: Active

Container: Traefik

Purpose: Reverse proxy with Let's Encrypt SSL

Status: Active

Planned Containers

PostgreSQL

postgres:
image: postgres:16
ports: 5432
environment:
POSTGRES_USER: app
POSTGRES_PASSWORD: YOUR_STRONG_PASS
POSTGRES_DB: app

Listmonk

listmonk:
image: listmonk/listmonk:latest
ports: 9000

Shlink

shlink:
image: shlinkio/shlink:stable
ports: 8080
environment:
DEFAULT_DOMAIN: mmlnk.us

CLI Tools & Node.js

Node.js Installation

Version: v24.12.0

Binary Location: /usr/local/bin/node

NVM Path: /home/bennybeen/.nvm/versions/node/v24.12.0/

Accessible by: bennybeen user

npm

Version: 9.2.0

Binary Location: /usr/bin/npm

Claude Code CLI

Version: 2.0.76

Binary Location: /usr/local/bin/claude

Purpose: AI assistant for automation

Security Notes