You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+81-9Lines changed: 81 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,18 +4,90 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
4
4
5
5
## Project Overview
6
6
7
-
This is a Docker Compose setup for Ghost, a modern publishing platform. The repository currently contains a minimal structure with a `compose.yml` file for containerized deployment.
7
+
This is a comprehensive Docker Compose setup for running Ghost CMS in production with automatic HTTPS, optional analytics, and ActivityPub support. The repository orchestrates multiple services including Ghost, MySQL, Caddy (reverse proxy), and optional Tinybird analytics and ActivityPub federation.
8
+
9
+
## Architecture
10
+
11
+
The project uses Docker Compose to orchestrate these services:
12
+
13
+
1.**Ghost** - The main CMS application (runs on internal port 2368)
14
+
2.**MySQL** - Database backend with health checks and support for multiple databases
15
+
3.**Caddy** - Reverse proxy handling HTTPS/SSL, routing, and external access
16
+
4.**Traffic Analytics** (optional profile) - Tinybird integration for web analytics
17
+
5.**ActivityPub** (optional profile) - Federated social networking support
18
+
6.**Supporting services** - Tinybird setup tools and ActivityPub migrations
19
+
20
+
Services communicate internally via Docker networks. Caddy handles all external traffic routing including special paths for analytics (`/_tinybird`) and ActivityPub (`/.well-known/`, `/activitypub/`).
8
21
9
22
## Common Commands
10
23
11
-
Since this is a Docker Compose project, the primary commands will be:
24
+
```bash
25
+
# Core operations
26
+
docker compose up -d # Start Ghost + MySQL + Caddy
3. Enable developer experiments if using analytics/ActivityPub
81
+
4. Run `docker compose up -d` to start services
82
+
5. Access Ghost at `https://DOMAIN` (Caddy handles SSL automatically)
83
+
6. Monitor logs with `docker compose logs -f ghost`
84
+
85
+
For analytics setup, see `TINYBIRD.md` for detailed instructions.
86
+
87
+
## Important Notes
20
88
21
-
The project uses Docker Compose to orchestrate Ghost and its dependencies (typically MySQL/MariaDB database). The main configuration is defined in `compose.yml`.
89
+
- Ghost runs internally on port 2368; Caddy exposes it on 80/443
90
+
- Email configuration is critical even without newsletter features (used for admin notifications)
91
+
- MySQL health checks ensure database is ready before Ghost starts
92
+
- The compose file uses yaml-language-server schema for IDE completion support
93
+
- For production, always use strong passwords and consider additional security measures
0 commit comments