@cronicorn/mcp-server 1.8.1 → 1.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/self-hosting.md +172 -0
- package/package.json +1 -1
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: self-hosting
|
|
3
|
+
title: Self-Hosting Guide
|
|
4
|
+
description: Run Cronicorn on your own infrastructure with Docker Compose
|
|
5
|
+
tags:
|
|
6
|
+
- self-hosting
|
|
7
|
+
- docker
|
|
8
|
+
sidebar_position: 6
|
|
9
|
+
mcp:
|
|
10
|
+
uri: file:///docs/self-hosting.md
|
|
11
|
+
mimeType: text/markdown
|
|
12
|
+
priority: 0.8
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Self-Hosting Guide
|
|
16
|
+
|
|
17
|
+
Run Cronicorn on your own infrastructure using Docker Compose.
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
Create a `docker-compose.yml` file with the following configuration:
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
services:
|
|
25
|
+
db:
|
|
26
|
+
image: postgres:17
|
|
27
|
+
container_name: cronicorn-db
|
|
28
|
+
restart: unless-stopped
|
|
29
|
+
networks:
|
|
30
|
+
- cronicorn
|
|
31
|
+
ports:
|
|
32
|
+
- "5432:5432"
|
|
33
|
+
environment:
|
|
34
|
+
POSTGRES_USER: cronicorn
|
|
35
|
+
POSTGRES_PASSWORD: your_secure_password_here
|
|
36
|
+
POSTGRES_DB: cronicorn
|
|
37
|
+
healthcheck:
|
|
38
|
+
test: ["CMD-SHELL", "pg_isready -U cronicorn"]
|
|
39
|
+
interval: 10s
|
|
40
|
+
timeout: 5s
|
|
41
|
+
retries: 5
|
|
42
|
+
volumes:
|
|
43
|
+
- cronicorn-db:/var/lib/postgresql/data
|
|
44
|
+
|
|
45
|
+
migrator:
|
|
46
|
+
image: ghcr.io/weskerllc/cronicorn/migrator:latest
|
|
47
|
+
container_name: cronicorn-migrator
|
|
48
|
+
restart: no
|
|
49
|
+
networks:
|
|
50
|
+
- cronicorn
|
|
51
|
+
depends_on:
|
|
52
|
+
db:
|
|
53
|
+
condition: service_healthy
|
|
54
|
+
environment:
|
|
55
|
+
DATABASE_URL: postgresql://cronicorn:your_secure_password_here@db:5432/cronicorn
|
|
56
|
+
|
|
57
|
+
api:
|
|
58
|
+
image: ghcr.io/weskerllc/cronicorn/api:latest
|
|
59
|
+
container_name: cronicorn-api
|
|
60
|
+
restart: unless-stopped
|
|
61
|
+
networks:
|
|
62
|
+
- cronicorn
|
|
63
|
+
depends_on:
|
|
64
|
+
db:
|
|
65
|
+
condition: service_healthy
|
|
66
|
+
migrator:
|
|
67
|
+
condition: service_completed_successfully
|
|
68
|
+
environment:
|
|
69
|
+
DATABASE_URL: postgresql://cronicorn:your_secure_password_here@db:5432/cronicorn
|
|
70
|
+
PORT: 3333
|
|
71
|
+
BETTER_AUTH_SECRET: generate_random_secret_here
|
|
72
|
+
BETTER_AUTH_URL: http://localhost:3333
|
|
73
|
+
WEB_URL: http://localhost:5173
|
|
74
|
+
API_URL: http://localhost:3333
|
|
75
|
+
GITHUB_CLIENT_ID: your_github_client_id
|
|
76
|
+
GITHUB_CLIENT_SECRET: your_github_client_secret
|
|
77
|
+
NODE_ENV: production
|
|
78
|
+
ports:
|
|
79
|
+
- "3333:3333"
|
|
80
|
+
|
|
81
|
+
scheduler:
|
|
82
|
+
image: ghcr.io/weskerllc/cronicorn/scheduler:latest
|
|
83
|
+
container_name: cronicorn-scheduler
|
|
84
|
+
restart: unless-stopped
|
|
85
|
+
networks:
|
|
86
|
+
- cronicorn
|
|
87
|
+
depends_on:
|
|
88
|
+
db:
|
|
89
|
+
condition: service_healthy
|
|
90
|
+
migrator:
|
|
91
|
+
condition: service_completed_successfully
|
|
92
|
+
environment:
|
|
93
|
+
DATABASE_URL: postgresql://cronicorn:your_secure_password_here@db:5432/cronicorn
|
|
94
|
+
NODE_ENV: production
|
|
95
|
+
|
|
96
|
+
ai-planner:
|
|
97
|
+
image: ghcr.io/weskerllc/cronicorn/ai-planner:latest
|
|
98
|
+
container_name: cronicorn-ai-planner
|
|
99
|
+
restart: unless-stopped
|
|
100
|
+
networks:
|
|
101
|
+
- cronicorn
|
|
102
|
+
depends_on:
|
|
103
|
+
db:
|
|
104
|
+
condition: service_healthy
|
|
105
|
+
migrator:
|
|
106
|
+
condition: service_completed_successfully
|
|
107
|
+
environment:
|
|
108
|
+
DATABASE_URL: postgresql://cronicorn:your_secure_password_here@db:5432/cronicorn
|
|
109
|
+
OPENAI_API_KEY: your_openai_api_key # Optional - required for AI features
|
|
110
|
+
AI_MODEL: gpt-4o-mini
|
|
111
|
+
NODE_ENV: production
|
|
112
|
+
|
|
113
|
+
web:
|
|
114
|
+
image: ghcr.io/weskerllc/cronicorn/web:latest
|
|
115
|
+
container_name: cronicorn-web
|
|
116
|
+
restart: unless-stopped
|
|
117
|
+
networks:
|
|
118
|
+
- cronicorn
|
|
119
|
+
depends_on:
|
|
120
|
+
- api
|
|
121
|
+
ports:
|
|
122
|
+
- "5173:80"
|
|
123
|
+
|
|
124
|
+
volumes:
|
|
125
|
+
cronicorn-db:
|
|
126
|
+
|
|
127
|
+
networks:
|
|
128
|
+
cronicorn:
|
|
129
|
+
driver: bridge
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Start Cronicorn
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Start all services
|
|
136
|
+
docker compose up -d
|
|
137
|
+
|
|
138
|
+
# Check logs
|
|
139
|
+
docker compose logs -f
|
|
140
|
+
|
|
141
|
+
# Stop services
|
|
142
|
+
docker compose down
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Access Points
|
|
146
|
+
|
|
147
|
+
- **Web Dashboard**: http://localhost:5173
|
|
148
|
+
- **API Server**: http://localhost:3333
|
|
149
|
+
- **API Documentation**: http://localhost:3333/reference
|
|
150
|
+
|
|
151
|
+
## Required Configuration
|
|
152
|
+
|
|
153
|
+
Update these values in your `docker-compose.yml`:
|
|
154
|
+
|
|
155
|
+
1. **Database Password**: Replace `your_secure_password_here`
|
|
156
|
+
2. **Auth Secret**: Replace `generate_random_secret_here` with a random string
|
|
157
|
+
3. **GitHub OAuth**: Add your `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET`
|
|
158
|
+
4. **OpenAI API Key**: Add `OPENAI_API_KEY` if using AI features
|
|
159
|
+
|
|
160
|
+
## Optional: Custom Domain
|
|
161
|
+
|
|
162
|
+
To use a custom domain, update these environment variables:
|
|
163
|
+
|
|
164
|
+
```yaml
|
|
165
|
+
BETTER_AUTH_URL: https://your-domain.com
|
|
166
|
+
WEB_URL: https://your-domain.com
|
|
167
|
+
API_URL: https://api.your-domain.com
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
**More detailed documentation coming soon**, including production deployment, scaling, and monitoring.
|