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
- Add docker-compose.yml for one-command deploy (git clone && docker compose up -d)
- Add docker-compose.coolify.yml for Coolify deployments
- Add GitHub Actions workflow to publish cap-media-server image
- Add standalone Dockerfile for media-server
- Update README with quick start section
- Rewrite self-hosting docs with clear instructions
Self-hosting now works with zero configuration for local testing.
For production, users set environment variables for URLs and passwords.
[](https://railway.com/new/template/PwpGcf)
31
46
32
-
Cap Desktop can connect to your self-hosted Cap Web instance regardless of if you build it yourself or [download from our website](https://cap.so/download).
47
+
### Production Configuration
48
+
49
+
For production, create a `.env` file:
50
+
51
+
```bash
52
+
CAP_URL=https://cap.yourdomain.com
53
+
S3_PUBLIC_URL=https://s3.yourdomain.com
54
+
```
55
+
56
+
See our [self-hosting docs](https://cap.so/docs/self-hosting) for full configuration options including email setup, AI features, and SSL.
57
+
58
+
Cap Desktop can connect to your self-hosted instance via Settings → Cap Server URL.
@@ -27,49 +24,170 @@ and how to configure email login links.
27
24
></iframe>
28
25
</div>
29
26
30
-
## Deployment Methods
27
+
## Quick Start (One Command)
28
+
29
+
The fastest way to self-host Cap is with Docker Compose. This single command will start everything you need:
30
+
31
+
```bash
32
+
git clone https://github.com/CapSoftware/Cap.git
33
+
cd Cap
34
+
docker compose up -d
35
+
```
36
+
37
+
That's it! Cap will be available at `http://localhost:3000`.
38
+
39
+
Login links will appear in the logs since email isn't configured:
40
+
```bash
41
+
docker compose logs cap-web
42
+
```
43
+
44
+
## Deployment Options
45
+
46
+
### Option 1: Docker Compose (Recommended)
47
+
48
+
Best for VPS, home servers, or any Docker-capable host.
49
+
50
+
**What's included:**
51
+
- Cap Web application
52
+
- Media server (FFmpeg processing)
53
+
- MySQL database
54
+
- MinIO (S3-compatible storage)
31
55
32
-
### Deploying with Railway
56
+
**Steps:**
57
+
1. Clone the repository
58
+
2. Run `docker compose up -d`
59
+
3. Access Cap at `http://localhost:3000`
33
60
34
-
One-click deployment via Railway is the easiest way to deploy Cap Web.
35
-
The button below will take you to the Cap Web Railway template,
36
-
which will deploy the Cap Web Docker image, a MySQL database,
37
-
and [MinIO](https://min.io) for storing videos.
61
+
**Custom configuration:**
62
+
63
+
Create a `.env` file to customize your deployment:
64
+
65
+
```bash
66
+
# Public URL (required for production)
67
+
CAP_URL=https://cap.yourdomain.com
68
+
69
+
# S3 public URL (for video playback)
70
+
S3_PUBLIC_URL=https://s3.yourdomain.com
71
+
72
+
# Optional: Custom ports
73
+
CAP_PORT=3000
74
+
MINIO_PORT=9000
75
+
76
+
# Optional: Custom passwords (auto-generated if not set)
77
+
MYSQL_PASSWORD=your-secure-password
78
+
MINIO_ROOT_PASSWORD=your-minio-password
79
+
```
80
+
81
+
### Option 2: Railway (One-Click)
38
82
39
83
[](https://railway.com/new/template/PwpGcf)
40
84
41
-
Once deployed, login email links will be available in Railway’s Deploy Logs.
85
+
Railway provides a fully managed deployment with automatic SSL and scaling.
86
+
Login credentials appear in Railway's Deploy Logs after deployment.
42
87
43
-
### Custom Deployment with Docker
88
+
### Option 3: Coolify
44
89
45
-
The [Cap Web Docker image](https://github.com/CapSoftware/Cap/pkgs/container/cap-web)
46
-
allows you to deploy Cap Web anywhere you like.
47
-
You will need to connect your own MySQL database and S3-compatible storage.
48
-
Refer to the [Docker Compose template](https://github.com/CapSoftware/Cap/blob/main/docker-compose.template.yml)
49
-
for an example setup, including necessary environment variables.
90
+
For Coolify users, use `docker-compose.coolify.yml` which includes environment variable placeholders:
91
+
92
+
1. Create a new Docker Compose project in Coolify
93
+
2. Point to the Cap repository
94
+
3. Set compose file to `docker-compose.coolify.yml`
95
+
4. Configure environment variables in Coolify's UI
96
+
5. Deploy
50
97
51
98
## Connecting Cap Desktop
52
99
53
-
Copy the URL of your Cap Web deployment, and set the 'Cap Server URL'
54
-
in Cap Desktop's settings page to this URL.
55
-
Uploads from Cap Desktop will now be sent to your Cap Web deployment.
100
+
1. Open Cap Desktop settings
101
+
2. Set 'Cap Server URL' to your deployment URL (e.g., `https://cap.yourdomain.com`)
102
+
3.Uploads will now go to your self-hosted instance
56
103
57
-
## Email Login Links
104
+
## Email Configuration
58
105
59
-
If the `RESEND_API_KEY` and `RESEND_FROM_DOMAIN` environment variables are not set,
60
-
login links will be written to the server logs.
61
-
To send login links via email, you'll need to configure [Resend](https://resend.com):
106
+
By default, login links are printed to the server logs. To send emails:
62
107
63
108
1. Create an account at [Resend](https://resend.com)
64
-
2. Connect a domain and set it as `RESEND_FROM_DOMAIN`
65
-
3. Generate an API key and set it as `RESEND_API_KEY`
109
+
2. Add these environment variables:
110
+
```bash
111
+
RESEND_API_KEY=re_xxxxx
112
+
RESEND_FROM_DOMAIN=yourdomain.com
113
+
```
114
+
115
+
## Optional Features
66
116
67
-
##Other Configuration
117
+
### AI Features
68
118
69
-
See [`env/server.ts`](https://github.com/CapSoftware/Cap/blob/main/packages/env/server.ts) for a description of all environment variables you can configure.
119
+
For video transcription and AI summaries:
120
+
121
+
```bash
122
+
DEEPGRAM_API_KEY=your-key # Transcription
123
+
GROQ_API_KEY=your-key # AI summaries (preferred)
124
+
OPENAI_API_KEY=your-key # AI summaries (fallback)
125
+
```
126
+
127
+
### Google OAuth
128
+
129
+
```bash
130
+
GOOGLE_CLIENT_ID=your-client-id
131
+
GOOGLE_CLIENT_SECRET=your-secret
132
+
```
133
+
134
+
## Production Checklist
135
+
136
+
> **Important:** The default configuration uses placeholder passwords suitable for local testing only. For production, you must set secure values via environment variables.
137
+
138
+
For production deployments:
139
+
140
+
-[ ] Set secure passwords: `MYSQL_PASSWORD`, `MINIO_ROOT_PASSWORD`
0 commit comments