@@ -5,7 +5,7 @@ lang: en-US
55sidebar_label : Quickstart
66pagination_prev : null
77pagination_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 .
99keywords :
1010 [
1111 pomerium,
@@ -24,9 +24,14 @@ keywords:
2424import Tabs from ' @theme/Tabs' ;
2525import 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