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: README.md
+63-11Lines changed: 63 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -103,7 +103,7 @@ Next, run the following commands from the Windows command line or Mac/Linux term
103
103
104
104
### 🧪 Develop
105
105
106
-
Use local development settings for testing and iteration.
106
+
Use local development settings for testing and iteration.
107
107
108
108
> ℹ️ **Observation:** Requires a local clone of the repository.
109
109
@@ -132,7 +132,65 @@ docker run --rm \
132
132
-v ./cache:/opt/fasten/cache \
133
133
ghcr.io/fastenhealth/fasten-onprem:main
134
134
```
135
+
Next, open a browser to `https://localhost:9090`
135
136
137
+
### <a name="using-https"></a>🔒 Using HTTPS and Trusting the Self-Signed Certificate
138
+
139
+
By default, Fasten On-Prem runs with HTTPS enabled to ensure your data is secure. It uses a self-signed **TLS** certificate, which offers the same level of encryption as a commercially issued certificate. The first time you connect, your browser will display a security warning because it doesn't yet trust the certificate's issuer. The steps below will guide you through the simple, one-time process of telling your browser to trust the certificate, ensuring a secure connection without future warnings. Please note that the generated certificates can be replaced at any time with your own valid TLS certificates.
140
+
141
+
#### How it Works: The Chain of Trust
142
+
143
+
To establish a secure connection, your browser needs to trust the server's TLS certificate. Here’s how the process works in Fasten On-Prem:
144
+
145
+
1. **Root Certificate Authority (CA):** When the application first starts, it generates its own self-contained Certificate Authority, called `"Fasten Health CA"`. Think of this as the highest level of trust. The public part of this CA is the `rootCA.pem` file.
146
+
2. **Server Certificate:** The application then uses the `"Fasten Health CA"` to issue and sign a specific certificate for the web server (e.g., for `localhost`).
147
+
3. **Browser Verification:** When you connect to the server, it presents the server certificate to your browser. Your browser checks who signed it and sees it was `"Fasten Health CA"`. The browser then asks, "Do I trust the 'Fasten Health CA'?"
148
+
149
+
Initially, the answer is no, which is why you see a security warning. By following the steps below to import the `rootCA.pem` file, you are telling your browser or operating system to trust our self-generated CA. Once the CA is trusted, any certificates it signs—including the server certificate—will also be trusted, and the connection will be secure without any warnings.
150
+
151
+
#### 1. Locate the Root CA Certificate
152
+
153
+
When you run the application using the production Docker Compose file (`docker-compose-prod.yml`), it automatically generates a `rootCA.pem` file. This file is located in the `certs` directory on your host machine.
154
+
155
+
- **Certificate Path:** `certs/rootCA.pem`
156
+
157
+
#### 2. Import the Certificate
158
+
159
+
You will need to import this certificate into your operating system's or browser's trust store. Here are general instructions for different platforms:
160
+
161
+
**macOS**
162
+
163
+
1. Open the **Keychain Access** application.
164
+
2. Select the **System** keychain.
165
+
3. Go to **File > Import Items** and select the `certs/rootCA.pem` file.
166
+
4. Find the "Fasten Health CA" certificate in the list, double-click it, and under the **Trust** section, set "When using this certificate" to **Always Trust**.
167
+
168
+
**Windows**
169
+
170
+
1. Double-click the `certs/rootCA.pem` file.
171
+
2. Click **Install Certificate...** and choose **Local Machine**.
172
+
3. Select **Place all certificates in the following store**, click **Browse**, and choose **Trusted Root Certification Authorities**.
173
+
4. Complete the wizard to finish the import process.
174
+
175
+
**Linux (Ubuntu/Debian)**
176
+
177
+
1. Copy the certificate to the trusted certificates directory:
Firefox has its own trust store. To import the certificate:
189
+
190
+
1. Go to **Settings > Privacy & Security**.
191
+
2. Scroll down to **Certificates** and click **View Certificates...**.
192
+
3. In the **Authorities** tab, click **Import...** and select the `certs/rootCA.pem` file.
193
+
4. Check the box for **Trust this CA to identify websites** and click **OK**.
136
194
137
195
### Companion Mobile App
138
196
@@ -152,7 +210,7 @@ In partnership with [Life Value](https://lifevalue.com), we develop an **open-so
152
210
153
211
### Start Fasten (discovarable on your local network)
154
212
155
-
For your **Fasten** instance to work together with **HealthWallet.me** (the companion mobile app), you need to run the `set_env.sh` script before starting Docker Compose.
213
+
For your **Fasten** instance to work together with **HealthWallet.me** (the companion mobile app), you need to run the `set_env.sh` script before starting Docker Compose.
156
214
157
215
This script configures the necessary `HOSTNAME` and `IP` values in a `.env` file, which allows Fasten to generate a QR code that HealthWallet can scan to establish the initial connection and begin syncing your health data.
158
216
@@ -174,9 +232,9 @@ Launch the application. Please choose a location where `docker-compose.yml` and
174
232
```
175
233
176
234
- **Commands Breakdown**
177
-
- Downloads necessary files (**docker-compose.yml** and **set_env.sh**)
178
-
- The environment script automatically assigns your local IP so **Fasten** can be available on **your local network**
179
-
- Starts the Fasten application (**docker-compose up -d**)
235
+
- Downloads necessary files (**docker-compose.yml** and **set_env.sh**)
236
+
- The environment script automatically assigns your local IP so **Fasten** can be available on **your local network**
237
+
- Starts the Fasten application (**docker-compose up -d**)
180
238
181
239
182
240
<details>
@@ -203,13 +261,7 @@ If you prefer not to run the `set_env.sh` script, you can configure the `.env` f
203
261
204
262
</details>
205
263
206
-
### Logging In
207
-
208
-
Before you can use the Fasten BETA, you'll need to [Create an Account](http://localhost:9090/web/auth/signup).
0 commit comments