Skip to content

Commit 01dfcfc

Browse files
committed
docs: add tabbed instructions for Core & Zero on quickstart page
- Changed title from "Pomerium Zero Quickstart" to "Pomerium Quickstart" - Added tabs component with separate content for Zero and Core deployment paths - Enhanced description to cover both Zero and Core options - Added comprehensive Core setup instructions including configuration, secrets generation, and identity provider setup Fixes #1737
1 parent 463ea8f commit 01dfcfc

File tree

1 file changed

+135
-3
lines changed

1 file changed

+135
-3
lines changed

content/docs/get-started/quickstart.mdx

Lines changed: 135 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ lang: en-US
55
sidebar_label: Quickstart
66
pagination_prev: null
77
pagination_next: null
8-
description: Learn how to install and run Pomerium Zero in a Docker container.
8+
description: Learn how to install and run Pomerium Zero or Core with Docker.
99
keywords:
1010
[
1111
pomerium,
@@ -24,9 +24,14 @@ keywords:
2424
import Tabs from '@theme/Tabs';
2525
import TabItem from '@theme/TabItem';
2626

27-
# Pomerium Zero Quickstart
27+
# Pomerium Quickstart
2828

29-
The Zero Quickstart shows you how to install and run Pomerium Zero in a Docker container.
29+
Get started with Pomerium using either our cloud-hosted Zero solution or self-hosted Core.
30+
31+
<Tabs>
32+
<TabItem value="zero" label="Pomerium Zero" default>
33+
34+
Pomerium Zero is our cloud-hosted solution that simplifies deployment and management.
3035

3136
## Before you start
3237

@@ -194,3 +199,130 @@ To see certificates in your cluster, go to the **Certificates** tab:
194199
### [Build your First Route](/docs/get-started/fundamentals/zero/zero-build-routes)
195200

196201
### [Add a Custom Domain](/docs/capabilities/custom-domains)
202+
203+
</TabItem>
204+
<TabItem value="core" label="Pomerium Core">
205+
206+
Pomerium Core is our open-source, self-hosted identity-aware reverse proxy.
207+
208+
## Before you start
209+
210+
- Install [Docker](https://docs.docker.com/install/) and [Docker Compose](https://docs.docker.com/compose/install/)
211+
- Choose an identity provider (Google, GitHub, etc.) for authentication
212+
213+
## Set up your project
214+
215+
Create a new directory for your Pomerium setup:
216+
217+
```bash
218+
mkdir pomerium_quickstart
219+
cd pomerium_quickstart
220+
```
221+
222+
Your project will contain:
223+
224+
- `config.yaml` - Pomerium configuration
225+
- `docker-compose.yaml` - Docker services configuration
226+
227+
## Configure Pomerium Core
228+
229+
Create a `config.yaml` file with your Pomerium configuration:
230+
231+
```yaml title="config.yaml"
232+
# Pomerium configuration
233+
authenticate_service_url: https://authenticate.localhost.pomerium.io
234+
authorize_service_url: https://authorize.localhost.pomerium.io
235+
databroker_service_url: https://databroker.localhost.pomerium.io
236+
237+
# Generate a shared secret (use: head -c32 /dev/urandom | base64)
238+
shared_secret: REPLACE_WITH_RANDOM_STRING
239+
240+
# Generate a cookie secret (use: head -c32 /dev/urandom | base64)
241+
cookie_secret: REPLACE_WITH_RANDOM_STRING
242+
243+
# Identity provider settings (example with Google)
244+
idp_provider: google
245+
idp_client_id: REPLACE_WITH_GOOGLE_CLIENT_ID
246+
idp_client_secret: REPLACE_WITH_GOOGLE_CLIENT_SECRET
247+
248+
# Routes
249+
routes:
250+
- from: https://verify.localhost.pomerium.io
251+
to: http://verify:8000
252+
policy:
253+
- allow:
254+
or:
255+
- email:
256+
is: user@example.com
257+
```
258+
259+
## Create Docker Compose configuration
260+
261+
Create a `docker-compose.yaml` file:
262+
263+
```yaml title="docker-compose.yaml"
264+
version: '3'
265+
services:
266+
pomerium:
267+
image: pomerium/pomerium:latest
268+
volumes:
269+
- ./config.yaml:/pomerium/config.yaml:ro
270+
ports:
271+
- '443:443'
272+
- '80:80'
273+
environment:
274+
- POMERIUM_DEBUG=true
275+
276+
verify:
277+
image: pomerium/verify:latest
278+
expose:
279+
- 8000
280+
```
281+
282+
## Generate secrets
283+
284+
Generate the required secrets for your configuration:
285+
286+
```bash
287+
# Generate shared secret
288+
echo "shared_secret: $(head -c32 /dev/urandom | base64)"
289+
290+
# Generate cookie secret
291+
echo "cookie_secret: $(head -c32 /dev/urandom | base64)"
292+
```
293+
294+
Update your `config.yaml` with these generated values.
295+
296+
## Set up identity provider
297+
298+
Configure your identity provider (this example uses Google):
299+
300+
1. Go to the [Google Cloud Console](https://console.cloud.google.com/)
301+
2. Create a new project or select existing
302+
3. Enable the Google+ API
303+
4. Create OAuth 2.0 credentials
304+
5. Add authorized redirect URI: `https://authenticate.localhost.pomerium.io/oauth2/callback`
305+
6. Update `config.yaml` with your client ID and secret
306+
307+
## Deploy Pomerium Core
308+
309+
Start your Pomerium deployment:
310+
311+
```bash
312+
docker compose up -d
313+
```
314+
315+
## Test your setup
316+
317+
1. Navigate to https://verify.localhost.pomerium.io
318+
2. You'll be redirected to authenticate with your identity provider
319+
3. After authentication, you should see the Pomerium verify page
320+
321+
## Next Steps
322+
323+
### [Learn Core Fundamentals](/docs/get-started/fundamentals/core/get-started)
324+
325+
### [Configure Advanced Policies](/docs/get-started/fundamentals/core/build-policies)
326+
327+
</TabItem>
328+
</Tabs>

0 commit comments

Comments
 (0)