• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
가이드

시놀로지 도커에 Authentik 설치하기 - 나만의 인증 서버/페이지 구성하기

빨간물약 빨간물약 975

3

9

image.png.jpg

 

달소님이 올려주신 가이드는 우분투에서 설치 하는 방법 입니다만

큰 수정 없이 시놀로지 도커에서 설치가 가능합니다

 

우선 조금 다른 부분이 7.2 컨테이너 매니저를 이용해서 설치를 할 생각 인데요

7.2가 아니신 분들은 도커에 portainer를 설치해서 사용하시던지

기존 도커 컴포즈 설치 하시던 방법 대로 설치 하시면 될 거 같습니다

  • 우선 파일 스테이션을 통해서 /volume1/docker/authentik 폴더를 만들어 줍니다

 

그 후에 https://goauthentik.io/docker-compose.yml

 

---
version: "3.4"

services:
  postgresql:
    image: docker.io/library/postgres:12-alpine
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
      start_period: 20s
      interval: 30s
      retries: 5
      timeout: 5s
    volumes:
      - database:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: ${PG_PASS:?database password required}
      POSTGRES_USER: ${PG_USER:-authentik}
      POSTGRES_DB: ${PG_DB:-authentik}
    env_file:
      - .env
  redis:
    image: docker.io/library/redis:alpine
    command: --save 60 1 --loglevel warning
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
      start_period: 20s
      interval: 30s
      retries: 5
      timeout: 3s
    volumes:
      - redis:/data
  server:
    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2023.5.4}
    restart: unless-stopped
    command: server
    environment:
      AUTHENTIK_REDIS__HOST: redis
      AUTHENTIK_POSTGRESQL__HOST: postgresql
      AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
      AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
      AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
    volumes:
      - ./media:/media
      - ./custom-templates:/templates
    env_file:
      - .env
    ports:
      - "${COMPOSE_PORT_HTTP:-9000}:9000"
      - "${COMPOSE_PORT_HTTPS:-9443}:9443"
    depends_on:
      - postgresql
      - redis
  worker:
    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2023.5.4}
    restart: unless-stopped
    command: worker
    environment:
      AUTHENTIK_REDIS__HOST: redis
      AUTHENTIK_POSTGRESQL__HOST: postgresql
      AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
      AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
      AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
    # `user: root` and the docker socket volume are optional.
    # See more for the docker socket integration here:
    # https://goauthentik.io/docs/outposts/integrations/docker
    # Removing `user: root` also prevents the worker from fixing the permissions
    # on the mounted folders, so when removing this make sure the folders have the correct UID/GID
    # (1000:1000 by default)
    user: root
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./media:/media
      - ./certs:/certs
      - ./custom-templates:/templates
    env_file:
      - .env
    depends_on:
      - postgresql
      - redis

volumes:
  database:
    driver: local
  redis:
    driver: local

 

파일 스테이션을 통해서 docker-compose.yml 에서 요구하는 폴더를 생성 해주세요

 

image.png.jpg

  • /volume1/docker/authentik/var/run/docker.sock
  • /volume1/docker/authentik/certs
  • /volume1/docker/authentik/custom-templates
  • /volume1/docker/authentik/media
  • /volume1/docker/authentik/redis
  • /volume1/docker/authentik/database

 위의 트리대로 생성을 다 해주시고 나서 ssh로 접속을 해줍니다

.env를 만들기 위한 과정인데요 시놀 도커는 우분투가 아니라

암호화키 생성을 도와줄 패키지를 설치합니다.

sudo apt-get install -y pwgen

 

그런 다음 다음 명령을 실행하여 비밀번호와 비밀 키를 생성하고 파일에 씁니다 .env.

echo "PG_PASS=$(pwgen -s 40 1)" >> .env
echo "AUTHENTIK_SECRET_KEY=$(pwgen -s 50 1)" >> .env

이 부분이 실행이 안됩니다 

  • ssh 접속 후 sudo -i 입력을 통해 관리자 권한으로 진행 합니다
  • cd /volume1/docker/authentik 으로 만들어 둔 폴더로 이동

echo "PG_PASS=$(openssl rand -base64 40)" >> .env
echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 50)" >> .env

  • 위의 명령을 한 줄씩 실행 해주시면 됩니다

pwgen 대신에 opnessl을 이용해 만들어진 40자 50자의 암호를 가지고 .env 파일을 생성하는 작업이고요

pwgen과 어느정도 비슷한 보안 수준일 겁니다

 

컨테이너 매니저로 이동 하셔서

 

image.png.jpg

프로젝트 이름과 만들어 둔 경로 그리고 도커 컴포즈 파일을 업로드 하시던지 만들기로 붙여넣기 하시던지 해서

다음 다음 누르면 별 다른 문제 없이 바로 생성이 될 겁니다

 

그 후에는 

달소님 가이드를 참고 하시면 됩니다

 

적용 하는데 문제가 생기는지 확인은 못해봤습니다만 큰 문제는 없지 않을까 생각해봅니다

신고공유스크랩
9
profile image 1등
달소 2023.05.29. 22:12
크,,, 시놀버전은 어떻게 작성할까 고민하고있었는데 완벽합니다!!👍👍
profile image
빨간물약 글쓴이 2023.05.29. 22:18
달소
pwgen이 설치가 안되서 openssl로 만들어 봤는데 별 다른 문제는 없는 거 같더라고요
2등
ZEMA 2023.08.15. 22:49

설치중에 아래와 같은 오류가 발생하는데 왜그럴까요?ㅜㅜ

 

image.png.jpg

 

profile image
빨간물약 글쓴이 2023.08.16. 00:44
ZEMA
글쎄요 이 에러만 봐서는 잘 모르겠지만 포트 번호 겹치는 거 있나 확인 해보세요
3등
배뚱이 2023.09.06. 15:54
오 뭔가 필요해서 검색하면 항상 서버포럼에 답이 있네요
가이드 올려주셔서 감사합니다ㅎ
profile image
빨간물약 글쓴이 2024.03.25. 08:56
이정도면컴맹인듯

 위의 트리대로 생성을 다 해주시고 나서 ssh로 접속을 해줍니다

.env를 만들기 위한 과정인데요 시놀 도커는 우분투가 아니라

암호화키 생성을 도와줄 패키지를 설치합니다.

sudo apt-get install -y pwgen

 

그런 다음 다음 명령을 실행하여 비밀번호와 비밀 키를 생성하고 파일에 씁니다 .env.

echo "PG_PASS=$(pwgen -s 40 1)" >> .env
echo "AUTHENTIK_SECRET_KEY=$(pwgen -s 50 1)" >> .env

이 부분이 실행이 안됩니다 

  • ssh 접속 후 sudo -i 입력을 통해 관리자 권한으로 진행 합니다
  • cd /volume1/docker/authentik 으로 만들어 둔 폴더로 이동

echo "PG_PASS=$(openssl rand -base64 40)" >> .env
echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 50)" >> .env

  • 위의 명령을 한 줄씩 실행 해주시면 됩니다

pwgen 대신에 opnessl을 이용해 만들어진 40자 50자의 암호를 가지고 .env 파일을 생성하는 작업이고요

pwgen과 어느정도 비슷한 보안 수준일 겁니다

 

이 가이드 글이 그 부분을 수정한 가이드 입니다

apt-get이 안먹혀서 pwgen을 설치 못하고 그래서 openssl을 이용해서 ,env를 만드는 과정이 들어가 있습니다

ipkg에는 pwgen패키지가 없습니다

 

openssl로 진행해 주세요

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

첨부 0

번호 분류 제목 글쓴이 날짜 조회 추천
공지 정보 DSM 7.2v) Mshell로 헤놀로지 부트로더 빌드하기. 62 달소 23.05.29.01:57 24742 +24
공지 정보 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 72 달소 23.05.23.23:58 26302 +23
후기 asustor에서 나온 nas에 dsm 올렸습니다... 4 링츠링링 2일 전18:45 320 +2
질문 Wireguard 관련해서 질문 드립니다! 2 리준 3일 전12:25 165 +1
가이드 bitwarden 라이센스적용하기. 6 블랙앤해적 4일 전20:01 415 +2
5098 질문
image
양미 50분 전18:47 16 0
5097 질문
file
지나가는_문과생 7시간 전12:20 117 0
5096 질문
normal
툭툭이 1일 전14:32 91 0
5095 질문
normal
zip 1일 전13:40 71 0
5094 질문
normal
jinsol2 1일 전11:13 432 0
5093 질문
normal
M-M-M 1일 전09:15 60 0
5092 후기
image
링츠링링 2일 전18:45 320 +2
5091 질문
normal
nadomola 2일 전17:30 95 0
5090 질문
normal
Venzamin 2일 전11:40 176 0
5089 잡담
normal
서맹 2일 전09:42 425 0
5088 질문
image
초보나스 2일 전03:44 136 0
5087 질문
image
Noil 2일 전23:22 86 0
5086 질문
image
서브어린이 2일 전20:16 84 0
5085 질문
image
서브어린이 3일 전17:50 114 0
5084 질문
image
리준 3일 전12:25 165 +1
5083 질문
image
인터찹 4일 전16:22 357 0
5082 질문
normal
지나가는_문과생 4일 전16:16 112 0
5081 질문
image
yholics 4일 전12:39 149 0
5080 질문
normal
서브어린이 4일 전09:11 192 0
5079 질문
image
사쿨쨩 4일 전23:14 110 0