Add customer portal section to README with features and setup instructions
taylorwalton committed
Nov 30, 2025 at 12:47 UTC
cec517f8ae32cfaadf21044b47bee722acce7229
1 file changed
+97
-15
README.md
+97
-15
@@ -11,7 +11,9 @@ SOCFortress CoPilot
11
12
[](https://www.socfortress.co/contact_form.html)
13
14
-</h1><h4 align="center">
14
+</h1>
15
+
16
+<h4 align="center">
17
18
[SOCFortress CoPilot](https://www.socfortress.co) focuses on providing a single pane of glass for all your security operations needs. Simplify your open source security stack with a single platform focused on making open source security tools easier to use and more accessible.
19
@@ -21,6 +23,7 @@ SOCFortress CoPilot
23
24
- [Getting Started](#getting-started)
25
- [Running Copilot](#runnning-copilot)
26
+ - [Customer Portal (Optional)](#customer-portal-optional)
27
- [Upgrading Copilot](#upgrading-copilot)
28
- [Connectors](#connectors)
29
- [Help](#help)
@@ -53,12 +56,12 @@ nano /etc/docker/daemon.json
56
57
```json
58
{
56
- "dns": ["YOUR_DNS_SERVER"],
57
- "log-driver": "json-file",
58
- "log-opts": {
59
- "max-size": "10m",
60
- "max-file": "3"
61
- }
59
+ "dns": ["YOUR_DNS_SERVER"],
60
+ "log-driver": "json-file",
61
+ "log-opts": {
62
+ "max-size": "10m",
63
+ "max-file": "3"
64
+ }
65
}
66
```
67
@@ -66,13 +69,13 @@ nano /etc/docker/daemon.json
69
70
```json
71
{
69
- "dns": ["YOUR_DNS_SERVER"],
70
- "log-driver": "json-file",
71
- "log-opts": {
72
- "max-size": "10m",
73
- "max-file": "3"
74
- },
75
- "mtu": 1450
72
+ "dns": ["YOUR_DNS_SERVER"],
73
+ "log-driver": "json-file",
74
+ "log-opts": {
75
+ "max-size": "10m",
76
+ "max-file": "3"
77
+ },
78
+ "mtu": 1450
79
}
80
```
81
@@ -85,7 +88,7 @@ systemctl restart docker
88
89
```bash
90
# Clone the CoPilot repository
88
-wget https://raw.githubusercontent.com/socfortress/CoPilot/v0.1.3/docker-compose.yml
91
+wget https://raw.githubusercontent.com/socfortress/CoPilot/v0.1.4/docker-compose.yml
92
93
# Edit the docker-compose.yml file to set the server name and/or the services you want to use
94
@@ -141,6 +144,85 @@ copilot-frontend:
144
- "443:443"
145
```
146
147
+### Customer Portal (Optional)
148
+
149
+Copilot includes an optional customer-facing portal that provides a simplified interface for viewing cases, alerts, and agents. This portal is designed for customers or end-users who need visibility into their security operations without access to the full administrative interface.
150
+
151
+#### Features
152
+
153
+- 🔐 **Secure Authentication:** Customer-specific login with role-based access control
154
+- 📊 **Case Management:** View and track security cases assigned to your organization
155
+- 🚨 **Alert Monitoring:** Real-time visibility into security alerts and their status
156
+- 💻 **Agent Overview:** Monitor deployed security agents and their health status
157
+- 📝 **Case Comments:** Collaborate with your security team through case comments
158
+
159
+#### Enabling the Customer Portal
160
+
161
+The customer portal is commented out by default in the `docker-compose.yml` file. To enable it:
162
+
163
+1. **Edit the docker-compose.yml file:**
164
+
165
+```bash
166
+nano docker-compose.yml
167
+```
168
+
169
+2. **Uncomment the customer portal service:**
170
+
171
+```yaml
172
+# Uncomment these lines:
173
+copilot-customer-portal:
174
+ image: ghcr.io/socfortress/copilot-customer-portal:latest
175
+ environment:
176
+ - SERVER_HOST=${SERVER_HOST:-localhost} # Set the domain name of your server
177
+ ports:
178
+ - "8443:443" # HTTPS access
179
+ restart: always
180
+```
181
+
182
+3. **Start the SOCFortress CoPilot stack:**
183
+
184
+```bash
185
+docker compose up -d
186
+```
187
+
188
+4. **Access the customer portal:**
189
+
190
+- **HTTPS:** `https://<your_instance_ip>:8443`
191
+
192
+#### Customer Portal SSL Configuration
193
+
194
+Like the main frontend, the customer portal uses a self-signed certificate by default. To use your own certificate:
195
+
196
+```yaml
197
+copilot-customer-portal:
198
+ image: ghcr.io/socfortress/copilot-customer-portal:latest
199
+ volumes:
200
+ - PATH_TO_YOUR_CERTS:/etc/letsencrypt
201
+ environment:
202
+ - SERVER_HOST=${SERVER_HOST:-localhost} # Set the domain name of your server
203
+ ports:
204
+ - "8443:443"
205
+```
206
+
207
+#### Creating Customer Portal Users
208
+
209
+Customer portal users are managed through the main Copilot admin interface:
210
+
211
+1. Log in to the main Copilot interface as an admin
212
+2. Navigate to **Users**
213
+3. Create a new user with the `customer_user` role
214
+4. Assign the user to a specific customer organization
215
+5. The user can now log in to the customer portal using their credentials
216
+
217
+#### Customer Portal Customization
218
+
219
+You can customize the customer portal branding and logo through the main Copilot admin interface:
220
+
221
+1. Navigate to **Customer Portal**
222
+2. Upload your custom logo (supports PNG, JPG, SVG)
223
+3. Set a custom title for the portal
224
+4. Changes are applied immediately to the customer portal
225
+
226
### Upgrading Copilot
227
228
🛠 You will likely want to upgrade often as we are frequently pushing new changes.