Authentik #1 - 오픈소스 SSO 인증 서버 Authentik 설치하기 (Docker 기반)

2025. 7. 9. 23:25·Server
728x90

개요

안녕하세요 히단 입니다.

이번 포스팅에서는 오픈소스 인증 및 SSO 솔루션인 Authentik을 Docker 기반으로 설치하는 방법에 대해 알아보겠습니다.

 

1. Authentik이란?

Authentik은 로그인과 사용자 인증을 쉽게 관리할 수 있도록 도와주는 프로그램입니다. 

여러 서비스에서 하나의 계정으로 로그인할 수 있게 해주는 SSO(Single Sign-On) 기능을 제공합니다.

✅ Authentik의 주요 기능

  • 여러 로그인 방식 지원 (구글, 마이크로소프트, LDAP 등)
  • 웹 브라우저에서 쉽게 설정 가능
  • 보안 강화 기능 제공
  • Docker를 이용한 간편한 설치

 

2.  Authentik 설치하기

먼저 authentik 디렉터리를 생성합니다.

$ mkdir authentik

 

다음 디렉터리를 이동하고 authentik에서 제공하는 최신 docker-compose.yml 파일을 다운로드 합니다.

$ cd authentik/
$ wget https://goauthentik.io/docker-compose.yml

--2025-02-07 16:01:16--  https://goauthentik.io/docker-compose.yml
Resolving goauthentik.io (goauthentik.io)... 52.76.120.174, 52.220.155.145, 2406:da18:b3d:e200::65, ...
Connecting to goauthentik.io (goauthentik.io)|52.76.120.174|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-yaml]
Saving to: ‘docker-compose.yml’

docker-compose.yml                   [ <=>                                                      ]   2.65K  --.-KB/s    in 0s      

2025-02-07 16:01:16 (14.4 MB/s) - ‘docker-compose.yml’ saved [2710]

 

다운로드한 `docker-compose.yml` 파일에는 다음과 같은 역할의 서비스가 정의되어 있습니다.

  • postgres : Authentik에서 사용하는 데이터베이스
  • redis : 캐시/큐 작업 처리용
  • authentik-server : 웹 UI 및 API 제공
  • authentik-worker : 백그라운드 작업 처리

 

만약 새로 authentik을 설치하는 경우, password와 secret key를 생성해야 합니다.

아래 명령어를 통해 새로운 password와 secret key를 생성하고, .env 파일로 저장할 수 있습니다.

  • PG_PASS : PostgreSQL 데이터베이스 비밀번호
  • AUTHENTIK_SECRET_KEY : authentik 앱의 암호화 키 
$ echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> .env
$ echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> .env

 

옵션으로 에러 리포팅을 활성화 하시려면 다음 명령어로 옵션을 .env 파일에 추가해주세요.

  • AUTHENTIK_ERROR_REPORTING__ENABLED : 에러 보고 활성화 여부
$ echo "AUTHENTIK_ERROR_REPORTING__ENABLED=true" >> .env

 

기본적으로 authentik은 HTTP의 경우 포트 9000에서, HTTPS의 경우 포트 9443에서 내부적으로 수신합니다.

하지만 변경이 필요하신 경우, 다음과 같이 .env 파일에 변수를 추가해서  설정할 수 있습니다 

COMPOSE_PORT_HTTP=80
COMPOSE_PORT_HTTPS=443

 

다음으로 docker compose 명령어로 컨테이너를 생성 및 실행합니다.

$ docker compose up -d

 

참고로 docker-compose.yml 파일은 다운로드할 당시의 최신 버전을 가져옵니다.

따라서 새로운 버전으로 업그레이드가 필요한 경우, 아래와 같이 최신 버전을 지정해서 새로운 docker-compose.yml 파일을 다운로드 하면 된다고 하네요.

wget -O docker-compose.yml https://goauthentik.io/version/2024.12/docker-compose.yml
docker compose up -d

 

이제 브라우저에서 http://{my_server_ip}:9000/if/flow/initial-setup/ 로 접속해서, 기본 관리자 계정을 설정해주세요.

 

설정을 완료하시면, 관리자 계정으로 로그인 되면서 아래와 같이 비어있는 설정 화면이 기본적으로 보실 수 있을 겁니다.

여기까지 하시면 Authentik 설치는 완료가 되었습니다.

 

마무리

여기까지 Ubuntu에서 Docker를 사용하여 Authentik을 설치하는 방법을 알아보았습니다!

이제 Authentik이 준비되었으니, 다음 글에서는 Grafana를 Authentik SSO로 연동하는 방법을 다뤄보겠습니다!

감사합니다. 😊

반응형
'Server' 카테고리의 다른 글
  • Authentik #3 - Authentik 로그인에 Google OAuth2.0 연동하기
  • Authentik #2 - Grafana에 Authentik을 Reverse Proxy로 인증 연동하기
  • TrueNAS 네이티브 설치하기 (feat. GMKtec G9)
  • PROXMOX 클러스터 구성 방법
HiDAN_
HiDAN_
서버, 네트워크, 프로그래밍 모든 것이 서투른 초보 개발자의 블로그 입니다🖐️
  • HiDAN_
    깨작깨작 히단의 IT 일기 ✏️
    HiDAN_
  • 전체
    오늘
    어제
    • 분류 전체보기 (50)
      • IT Device (9)
      • Server (32)
      • Application (7)
      • Python (2)
      • 일상 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    홈서버
    eve-ng
    n100미니pc
    nas백업
    서버
    grafanasso
    Proxmox
    authentik
    N100
    ubuntu
    Firebat
    하이퍼바이저
    가상화
    docker
    nas
    저전력pc
    미니PC
    pnetlab
    n100발열
    ak2plus
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
HiDAN_
Authentik #1 - 오픈소스 SSO 인증 서버 Authentik 설치하기 (Docker 기반)
상단으로

티스토리툴바