Web Analytics

self-hosted-simplelogin

⭐ 88 stars Korean by springcomp

🌐 언어

SimpleLogin

이것은 SimpleLogin을 위한 셀프 호스팅 docker-compose 구성입니다.

사전 준비 사항

DNS 설정은 일반적으로 도메인 등록기관의 인터페이스에서 진행하며, 아래 단계들은 모두 자신의 서버에서 진행해야 합니다. 명령어는 bash(또는 zsh와 같은 bash 호환 셸)에서 실행해야 합니다. 만약 fish와 같은 다른 셸을 사용한다면, 명령어를 알맞게 수정해 주세요.

sudo apt update \
  && sudo apt install -y net-tools dnsutils

DNS 구성

_자세한 내용은 참고 문서를 참조하세요_

참고 DNS 변경 사항이 전파되는 데 최대 24시간이 걸릴 수 있습니다. 실제로는 훨씬 빠르며(테스트에서는 약 1분 정도) DNS 설정 시, 일반적으로 도메인의 끝에 점(.)을 붙여 절대 도메인을 강제로 사용합니다.

다음 DNS 레코드를 설정해야 합니다:

필수 보안 정책을 설정하세요:

추가 단계:

경고: CAA 레코드를 설정하면 도메인에 대해 SSL 인증서를 성공적으로 발급할 수 있는 인증 기관이 제한됩니다. 이로 인해 Let’s Encrypt 스테이징 서버에서 인증서 발급이 차단됩니다. SSL 인증서가 성공적으로 발급될 때까지 이 DNS 레코드를 미루는 것이 좋습니다.

도커

서버에 도커가 설치되어 있지 않은 경우, Ubuntu용 Docker CE의 단계에 따라 도커를 설치하세요.

또한 docker-install 스크립트를 사용하여 도커를 설치할 수도 있습니다. 이는

curl -fsSL https://get.docker.com | sh
기본 브리지 네트워크에 대해 IPv6 활성화하기

{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:1::/64",
  "experimental": true,
  "ip6tables": true
}
이 절차는 Docker 컨테이너를 사용하여 전체 스택을 실행하는 방법을 안내합니다. 여기에는 다음이 포함됩니다:

Docker 컨테이너에서 SimpleLogin 실행:

Postgres SQL

이 저장소는 Docker 컨테이너에서 postgres SQL을 실행합니다.

경고: 이전 버전의 이 저장소는 12.1 버전을 실행했습니다. 자세한 내용과 업그레이드 지침은 참고 문서를 참조하십시오.

애플리케이션 실행

다음 명령어를 사용하여 애플리케이션을 실행합니다:

docker compose up --detach --remove-orphans --build && docker compose logs -f

이 시점에서 인증서 기관 권한 부여(CAA)를 설정하는 것이 좋습니다.

다음 단계

위의 모든 단계가 성공적으로 완료되면 을 열고 첫 번째 계정을 만드세요!

기본적으로 새 계정은 프리미엄이 아니므로 무제한 별칭을 가지지 않습니다. 계정을 프리미엄으로 만들려면, 데이터베이스의 "users" 테이블로 가서 "lifetime" 열을 "1" 또는 "TRUE"로 설정하세요:

docker compose exec -it postgres psql -U myuser simplelogin
UPDATE users SET lifetime = TRUE;
\q

원하는 모든 로그인 계정을 생성한 후, 추가 등록을 비활성화하려면 .env에 다음 줄을 추가하세요:

DISABLE_REGISTRATION=1
DISABLE_ONBOARDING=true
그런 다음, 웹 앱을 다시 시작하려면 다음을 적용하세요: docker compose restart app

기타

Postfix 설정 - Spamhaus

Spamhaus 프로젝트는 스팸의 출처로 알려진 IP 주소 목록을 신뢰성 있게 유지합니다. 해당 IP 주소가 목록에 있는지 확인하려면 DNS 인프라에 쿼리를 제출할 수 있습니다.

Spamhaus는 공개(오픈) DNS-리졸버에서 오는 쿼리를 차단하므로(참조: ) postfix 컨테이너가 기본적으로 공개 리졸버를 사용할 수 있으니, 무료 Spamhaus 데이터 쿼리 서비스에 가입하고 Spamhaus DQS 키를 받는 것을 권장합니다.

이 키를 .env 파일의 SPAMHAUS_DQS_KEY에 붙여넣으세요.

DQS 키가 제공되지 않으면 postfix 컨테이너는 Spamhaus 공개 미러가 쿼리를 수락하는지 확인하고 대신 이를 사용합니다. Spamhaus가 공개 미러에 대한 postfix 컨테이너의 쿼리를 거부하면, 해당 기능은 완전히 비활성화됩니다.

Postfix 설정 - 가상 별칭

postfix 설정은 postfix/conf.d/virtualpostfix/conf.d/virtual-regexp 파일을 사용한 가상 별칭을 지원합니다. 이 파일들은 시작 시 대응하는 postfix/templates/virtual.tplpostfix/templates/virtual-regexp.tpl 템플릿 파일을 기반으로 자동 생성됩니다.

기본 설정은 다음과 같습니다:

#### virtual.tpl

virtual 파일은 postfix virtual_alias_maps 설정을 지원합니다. 존재하지 않는 별칭에 해당하는 특정 주소인 unknown@mydomain.com에서 오는 메일을 존재하는 다른 별칭인 contact@mydomain.com으로 매핑하는 규칙을 포함하여 수신을 시연합니다.

``postfix-conf unknown@mydomain.com contact@mydomain.com


#### virtual-regexp.tpl

virtual-regexp 파일은 postfix의 virtual_alias_maps 설정을 지원합니다. 기존의 별칭과 일치하지 않는 임의의 서브도메인으로 주소가 지정된 이메일을 서브도메인 이름을 딴 디렉터리에 속한 새 별칭으로 재작성하는 규칙을 포함합니다. 해당 별칭이 존재하지 않을 경우 즉시 생성될 수 있습니다.

postfix-conf /^([^@]+)@([^.]+)\.mydomain.com/ $2/$1@mydomain.com ` 예를 들어, someone@directory.mydomain.com으로 전송된 이메일은 postfix에 의해 directory/someone@mydomain.com`으로 라우팅됩니다.

3.4.0 버전에서 업그레이드하는 방법

_이 섹션은 참고 문서로 이동되었습니다_

이전 NGinx 기반 설정에서 업그레이드하는 방법

_이 섹션은 참고 문서로 이동되었습니다_

--- Tranlated By Open Ai Tx | Last indexed: 2026-03-15 ---