---
title: "Keycloak: Docker Compose i hosting jednym kliknięciem"
description: "Keycloak to zarządzanie tożsamością i dostępem open source: SSO, social login i 2FA. Hostuj tę alternatywę dla Auth0 u siebie w jeden klik."
---

[← Wszystkie szablony](https://pethost.dev/pl/templates/) · [Hasła i logowanie](https://pethost.dev/pl/templates/security/)

# Wdróż Keycloak jednym kliknięciem

Zarządzanie tożsamością i dostępem open source: logowanie jednokrotne do twoich aplikacji przez OpenID Connect i SAML

Alternatywa dla Auth0 i Okta, hostowana u siebie.

[Wdróż na Pethost](https://console.pethost.dev/?template=keycloak)

## Czym jest Keycloak?

Keycloak to serwer zarządzania tożsamością i dostępem: twoje aplikacje przekazują mu logowanie, a kto zalogował się raz, jest zalogowany we wszystkich. Obsługuje OpenID Connect, OAuth 2.0 i SAML 2.0, więc większość aplikacji i frameworków łączy się z nim swoimi standardowymi bibliotekami. Loguje ludzi hasłem, kluczem dostępu albo kontem społecznościowym, takim jak Google czy GitHub, dodaje uwierzytelnianie dwuskładnikowe z kodami jednorazowymi, synchronizuje użytkowników z LDAP i Active Directory, a każdemu użytkownikowi pozwala zarządzać profilem, hasłem i sesjami w konsoli konta.

Keycloak to projekt w fazie inkubacji w Cloud Native Computing Foundation, używany zarówno w firmach, jak i w homelabach, żeby postawić jedno logowanie przed wieloma aplikacjami. Ten szablon uruchamia go w trybie produkcyjnym z PostgreSQL za proxy i tworzy administratora obszaru master z pól formularza, zanim Keycloak komukolwiek odpowie. Haczyk: Keycloak ma duże możliwości i wiele ustawień, więc pierwszy klient wymaga trochę czytania, a działa na Javie, która zajmuje więcej pamięci niż większość serwerów logowania.

## Hosting Keycloak na Pethost

1. Logujesz się do Pethost kluczem dostępu, przez GitHub albo Google. Nie masz jeszcze maszyny? Wybierasz plan, a link czeka, aż będzie gotowa.
2. Okno „Nowy projekt” otwiera się na aplikacji Keycloak. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: **Nazwa użytkownika**, **Hasło administratora**.
3. Za minutę czy dwie aplikacja Keycloak działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
4. To projekt jak każdy inny: ty albo twój agent możecie go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.

## Pytania o Keycloak

**Czy Keycloak jest darmowy?**

Tak. Keycloak to open source na licencji Apache 2.0, bez płatnej edycji i bez limitu użytkowników ani aplikacji. Red Hat sprzedaje wsparcie dla własnej wersji, Red Hat build of Keycloak.

**Keycloak czy Auth0: co wybrać?**

Oba logują użytkowników przez OpenID Connect i SAML, z logowaniem kontami społecznościowymi i uwierzytelnianiem dwuskładnikowym. Auth0 to usługa w chmurze wyceniana według liczby aktywnych użytkowników miesięcznie, a Keycloaka uruchamiasz u siebie, za darmo dla dowolnej liczby użytkowników, kosztem tego, że musisz o niego dbać.

**Czy Keycloak może logować użytkowników przez Google albo GitHub?**

Tak. Sekcja Identyfikatory dostawców tożsamości w obszarze dodaje Google, GitHub, Facebook, Microsoft i innych albo dowolnego dostawcę OpenID Connect lub SAML 2.0 jako przyciski na stronie logowania, bez zmian w twoich aplikacjach.

**Czy Keycloak obsługuje uwierzytelnianie dwuskładnikowe i klucze dostępu?**

Tak. Przyjmuje kody jednorazowe z aplikacji takich jak Google Authenticator czy FreeOTP, kody odzyskiwania i klucze dostępu, a obszar może wymagać ich od wszystkich albo pozwolić użytkownikom włączyć je w konsoli konta.

**Dlaczego Keycloak pokazuje, że konto administratora jest tymczasowe?**

Keycloak oznacza administratora, którego tworzy przy pierwszym uruchomieniu, jako tymczasowego i prosi o stałego: dodaj użytkownika w obszarze master, nadaj mu rolę admin w zakładce Mapowanie roli, zaloguj się na to konto i usuń tymczasowego administratora.

**Ile pamięci i miejsca na dysku potrzebuje Keycloak?**

Keycloak działa na Javie: w spoczynku zajmuje razem z Postgresem około 550 MB pamięci, więcej przy wielu użytkownikach i sesjach; jego baza danych pozostaje mała. Na Pethost wystarczy mu plan Starter, z miejscem na inne aplikacje obok.

## Keycloak: plik Docker Compose

Szablon to ten compose.yaml i zmienne zapisywane do .env projektu przy jego tworzeniu. Pethost uruchamia plik dokładnie tak, jak jest napisany.

**Kontenery:** keycloak (quay.io/keycloak/keycloak:26.8), postgres (postgres:18-alpine).

**Wolumeny, w nocnym backupie:** db.

```
services:
  keycloak:
    image: quay.io/keycloak/keycloak:26.8
    restart: unless-stopped
    command: start
    environment:
      KC_DB: postgres
      KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak
      KC_DB_USERNAME: keycloak
      KC_DB_PASSWORD: ${POSTGRES_PASSWORD}
      KC_HOSTNAME: ${URL}
      # The proxy serves HTTPS and passes requests on over HTTP, saying in X-Forwarded-* who sent
      # them and how.
      KC_HTTP_ENABLED: "true"
      KC_PROXY_HEADERS: xforwarded
      KC_HEALTH_ENABLED: "true"
      # The administrator of the master realm is made from these at the first start, before
      # Keycloak answers anyone; Keycloak calls it temporary until a permanent one replaces it.
      KC_BOOTSTRAP_ADMIN_USERNAME: ${ADMIN_USERNAME}
      KC_BOOTSTRAP_ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    depends_on:
      postgres:
        condition: service_healthy
    # The port listens before Keycloak is ready: the deploy waits for its readiness, which its
    # management port answers. The image has no curl: bash asks it.
    healthcheck:
      test: ["CMD-SHELL", "exec 3<>/dev/tcp/127.0.0.1/9000 && printf 'GET /health/ready HTTP/1.1\\r\\nHost: localhost\\r\\nConnection: close\\r\\n\\r\\n' >&3 && grep -q '\"UP\"' <&3"]
      interval: 5s
      timeout: 5s
      retries: 5
      start_period: 180s

  postgres:
    image: postgres:18-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: keycloak
      POSTGRES_USER: keycloak
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - db:/var/lib/postgresql
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -U keycloak -d keycloak"]
      interval: 5s
      timeout: 5s
      retries: 10
      start_period: 30s

volumes:
  db:
```

[compose.yaml](https://pethost.dev/templates/keycloak/compose.yaml)[Zobacz na GitHubie](https://github.com/pethost-dev/templates/tree/main/keycloak)

## [Więcej w kategorii Hasła i logowanie](https://pethost.dev/pl/templates/security/)

- [**Vaultwarden**Serwer menedżera haseł dla aplikacji Bitwarden](https://pethost.dev/pl/templates/vaultwarden/)
- [**Authorizer**Logowanie do twoich własnych aplikacji, z OAuth 2 i OpenID Connect](https://pethost.dev/pl/templates/authorizer/)
- [**Password Pusher**Udostępniaj hasła i sekrety przez linki, które wygasają](https://pethost.dev/pl/templates/password-pusher/)
- [**authentik**Dostawca tożsamości do logowania jednokrotnego w twoich aplikacjach: OpenID Connect, SAML, LDAP, MFA i klucze dostępu](https://pethost.dev/pl/templates/authentik/)
- [**FusionAuth**Zarządzanie tożsamością i dostępem klientów: logowanie, rejestracja, logowanie jednokrotne i MFA dla twoich aplikacji](https://pethost.dev/pl/templates/fusionauth/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Szablony](https://pethost.dev/pl/templates/)
- [O nas](https://pethost.dev/about/)
- [Dokumentacja](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/pl/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Regulamin](https://pethost.dev/terms/)
- [Prywatność](https://pethost.dev/privacy/)
- [Zwroty](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bazy danych

- [Postgres](https://pethost.dev/pl/postgres/)

Porównania

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/pl/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/pl/blog/coolify-cloud-vs-dokploy-cloud/)
- [Cennik Railway vs Render vs Fly.io](https://pethost.dev/pl/blog/railway-vs-render-vs-fly-io-pricing/)
- [Zarządzany hosting Docker Compose](https://pethost.dev/pl/blog/managed-docker-compose-hosting/)

Alternatywy

- [Alternatywy dla Railway](https://pethost.dev/pl/blog/railway-alternatives/)
- [Alternatywy dla Heroku](https://pethost.dev/pl/blog/heroku-alternatives/)
- [Alternatywy dla Dokploy](https://pethost.dev/pl/blog/dokploy-alternatives/)
- [Alternatywy dla Coolify](https://pethost.dev/pl/blog/coolify-alternatives/)
- [Alternatywy dla Render](https://pethost.dev/pl/blog/render-alternatives/)
- [Alternatywy dla Sliplane](https://pethost.dev/pl/blog/sliplane-alternatives/)
