SSD Nodes Learn 8GB RAM — సంవత్సరానికి $66
మార్గదర్శకాలు Matt Connorద్వారా Matt Connor · అప్‌డేట్ చేయబడింది 2026-08-01

Authentik SSO సెటప్ చేయడం ఎలా: Docker Compose గైడ్

Docker Compose ద్వారా Authentik SSOని ఇన్‌స్టాల్ చేయండి. Traefik ఫార్వర్డ్ ఆత్ కాన్ఫిగరేషన్, akadmin బూట్‌స్ట్రాప్ మరియు అవసరమైన env వేరియబుల్స్ గురించి పూర్తి వివరాలు ఇక్కడ ఉన్నాయి.

మీరు హోస్ట్ చేసే ప్రతి అప్లికేషన్ కోసం ఒకే లాగిన్

Authentik అనేది ఒక సెల్ఫ్-హోస్టెడ్ SSO (సింగిల్ సైన్-ఆన్) సర్వర్: మీ వినియోగదారులు ఒక్కసారి లాగిన్ అయితే చాలు, ప్రతి అప్లికేషన్ ఆ సెషన్‌ను అంగీకరిస్తుంది. ప్రతి అప్లికేషన్ కోసం విడివిడిగా పాస్‌వర్డ్ అడగాల్సిన అవసరం ఉండదు. దీని ఇన్‌స్టాలేషన్ కోసం అధికారిక Docker Compose ఫైల్ మరియు రెండు జనరేట్ చేసిన సీక్రెట్స్ అవసరం. దీని తర్వాత అసలైన పని మొదలవుతుంది: దీనికి రివర్స్ ప్రాక్సీని పాయింట్ చేయడం మరియు ఇప్పటికే ఉన్న ఒక అప్లికేషన్‌ను ఫార్వర్డ్ ఆత్ (forward auth) వెనుక ఉంచడం.

Authentik ఆ Compose ఫైల్‌లో మూడు సర్వీసులుగా అందుబాటులో ఉంటుంది: ఒక PostgreSQL డేటాబేస్, ఒక server ప్రాసెస్ మరియు ఒక worker ప్రాసెస్. సర్వర్ కంటైనర్ ఎంబెడెడ్ అవుట్‌పోస్ట్‌ను కూడా రన్ చేస్తుంది. ఇది రక్షించబడిన ప్రతి అప్లికేషన్ కోసం "ఈ రిక్వెస్ట్ లాగిన్ అయి ఉందా?" అని సమాధానం చెప్పే భాగం. జూలై 2026 నాటికి వెర్షన్ 2026.5 ప్రస్తుత రిలీజ్. ఈ ప్రాజెక్ట్ కోసం కనీసం 2 CPU కోర్లు మరియు 2 GB RAM ఉన్న హోస్ట్ అవసరం. దీన్ని కనీస అవసరంగా పరిగణించండి. సర్వర్ ఒక రోజు రన్ అయిన తర్వాత, PostgreSQL మరియు వర్కర్ రెండూ మెమరీని వినియోగించుకుంటాయి.

ప్రారంభించే ముందు మీకు కావాల్సినవి

మీకు Docker Engine మరియు Compose v2 ప్లగిన్ అవసరం. దీనిని మీరు docker compose version ద్వారా నిర్ధారించుకోవచ్చు. ఒకవేళ ఇది వెర్షన్‌కు బదులుగా ఎర్రర్‌ను చూపిస్తే, ముందుకు వెళ్లే ముందు ప్లగిన్‌ను ఇన్‌స్టాల్ చేయండి; దీనికి సంబంధించిన ప్రాథమిక అంశాలు Docker Composeతో VPSలో అప్లికేషన్లను రన్ చేయడంలో ఉన్నాయి. మీకు సర్వర్‌కు పాయింట్ చేసే DNS A రికార్డు కూడా అవసరం. దిగువ ఉదాహరణలలో దీనిని auth.example.comగా పేర్కొన్నాము, ఎందుకంటే బ్రౌజర్ ఉపయోగించిన హోస్ట్‌నేమ్ ఆధారంగానే Authentik తన రీడైరెక్ట్ URLలను నిర్మిస్తుంది.

ఈ స్టాక్‌ను root యూజర్‌గా కాకుండా, docker గ్రూప్‌లోని సాధారణ యూజర్‌గా రన్ చేయండి. ఈ గ్రూప్‌లో సభ్యత్వం కలిగి ఉండటం అనేది హోస్ట్‌పై root అధికారాలకు సమానం, కాబట్టి దీనిని ఒక డిప్లాయ్ అకౌంట్‌కు మాత్రమే ఇవ్వండి. దీనికి సంబంధించిన వివరాలు VPSలో కనీస అధికారాలు కలిగిన యూజర్ అకౌంట్లులో ఉన్నాయి.

అధికారిక Compose ఫైల్‌తో ఇన్‌స్టాల్ చేయండి

sudo install -d -o "$USER" -g "$USER" /opt/authentik
cd /opt/authentik
wget https://docs.goauthentik.io/compose.yml
echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> .env
echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> .env
docker compose pull
docker compose up -d

docker compose ps మూడు కంటైనర్‌లను చూపించాలి, ఇందులో postgresql అనేది healthy మరియు server అని, అలాగే worker అనేది running అని నివేదించాలి. మొదటిసారి ప్రారంభించినప్పుడు డేటాబేస్ మైగ్రేషన్‌లు జరుగుతాయి, కాబట్టి వెబ్ ఇంటర్‌ఫేస్ స్పందించడానికి ఒక నిమిషం సమయం ఇవ్వండి.

సృష్టించబడిన రెండు విలువలు వేర్వేరు కారణాల వల్ల ముఖ్యమైనవి. PG_PASS అనేది PostgreSQL పాస్‌వర్డ్, దీనికి 99 అక్షరాల గరిష్ట పరిమితి ఉంది. AUTHENTIK_SECRET_KEY సెషన్‌లు మరియు టోకెన్‌లను సైన్ చేస్తుంది, కాబట్టి దీన్ని తర్వాత మార్చడం వల్ల వినియోగదారులందరూ లాగ్ అవుట్ అవుతారు మరియు మీరు జారీ చేసిన అన్ని API టోకెన్‌లు చెల్లవు. .env ఫైల్‌ను 600 మోడ్‌లో ఉంచండి మరియు దాని కాపీని సురక్షితమైన చోట భద్రపరచండి, ఎందుకంటే దానికి సరిపోయే సీక్రెట్ కీ లేని డేటాబేస్‌లోకి ఎవరూ లాగిన్ అవ్వలేరు.

Compose ఫైల్ ఈ రెండు విలువలను ${PG_PASS:?database password required} ఫార్మాట్‌లో చదువుతుంది, అంటే ఫైల్ లేనప్పుడు Compose ప్రారంభం కావడానికి నిరాకరిస్తుంది. తప్పు డైరెక్టరీ నుండి docker compose up -d రన్ చేస్తే, అది required variable AUTHENTIK_SECRET_KEY is missing a value: secret key required అని ప్రింట్ చేసి ఆగిపోతుంది. ఆ సందేశం పాత్ సమస్యకు సంబంధించినది, కాన్ఫిగరేషన్ సమస్యకు కాదు.

ముఖ్యమైన ఎన్విరాన్‌మెంట్ విలువలు

మిగిలినవన్నీ అదే .env ఫైల్‌లో ఉంటాయి. Authentik డబుల్ అండర్‌స్కోర్‌ను నెస్టెడ్ కాన్ఫిగరేషన్ కీగా మారుస్తుంది, కాబట్టి AUTHENTIK_EMAIL__HOST అనేది email.hostని సెట్ చేస్తుంది. సింగిల్ అండర్‌స్కోర్‌ను ఎటువంటి హెచ్చరిక లేకుండా విస్మరిస్తుంది, ఒక సెట్టింగ్ పని చేయడం లేదని అనిపించడానికి ఇదే అత్యంత సాధారణ కారణం.

  • AUTHENTIK_BOOTSTRAP_PASSWORD అనేది మొదటిసారి ప్రారంభించినప్పుడు అంతర్నిర్మిత akadmin యూజర్ యొక్క పాస్‌వర్డ్‌ను సెట్ చేస్తుంది, కాబట్టి మీరు పబ్లిక్ వెబ్ ఫారమ్‌లో దేనినీ టైప్ చేయనవసరం లేదు. AUTHENTIK_BOOTSTRAP_EMAIL మరియు AUTHENTIK_BOOTSTRAP_TOKEN అదే విధంగా ఆ యూజర్ యొక్క అడ్రస్ మరియు API టోకెన్‌ను సెట్ చేస్తాయి.
  • COMPOSE_PORT_HTTP మరియు COMPOSE_PORT_HTTPS పబ్లిష్ చేసిన పోర్ట్‌లను డిఫాల్ట్ 9000 మరియు 9443 నుండి మారుస్తాయి.
  • AUTHENTIK_EMAIL__HOST, AUTHENTIK_EMAIL__PORT, AUTHENTIK_EMAIL__USERNAME, AUTHENTIK_EMAIL__PASSWORD, AUTHENTIK_EMAIL__USE_TLS మరియు AUTHENTIK_EMAIL__FROM అవుట్‌బౌండ్ మెయిల్‌ను కాన్ఫిగర్ చేస్తాయి. ఇవి లేకపోతే Authentik పోర్ట్ 25లో localhostని ప్రయత్నిస్తుంది, దీనివల్ల పాస్‌వర్డ్-రీసెట్ మెయిల్‌లు వర్కర్ లాగ్‌లో కనెక్షన్ ఎర్రర్‌గా ముగుస్తాయి.
  • లాగిన్ ఫ్లో సరిగ్గా పని చేయనప్పుడు మీకు కావలసిన వివరాలను AUTHENTIK_LOG_LEVEL=debug ఆన్ చేస్తుంది. ఆ తర్వాత దానిని తిరిగి infoకి మార్చండి.
  • AUTHENTIK_ERROR_REPORTING__ENABLED డిఫాల్ట్‌గా falseలో ఉంటుంది. మీరు క్రాష్ రిపోర్ట్‌లను అప్‌స్ట్రీమ్‌కు పంపడానికి సిద్ధంగా ఉంటేనే దీనిని trueకి సెట్ చేయండి.

ఇవి ప్లెయిన్ ఫైల్‌లో ఉండే రహస్యాలు, కాబట్టి ఈ డైరెక్టరీని మీరు ఇతర క్రెడెన్షియల్ స్టోర్‌లను చూసే విధంగానే చూడండి. మీ ల్యాప్‌టాప్‌లో నోట్‌గా ఉంచడం కంటే, సెల్ఫ్-హోస్టెడ్ Vaultwarden ఇన్‌స్టాన్స్ వంటి పాస్‌వర్డ్ మేనేజర్ రికవరీ కాపీని ఉంచడానికి మెరుగైన ప్రదేశం.

మొదటి లాగిన్ మరియు అడ్మిన్ ఖాతా

బ్రౌజర్‌లో http://SERVER_IP:9000 ని తెరవండి. Authentik దాని ప్రారంభ సెటప్ విధానాన్ని చూపిస్తుంది మరియు డిఫాల్ట్ akadmin వినియోగదారు కోసం పాస్‌వర్డ్‌ను సెట్ చేయమని మిమ్మల్ని అడుగుతుంది. మీరు ఇప్పటికే AUTHENTIK_BOOTSTRAP_PASSWORD ని సెట్ చేసి ఉంటే, ఆ దశ పూర్తయినట్లే మరియు మీరు నేరుగా లాగిన్ పేజీకి వెళ్తారు.

Directory మరియు ఆపై Users విభాగంలో మీ కోసం ఒక సాధారణ అడ్మిన్ వినియోగదారుని సృష్టించండి, దానిని authentik Admins గ్రూప్‌కు జోడించండి మరియు ఆ ఖాతాతో సైన్ ఇన్ చేయండి. akadmin ని అత్యవసర పరిస్థితుల్లో ఉపయోగించే ఖాతాగా (break-glass account) ఉంచి, దాని పాస్‌వర్డ్‌ను ఆఫ్‌లైన్‌లో భద్రపరచండి. సాధారణ రోజువారీ పనుల కోసం ఒకే బిల్ట్-ఇన్ ఖాతాను ఉపయోగించడం వల్ల ఆడిట్ లాగ్ దెబ్బతింటుంది, ఎందుకంటే ప్రతి ఈవెంట్ akadmin అని చూపిస్తుంది మరియు అసలు ఎవరు చేశారో తెలియదు.

Authentik ను మీ రివర్స్ ప్రాక్సీ వెనుక ఉంచడం

పోర్ట్ 9000 ను ఇంటర్నెట్‌కు పబ్లిష్ చేయడం పని చేస్తుంది, కానీ మీకు TLS (ట్రాన్స్‌పోర్ట్ లేయర్ సెక్యూరిటీ) మరియు సరైన హోస్ట్‌నేమ్ అవసరం. మీరు ఇప్పటికే Traefik as a reverse proxy for multiple Compose apps నుండి సెటప్‌ను రన్ చేస్తుంటే, ఒక ఓవర్‌రైడ్ ఫైల్‌తో Authentik ను అదే ఎక్స్‌టర్నల్ proxy నెట్‌వర్క్‌కు జత చేయండి. compose.yml పక్కన docker-compose.override.yml ని క్రియేట్ చేయండి:

services:
  server:
    networks:
      - default
      - proxy
    labels:
      traefik.enable: "true"
      traefik.docker.network: proxy
      traefik.http.routers.authentik.rule: Host(`auth.example.com`)
      traefik.http.routers.authentik.entrypoints: websecure
      traefik.http.routers.authentik.tls.certresolver: le
      traefik.http.services.authentik.loadbalancer.server.port: "9000"

networks:
  proxy:
    external: true

దీనిని docker compose up -d తో అప్లై చేయండి. Compose ఆటోమేటిక్‌గా ఓవర్‌రైడ్‌ను మెర్జ్ చేస్తుంది, కాబట్టి server సర్వీస్ అఫీషియల్ ఫైల్‌లోని అన్నింటినీ కలిగి ఉండి, ఈ లేబుల్స్‌ను పొందుతుంది. curl -I https://auth.example.com/if/user/ తో చెక్ చేయండి, ఇది HTTP/2 200 అని సమాధానం ఇవ్వాలి. Traefik నుండి వచ్చే 404 page not found అంటే కంటైనర్ proxy నెట్‌వర్క్‌లో లేదని అర్థం, మరియు Traefik తాను చేరుకోలేని కంటైనర్‌కు రూట్ చేయలేదు.

హోస్ట్‌నేమ్ పని చేయడం ప్రారంభించిన తర్వాత, ఓవర్‌రైడ్‌లో పబ్లిష్ చేసిన పోర్ట్‌లను 127.0.0.1 కి బైండ్ చేయండి, తద్వారా ప్రాక్సీ ద్వారా మాత్రమే లోపలికి వచ్చే అవకాశం ఉంటుంది.

ఫార్వర్డ్ ఆథ్ (forward auth)తో ఒక అప్లికేషన్‌ను రక్షించడం

Authentik యొక్క ప్రాక్సీ ప్రొవైడర్‌లో మూడు మోడ్‌లు ఉన్నాయి, తప్పు మోడ్‌ను ఎంచుకుంటే సమయం వృథా అవుతుంది. Proxy అంటే అవుట్‌పోస్ట్ స్వయంగా ట్రాఫిక్‌ను అప్‌స్ట్రీమ్ అప్లికేషన్‌కు పంపుతుంది. Forward auth (single application) అంటే మీ రివర్స్ ప్రాక్సీ ట్రాఫిక్‌ను పంపుతూ, అభ్యర్థన సైన్-ఇన్ అయిందో లేదో మాత్రమే Authentikని అడుగుతుంది. Forward auth (domain level) ఒకే పేరెంట్ డొమైన్ కింద ఉన్న అన్ని అప్లికేషన్‌లను ఒకే ప్రొవైడర్‌తో రక్షిస్తుంది, అయితే దీనివల్ల అప్లికేషన్-స్థాయి ఆథరైజేషన్ నియమాలను కోల్పోతారు. ముందు భాగంలో Traefik ఉన్నప్పుడు, మీరు forward auth (single application)ని ఎంచుకోవాలి.

వెబ్ ఇంటర్‌ఫేస్‌లో, Applications మరియు Providers ఓపెన్ చేసి, ఒక Proxy Providerని సృష్టించండి. forward auth single application మోడ్‌ను ఎంచుకుని, external hostని https://app.example.comకి సెట్ చేయండి. ఆ ప్రొవైడర్‌ను సూచించే ఒక Applicationని సృష్టించండి. ఆ తర్వాత Outposts ఓపెన్ చేసి, authentik Embedded Outpostని ఎడిట్ చేయండి, మరియు కొత్త అప్లికేషన్‌ను దాని selected applications జాబితాలోకి చేర్చండి. అవుట్‌పోస్ట్ తనకు కేటాయించిన అప్లికేషన్‌లకు మాత్రమే సమాధానం ఇస్తుంది, కాబట్టి ఆ చివరి దశను దాటవేస్తే, సరిగ్గా కాన్ఫిగర్ చేసిన ప్రొవైడర్ కూడా ఏమీ చూపదు.

మిడిల్‌వేర్‌ను ఒకసారి Authentik కంటైనర్‌పై నిర్వచించి, ప్రతి రక్షిత అప్లికేషన్ నుండి దానిని రిఫరెన్స్ చేయండి:

      traefik.http.middlewares.authentik.forwardauth.address: http://server:9000/outpost.goauthentik.io/auth/traefik
      traefik.http.middlewares.authentik.forwardauth.trustForwardHeader: "true"
      traefik.http.middlewares.authentik.forwardauth.authResponseHeaders: X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid,X-authentik-jwt,X-authentik-meta-jwks,X-authentik-meta-outpost,X-authentik-meta-provider,X-authentik-meta-app,X-authentik-meta-version

authResponseHeaders అనేది Authentik సమాధానం నుండి Traefik కాపీ చేసి అప్‌స్ట్రీమ్‌కు పంపే హెడర్‌ల జాబితా. దీనిని వదిలేస్తే అప్లికేషన్ రక్షించబడుతుంది, కానీ వినియోగదారు ఎవరో దానికి తెలియదు. కాబట్టి ఆటోమేటిక్ లాగిన్ కోసం X-authentik-usernameని చదివే ఏ అప్లికేషన్ అయినా లాగ్ అవుట్ అయి ఉంటుంది.

రక్షిత అప్లికేషన్‌కు ఒకటి కాదు, రెండు రౌటర్లు అవసరం:

    labels:
      traefik.enable: "true"
      traefik.http.routers.myapp.rule: Host(`app.example.com`)
      traefik.http.routers.myapp.entrypoints: websecure
      traefik.http.routers.myapp.tls.certresolver: le
      traefik.http.routers.myapp.middlewares: authentik@docker
      traefik.http.routers.myapp-auth.rule: Host(`app.example.com`) && PathPrefix(`/outpost.goauthentik.io/`)
      traefik.http.routers.myapp-auth.entrypoints: websecure
      traefik.http.routers.myapp-auth.tls.certresolver: le
      traefik.http.routers.myapp-auth.priority: "15"
      traefik.http.routers.myapp-auth.service: authentik

రెండవ రౌటర్ అనేది అందరూ మర్చిపోయే భాగం. సైన్-ఇన్ తర్వాత, Authentik బ్రౌజర్‌ను auth.example.comలో కాకుండా, అప్లికేషన్ హోస్ట్‌నేమ్‌లోని /outpost.goauthentik.io/ కింద ఉన్న పాత్‌కు పంపుతుంది. ఆ పాత్ ప్రిఫిక్స్‌ను Authentik సర్వీస్‌కు పంపే రౌటర్ లేకపోతే, అభ్యర్థన మీ అప్లికేషన్‌కు చేరుతుంది, అది 404ని ఇస్తుంది మరియు లాగిన్ పూర్తి కాదు. ఎక్కువ priority ఉండటం వల్లే ఒకే డొమైన్‌పై సాధారణ Host() నియమం కంటే నిర్దిష్ట పాత్ నియమం పనిచేస్తుంది.

దీనిని ప్రైవేట్ బ్రౌజర్ విండోలో పరీక్షించండి. మీరు auth.example.comకి పంపబడాలి, సైన్-ఇన్ చేయాలి, ఆపై తిరిగి అప్లికేషన్‌కు రావాలి. Authentik వైపు ఉన్న docker compose logs -f server ప్రతి ప్రయత్నానికి ఒక ఆథరైజేషన్ ఈవెంట్‌ను ప్రింట్ చేస్తుంది, ఇది అభ్యర్థన Authentikకి చేరిందో లేదో మీకు తెలియజేస్తుంది.

మీరు ఎదుర్కొనే అసలైన వైఫల్యాలు

యాప్ మరియు లాగిన్ పేజీ మధ్య అంతులేని రీడైరెక్ట్ లూప్. ప్రొవైడర్‌లోని ఎక్స్‌టర్నల్ హోస్ట్ బ్రౌజర్ ఉపయోగించే దానితో సరిపోలడం లేదు, సాధారణంగా ప్రొవైడర్‌లో ఉన్న http:// అడ్రస్ బార్‌లోని https:// తో సరిపోలదు. అప్పుడు సెషన్ కుకీ వేరే ఆరిజిన్ కోసం సెట్ చేయబడుతుంది, కాబట్టి ప్రతిసారీ తిరిగి వచ్చేటప్పుడు అది కొత్త అనామక అభ్యర్థనలా కనిపిస్తుంది. ఎక్స్‌టర్నల్ హోస్ట్‌ను సరిచేయండి మరియు మళ్లీ పరీక్షించే ముందు రెండు డొమైన్‌ల కోసం కుకీలను క్లియర్ చేయండి.

/outpost.goauthentik.io/start వద్ద 404 ఎర్రర్. అవుట్‌పోస్ట్ రౌటర్ లేదు, లేదా ఆ హోస్ట్ కోసం ఉన్న క్యాచ్-ఆల్ రౌటర్ కంటే దీని ప్రాధాన్యత తక్కువగా ఉంది.

లాగిన్ అడగకుండానే యాప్ లోడ్ అవుతోంది. middlewares లేబుల్ లేని మిడిల్‌వేర్‌ను సూచిస్తోంది. Traefik దీని గురించి హెచ్చరించదు, కాబట్టి authentik@docker లో టైపింగ్ తప్పు ఉంటే ఏ మిడిల్‌వేర్ రన్ అవ్వదని అర్థం. Traefik డాష్‌బోర్డ్‌ను తెరిచి, రౌటర్ జాబితాలో మిడిల్‌వేర్ ఉందో లేదో నిర్ధారించుకోండి.

విజయవంతమైన లాగిన్ తర్వాత Authentik నుండి 403 ఎర్రర్. వినియోగదారు ప్రమాణీకరించబడ్డారు (authenticated) కానీ అధికారం (authorized) పొందలేదు: అప్లికేషన్ ఒక పాలసీ బైండింగ్‌ను లేదా గ్రూప్ అవసరాన్ని కలిగి ఉంది, దీనిని ఈ వినియోగదారు సంతృప్తి పరచడం లేదు. అడ్మిన్ ఇంటర్‌ఫేస్‌లోని Events లాగ్, అనుమతిని నిరాకరించిన పాలసీ పేరును చూపుతుంది.

Keycloak ఎప్పుడు సరైన ఎంపిక అవుతుంది

Keycloak అనేది పాత ప్రాజెక్ట్. దీనికి Red Hat మద్దతు ఉంది. సాంప్రదాయ ఎంటర్‌ప్రైజ్ ఐడెంటిటీ పనులకు ఇది బలమైన ఎంపిక. ఇందులో భారీ SAML ఫెడరేషన్, ఒకేసారి అనేక బాహ్య ఐడెంటిటీ ప్రొవైడర్ల నుండి లాగిన్‌లను బ్రోకర్ చేయడం, మరియు డాక్యుమెంట్ చేయబడిన మైగ్రేషన్ మార్గంగా రియల్మ్ ఎగుమతి (export) మరియు దిగుమతి (import) వంటి సౌకర్యాలు ఉన్నాయి. కొన్ని సంస్థలకు దీనికి లభించే వాణిజ్యపరమైన మద్దతు (commercial support) ముఖ్యమైనది. దీనిలో ఉన్న లోపం ఏమిటంటే, Keycloak కు సొంతంగా ప్రాక్సీ లేదు. కాబట్టి, OIDC (OpenID Connect) తెలియని అప్లికేషన్‌ను రక్షించాలంటే, దాని పక్కన oauth2-proxy వంటి వాటిని రన్ చేయాల్సి ఉంటుంది. Authentik లోని అంతర్నిర్మిత ప్రాక్సీ ప్రొవైడర్ ఆ పనిని చేస్తుంది మరియు అది ఇప్పటికే అనుసంధానించబడి ఉంటుంది. అందుకే వివిధ రకాల అప్లికేషన్లను సొంతంగా హోస్ట్ చేసుకునే వారు దీనిని ఎక్కువగా ఎంచుకుంటారు.

బ్యాకప్‌లు మరియు అప్‌గ్రేడ్‌లు

మూడు అంశాలు డేటాను పునరుద్ధరించడాన్ని (restore) సాధ్యం చేస్తాయి: PostgreSQL డేటాబేస్, ./data డైరెక్టరీ, మరియు .env.

cd /opt/authentik
docker compose exec -T postgresql pg_dump -U authentik authentik | gzip > authentik-$(date +%F).sql.gz

ఆ డంప్‌ను మరియు .envని కలిపి భద్రపరచండి. కేవలం డంప్ మాత్రమే సరిపోదు, ఎందుకంటే సెషన్ మరియు టోకెన్ డేటాను రక్షించే సీక్రెట్ కీ .envలో ఉంటుంది.

అప్‌గ్రేడ్‌లు అంటే ట్యాగ్ మార్పు. .envలో AUTHENTIK_TAGని మీకు కావలసిన రిలీజ్‌కు సెట్ చేయండి, ఆపై docker compose pullని రన్ చేసి, దాని తర్వాత docker compose up -dని అమలు చేయండి. ముందుగా రిలీజ్ నోట్స్‌ను చదవండి, ఎందుకంటే Authentik తేదీ ఆధారిత వెర్షన్లను ఉపయోగిస్తుంది మరియు కొన్ని రిలీజ్‌లలో మైగ్రేషన్లు ఉంటాయి, ఇవి మీరు మునుపటి వెర్షన్ నుండి అప్‌గ్రేడ్ అవుతున్నారని ఆశిస్తాయి. డేటాబేస్ డంప్‌ను పుల్ (pull) చేయడానికి ముందే తీసుకోండి, తర్వాత కాదు.

FAQ

Authentik ను స్వయంగా హోస్ట్ చేసుకోవడం ఉచితమేనా?

దీని ఓపెన్ సోర్స్ ఎడిషన్ ఉచితం మరియు పైన పేర్కొన్న అన్ని అంశాలను కవర్ చేస్తుంది: ప్రాక్సీ ప్రొవైడర్, ఫార్వర్డ్ ఆథ్ (forward auth), OIDC (OpenID Connect), SAML, మరియు ఫ్లోస్ ఇంజిన్. చెల్లింపుతో కూడిన ఎంటర్‌ప్రైజ్ టైర్ అదనపు సపోర్ట్ మరియు కొన్ని ఎంటర్‌ప్రైజ్ ఫీచర్లను అందిస్తుంది, కానీ ఇక్కడ వివరించిన దేనికీ లైసెన్స్ అవసరం లేదు.

Authentik ని ఉపయోగించడానికి నాకు Traefik అవసరమా?

అవసరం లేదు. ఫార్వర్డ్ ఆథ్ (forward auth) అనేది auth_request ద్వారా nginx తో మరియు forward_auth ద్వారా Caddy తో పనిచేస్తుంది. అన్ని సందర్భాల్లోనూ పద్ధతి ఒకటే: రివర్స్ ప్రాక్సీ ప్రతి అభ్యర్థన (request) గురించి Authentik ని అడుగుతుంది, మరియు ప్రొటెక్టెడ్ హోస్ట్‌నేమ్‌లోని పాత్ ప్రిఫిక్స్ /outpost.goauthentik.io/ అనేది అప్లికేషన్‌కు బదులుగా Authentik కి రూట్ అవ్వాలి.

నా ప్రొటెక్టెడ్ అప్లికేషన్ లాగిన్ మరియు ఎర్రర్ మధ్య ఎందుకు పదేపదే తిరుగుతోంది?

ప్రాక్సీ ప్రొవైడర్‌లో కాన్ఫిగర్ చేసిన ఎక్స్‌టర్నల్ హోస్ట్, బ్రౌజర్ ఉపయోగిస్తున్న URL తో సరిపోలడం లేదు, చాలా సందర్భాల్లో ఇది http మరియు https మధ్య వ్యత్యాసం వల్ల జరుగుతుంది. సెషన్ కుకీ ఒక ఆరిజిన్ కోసం జారీ చేయబడి మరొక దానిపై రీడ్ చేయబడుతోంది, కాబట్టి Authentik ప్రతిసారీ అనామక అభ్యర్థనగా (anonymous request) గుర్తిస్తుంది. ఎక్స్‌టర్నల్ హోస్ట్‌ను సరిచేయండి, ఆపై మీరు మళ్ళీ పరీక్షించే ముందు రెండు హోస్ట్‌నేమ్‌ల కోసం కుకీలను క్లియర్ చేయండి.

Authentik కి ఎంత RAM అవసరం?

జూలై 2026 నాటికి డాక్యుమెంట్ చేయబడిన కనీస అవసరం 2 CPU కోర్లు మరియు 2 GB RAM, ఇది PostgreSQL, సర్వర్ మరియు వర్కర్‌ను కలిపి పరిగణనలోకి తీసుకుంటుంది. 2 GB ఉన్న బాక్స్‌లో మెమరీ ఒత్తిడి పెరిగినప్పుడు కెర్నల్ మొదట వర్కర్ ప్రాసెస్‌ను నిలిపివేస్తుంది, దీనివల్ల లాగిన్ పేజీ పనిచేస్తున్నప్పటికీ బ్యాక్‌గ్రౌండ్ టాస్క్‌లు మరియు అవుట్‌బౌండ్ ఇమెయిల్ ఆగిపోతాయి. మీరు ప్రొటెక్ట్ చేస్తున్న అప్లికేషన్లు కూడా అదే సర్వర్‌లో నడుస్తుంటే, దానికి 4 GB RAM కేటాయించండి.

#authentik#sso#authentication#self-hosting#docker-compose#traefik