개요
안녕하세요 HiDAN 입니다.
이번 포스팅에서는 Ubuntu에서 Docker를 사용하여 Authentik을 설치하는 방법에 대해 알아보겠습니다. 🔐
1. Authentik이란?
Authentik은 로그인과 사용자 인증을 쉽게 관리할 수 있도록 도와주는 프로그램입니다.
여러 서비스에서 하나의 계정으로 로그인할 수 있게 해주는 SSO(Single Sign-On) 기능을 제공합니다.
✅ Authentik의 주요 기능
- 여러 로그인 방식 지원 (구글, 마이크로소프트, LDAP 등)
- 웹 브라우저에서 쉽게 설정 가능
- 보안 강화 기능 제공
- Docker를 이용한 간편한 설치
2. Authentik 설치하기
먼저 authentik 디렉터리를 생성합니다.
hidan@ubuntu:~ubuntu$ mkdir authentik
다음 디렉터리를 이동하고 authentik에서 제공하는 최신 docker-compose.yml 파일을 다운로드 합니다.
hidan@ubuntu:~ubuntu$ cd authentik/
hidan@ubuntu:~ubuntu/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]
만약 새로 authentik을 설치하는 경우, password와 secret key를 생성해야 합니다.
아래 명령어를 통해 새로운 password와 secret key를 생성하고, .env 파일로 저장할 수 있습니다.
hidan@ubuntu:~ubuntu/authentik$ echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> .env
hidan@ubuntu:~ubuntu/authentik$ echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> .env
옵션으로 에러 리포팅을 활성화 하시려면 다음 명령어로 옵션을 .env 파일에 추가해주세요.
hidan@ubuntu:~ubuntu/authentik$ echo "AUTHENTIK_ERROR_REPORTING__ENABLED=true" >> .env
기본적으로 authentik은 HTTP의 경우 포트 9000에서, HTTPS의 경우 포트 9443에서 내부적으로 수신합니다.
하지만 변경이 필요하신 경우, 다음과 같이 .env 파일에 변수를 추가해서 설정할 수 있습니다
COMPOSE_PORT_HTTP=80
COMPOSE_PORT_HTTPS=443
다음으로 docker compose 명령어로 컨테이너를 생성 및 실행합니다.
hidan@ubuntu:~ubuntu/authentik$ 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을 사용하면 여러 서비스의 로그인을 하나로 통합하고 보안을 강화할 수 있으니 한 번 설치하고 사용 방법을 익혀보세요!
감사합니다.. 😊