@cryptotaxi247 / CoPilot / commits / cec517f8

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 [![Get in Touch](https://img.shields.io/badge/📧%20Get%20in%20Touch-Friendly%20Support%20Awaits!-blue?style=for-the-badge)](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.