NordBastion 북극곰 마스코트가 빛나는 선으로 연결된 청록색 노드 구체의 페더레이션 그래프를 지휘하며, 종단 간 암호화 메시지를 나타내는 떠 있는 말풍선 아이콘과 함께 Nordic 천문대 창을 통해 오로라가 보이는 모습
방법 가이드 · 실습 2시간·2026년 업데이트됨

VPS에서 Matrix를 자체 호스팅하십시오.
Synapse + Element. 페더레이션. 종단 간 암호화.

Matrix는 오픈 프로토콜 시대에 채팅을 위해 설계되었다면 이메일이 어떤 모습이었을지를 보여줍니다. 홈서버로서의 Synapse, 클라이언트로서의 Element, 저장소로서의 PostgreSQL, 프런트 도어로서의 Caddy — 그리고 특정 누구도 소유하지 않는 페더레이션 룸 그래프.

요약
  • 01

    Synapse는 2026년의 올바른 기본 홈서버입니다 — 실제 운영에서 검증된, 완전한 기능을 갖춘 레퍼런스 구현. Conduit와 Dendrite는 더 좁은 사용 사례에 유효합니다.

  • 02

    첫날부터 PostgreSQL로 전환하십시오. 기본 SQLite는 테스트 전용이며 소수의 사용자 이상에서는 불안정합니다. 미디어 업로드를 위한 디스크를 계획하십시오 — 페더레이션 방은 빠르게 미디어를 축적합니다.

  • 03

    폐쇄형 등록이 안전한 기본값입니다. 공개 등록은 실제 모더레이션 작업입니다. 맡을 의향이 있을 때만 활성화하십시오.

제1장

다섯 문장으로 보는 Matrix. 실제로 배포하는 것.

Matrix는 실시간 통신을 위한 오픈 프로토콜입니다. 홈서버는 프로토콜을 실행하는 서버입니다. 사용자는 각각 하나의 홈서버에 속하며 @alice:example.com으로 식별됩니다 — 이메일과 동일한 패턴. 룸은 대화의 단위입니다. 단일 룸은 여러 홈서버의 멤버를 가질 수 있으며, 룸 상태는 모든 참여 홈서버에 복제됩니다. 프라이빗 룸은 기기별 키(Olm/Megolm)로 모든 메시지를 암호화하므로 서버는 암호문만 봅니다. 전체 네트워크는 서로 룸 상태를 페더레이션하는 홈서버들의 그래프입니다.

흥미로운 특성: 어떤 중앙 기관도 Matrix를 종료할 수 없습니다(프로토콜은 개방적이며 어디서나 실행됨), 서로 다른 서버의 사용자가 투명하게 대화할 수 있습니다(페더레이션), 비공개 방은 적절한 종단 간 암호화를 제공합니다(광고용 전송 중 암호화가 아님), 그리고 사용자는 자체 운영하여 홈서버를 전환하면서도 신원을 유지할 수 있습니다. 트레이드오프는 운영 복잡성입니다 — 홈서버를 운영하는 것은 Discord에 로그인하는 것보다 더 많은 작업입니다 — 그리고 독점 플랫폼보다 작은 완성도 높은 클라이언트 생태계.

이 가이드에서 배포하는 것: Synapse(홈서버), PostgreSQL(데이터베이스), Element Web(브라우저 클라이언트, 자체 도메인에서 호스팅), Caddy(리버스 프록시 + 자동 TLS). 선택적으로 미디어 스토리지 백엔드와 페더레이션 탐색을 위한 well-known 엔드포인트. 전체 스택은 두 개의 Docker Compose 파일과 하나의 Caddy 설정입니다.

제2장

크기 설정. Synapse는 메모리 중심입니다.

Synapse는 방별 상태를 메모리에 유지하며, 대규모 페더레이션 방(예: 6만 명의 #matrix:matrix.org)에 참가하면 많은 상태가 홈서버로 당겨집니다. 그 결과, 단일 사용자 Synapse도 사용자가 활발한 페더레이션 방에 있으면 2~3 GB의 RAM을 꾸준히 사용할 수 있습니다. 이를 감안하여 계획하십시오.

단일 사용자, 적당한 페더레이션. 2 vCPU, 4 GB RAM, 40 GB SSD. NordBastion의 <a href="/ko/vps/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">Ravelin 플랜($5.90/월)</a>은 적절한 사양입니다. 활성 단일 사용자 기준 디스크는 연간 약 10 GB씩 증가하므로, 그에 맞는 여유 공간을 확보하십시오.

소규모 팀, 5~20명. 4 vCPU, 8 GB RAM, 100 GB SSD. Iron 티어($24.90/월)가 이를 충분히 처리합니다. 동일한 VPS에서 PostgreSQL을 실행하십시오. 데이터베이스는 여유 RAM과 디스크에 맞게 들어갑니다.

공개 홈서버, 사용자 100명 이상. 활성 사용자 100명을 넘어서면 Synapse는 워커 프로세스(별도의 페더레이션 발신자, 페더레이션 수신자, 클라이언트 수신자 워커)와 조정된 PostgreSQL의 혜택을 받습니다. Iron 또는 Granite 티어가 이를 처리하지만, 운영 복잡성은 비선형적으로 증가합니다 — 그 규모에서는 소프트웨어 사용자 외에도 Matrix 관리자가 됩니다.

디스크 현실. 페더레이션 룸의 미디어 업로드(이미지, 동영상, 파일)는 Matrix 페더레이션이 서비스를 위해 미디어를 로컬로 가져오기 때문에 홈서버에 축적됩니다. 바쁜 공개 홈서버는 주당 1 GB의 미디어가 추가될 수 있습니다. Synapse media_retention 구성을 통해 오래된 콘텐츠를 정리할 수 있습니다. 분기마다 검토하십시오.

제3장

Docker Compose 설치. Synapse, PostgreSQL, Element.

새 Debian 12 VPS를 시작하고 세 개의 DNS 레코드를 지정하십시오: matrix.example.com(홈서버 호스트명), element.example.com(웹 클라이언트), @alice:example.com 식별자 단축형을 원한다면 example.com 자체. sudo 사용자로 SSH에 접속하십시오.

1. Docker와 Compose를 설치하십시오. curl -fsSL https://get.docker.com | sh — Docker Engine은 동일한 패키지에 Compose v2를 포함하여 제공합니다.

2. Synapse 설정을 생성하십시오. mkdir -p ~/synapse/data && docker run -it --rm -v ~/synapse/data:/data -e SYNAPSE_SERVER_NAME=example.com -e SYNAPSE_REPORT_STATS=no matrixdotorg/synapse:latest generate — 이 명령으로 homeserver.yaml을 작성합니다. 편집: 데이터베이스를 SQLite에서 PostgreSQL로 변경하고, 미디어 URL을 설정하고, 시작 시 enable_registration: false로 설정하십시오(지금은 admin CLI를 통해 사용자를 생성합니다).

3. docker-compose.yml을 작성하십시오. 세 가지 서비스: postgres(postgres:16, 영구 볼륨, 로캘 C), synapse(matrixdotorg/synapse:latest, ~/synapse/data 마운트, postgres 의존), element(vectorim/element-web:latest, https://matrix.example.com을 지정하는 작은 config.json 마운트). synapse:8008과 element:80만 localhost에 매핑하십시오. 0.0.0.0에 바인딩하지 마십시오.

4. Caddy로 프런트를 구성하십시오. 두 개의 Caddyfile 사이트: matrix.example.com은 포트 443과 8448(페더레이션 포트) 모두에서 127.0.0.1:8008(Synapse)로 프록시합니다. element.example.com은 127.0.0.1:8001(Element Web)로 프록시합니다. Caddy는 Let's Encrypt 인증서를 자동으로 가져옵니다.

5. 페더레이션 검색 (.well-known). example.com 자체에 두 개의 정적 JSON 파일을 추가하십시오: {"m.server": "matrix.example.com:443"}을 반환하는 /.well-known/matrix/server와 {"m.homeserver": {"base_url": "https://matrix.example.com"}}을 반환하는 /.well-known/matrix/client. 이렇게 하면 @alice:example.com과 같은 단축 식별자가 올바르게 확인됩니다. federationtester.matrix.org의 Federation Tester로 검증하십시오.

6. 첫 번째 사용자를 생성하십시오. docker exec -it synapse register_new_matrix_user -u alice -p <password> -a -c /data/homeserver.yaml http://localhost:8008 — 이 명령으로 관리자 계정을 생성합니다. https://element.example.com을 통해 로그인하십시오.

제4장

Element, 브랜딩, 등록 정책. 한번 결정하면 유지되는 사항들.

Element 구성. Element Web은 홈서버를 가리키는 config.json을 읽어 기본 테마, 브랜딩, 새 계정의 "제안된 룸" 목록을 설정합니다. default_server_config.m.homeserver.base_url을 https://matrix.example.com으로, brand를 프로젝트 이름으로 설정하고, matrix.org를 제안하는 brand_url 필드를 비활성화하십시오. 신규 사용자는 다른 사람의 서버가 아닌 귀하의 서버를 가리키는 Element Web에 접속합니다.

등록 정책. 세 가지 모드: 폐쇄형(관리자만 CLI를 통해 사용자를 등록할 수 있음; 가장 깔끔한 모더레이션 자세), 토큰 기반(admin API를 통해 등록 토큰을 생성하여 공유; 소규모 그룹에 적합), 개방형(누구나 등록 가능; 모더레이션 도구와 함께 공개 홈서버를 운영할 의향이 있을 때만 활성화). 폐쇄형으로 시작하고 이유가 있을 때만 완화하십시오.

페더레이션 차단 목록. Synapse는 federation_domain_whitelist(허용 목록 전용)와 admin API를 통한 서버별 차단을 지원합니다. 대부분의 공개 홈서버에서 기본값은 "모든 것과 페더레이션"이며, 필요에 따라 남용 서버를 반응적으로 차단합니다. Mjolnir 봇이 대상이 될 경우 이를 자동화합니다.

백업. PostgreSQL 야간 덤프 + ~/synapse/data 타르볼을 rclone을 통해 두 번째 VPS 또는 B2 버킷으로 오프서버 전송. 둘 다 필요합니다. 데이터베이스는 룸 상태와 계정이며, 데이터 디렉터리에는 서명 키와 미디어가 있습니다. 모든 백업과 마찬가지로 분기마다 복원 테스트를 수행하십시오.

제5장

모더레이션의 현실. 자체 호스팅이 실제로 의미하는 것.

Matrix 홈서버를 운영한다는 것은 호스트가 서버의 행위에 책임을 진다는 것을 받아들이는 것을 의미합니다. 초대 전용 비공개 홈서버에서는 그 책임이 작습니다 — 모든 사용자를 알고 있기 때문입니다. 공개 홈서버에서는 책임이 사용자 기반에 따라 확장됩니다.

인바운드 남용. 페더레이션 공개 룸은 남용 조율, 이미지 덤프, 또는 괴롭힘에 휘말릴 수 있습니다. Synapse는 사용자 차단(모든 룸), 홈서버 차단(이후 페더레이션 없음), 서버 강제 퇴장을 위한 관리자 API 엔드포인트를 제공합니다. Mjolnir 봇은 이를 모더레이션 룸 워크플로우로 감싸줍니다. Draupnir 포크는 활발히 유지 관리되는 후속 버전입니다.

아웃바운드 남용. 침해된 사용자 계정이 페더레이션 룸에 악성 콘텐츠를 게시하면 나머지 네트워크와의 서버 평판이 손상됩니다. 두 가지 완화 방법: 사용자별 속도 제한(Synapse 기본 속도 제한이 적절합니다), 그리고 새 계정에 이메일 인증 요구(자동화 가입의 문턱을 높입니다).

법적 자세. EU에서 인프라 공급자 역할은 강력한 중개자 책임 보호(전자상거래 지침 제14조, DSA 제6조)를 제공합니다 — 통지 및 삭제에 응답하는 한 사용자 콘텐츠에 대해 책임지지 않습니다. Nordic 관할권은 명시적인 헌법적 언론 자유 보호로 이를 확장합니다. 중개자 보호가 없는 관할권에서 운영되는 동일한 홈서버는 운영상 더 위험합니다. 그에 따라 호스트 위치를 선택하십시오.

안전한 기본값. 초대 전용 등록, 반응형 차단이 활성화된 페더레이션, 필요할 때까지 미사용으로 설치된 Mjolnir / Draupnir, 명확한 허용 사용 정책과 함께 홈서버 웹사이트에 게시된 서비스 약관. 그 자세는 추가 노력 없이 운영자의 95%를 처리합니다.

제6장

호스트가 왜 중요한지. 암호화는 콘텐츠를 보호하고, 호스트는 메타데이터를 보호합니다.

Matrix E2EE는 메시지 본문을 보호합니다 — 서버는 프라이빗 룸에 대한 암호문만 보유합니다. 보호하지 않는 것은 메타데이터입니다: 어떤 홈서버들이 서로 페더레이션하는지, 어떤 사용자들이 어떤 룸에 있는지, 언제 온라인인지, 얼마나 자주 메시지를 보내는지, 기기가 무엇인지. 그 메타데이터 그래프는 홈서버와 페더레이션하는 홈서버들에 저장되며, 기술적으로 암호화 계층의 범위를 벗어납니다.

KYC 연결 VPS에서 실행되는 홈서버는 메타데이터 그래프를 운영자의 법적 신원에 묶습니다. 호스트에 대한 소환장은 암호화된 데이터베이스뿐만 아니라 @alice:example.com 식별자에서 실제 이름으로의 연결고리를 산출합니다. 암호화 자체는 유지되지만 메타데이터 계층은 열려 있습니다.

NordBastion의 입장은 정반대입니다: <a href="/ko/doctrine/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">KYC 없는 가입</a>, 암호화폐 결제, 북유럽 헌법적 관할권. 홈서버는 귀하의 것입니다. 홈서버에서 이름으로 연결되는 경로는 존재하지 않습니다. 디스크에 닿는 법적 체제에는 명시적인 언론 자유 보호 조항이 있습니다. 이 조합은 Matrix 자체의 보안 모델과 일치하며 — 암호화 콘텐츠 계층과 메타데이터 운영 계층 모두 보호됩니다.

FAQ · Matrix 자체 호스팅

질문들, 답변됨.

2026년에 Matrix 홈서버를 운영하면서 발생하는 여덟 가지 질문.

Matrix가 무엇이며 Discord나 Slack과 어떻게 다릅니까?

Matrix는 페더레이션된 오픈 표준 실시간 통신 프로토콜입니다 — 채팅을 위한 SMTP라고 생각하십시오. 누구나 홈서버(Synapse, Dendrite, Conduit)를 운영하고, 다른 홈서버의 사용자들은 투명하게 서로 대화하며, 프라이빗 룸의 모든 메시지는 기본적으로 종단 간 암호화되고, 중앙 회사가 네트워크를 제어하지 않습니다. Discord와 Slack은 중앙화되고 독점적이며, 회사가 모든 대화를 호스팅합니다. 트레이드오프: Matrix는 운영 복잡성이 약간 더 높고 세련된 클라이언트 생태계가 작지만, 모든 바이트를 소유합니다.

Synapse, Dendrite, Conduit 중 어떤 홈서버를 선택해야 하나요?

Synapse는 Python으로 작성된 레퍼런스로, 가장 기능이 완전하고 실제 운영에서 검증된 선택입니다. 메모리 사용량이 많습니다. Dendrite는 더 새로운 Go 재작성으로 훨씬 가볍고 일부 고급 모더레이션 기능이 없지만 빠르게 격차를 좁히고 있습니다. Conduit는 세 번째 옵션으로, 저렴한 VPS의 단일 사용자 홈서버에 적합한 작은 리소스 풋프린트에 집중한 Rust 홈서버입니다. 특별한 이유가 없으면 Synapse를 기본으로 사용하십시오 — 문서, 모더레이션 도구, 서드파티 브리지 모두 Synapse를 기준으로 합니다.

Matrix 홈서버에 얼마나 많은 VPS가 필요합니까?

더 넓은 Matrix 네트워크에 페더레이팅하는 단일 사용자 — 2 vCPU, 4 GB RAM, 40 GB SSD가 실용적인 최소값입니다. 소규모 팀(5~20명) — 4 vCPU, 8 GB RAM, 100 GB SSD. Ravelin 또는 Iron 티어가 두 경우를 모두 커버합니다. 지배적인 리소스는 RAM(Synapse는 많은 방 상태를 메모리에 유지)과 디스크(미디어 업로드와 페더레이션 방 기록이 지속적으로 증가)입니다.

페더레이션을 활성화해야 하나요?

거의 항상 그렇습니다 — 그것이 Matrix의 핵심입니다. 페더레이션을 통해 사용자들은 matrix.org, mozilla.org, kde.org 및 수천 개의 다른 홈서버에 있는 누구와도 대화할 수 있습니다. 예외: 아무도 룸을 발견하길 원하지 않는 내부 팀 전용 서버; 페더레이션 트래픽 패턴이 정보를 유출하는 고위험 위협 모델; 엄격한 멤버십 제어를 원하는 민감한 주제의 콘텐츠를 호스팅하는 서버. 나중에 페더레이션을 비활성화하는 것은 괜찮습니다. 다시 활성화하면 검색 가능해집니다.

프라이빗 룸은 기본적으로 종단 간 암호화됩니까?

그렇습니다 — 모든 Element 클라이언트는 새 다이렉트 메시지와 비공개 방에 대해 기본적으로 E2EE를 활성화합니다. 암호화는 교차 서명된 기기 확인이 있는 방별 Olm/Megolm입니다. 서버는 메시지 본문의 암호문만 봅니다. 공개 방은 설계상 암호화되지 않습니다(누구나 참가할 수 있으므로 암호화가 아무것도 보호하지 않음). 페더레이션 공개 방은 누구에게나 보이며 — 이것이 공개 방의 목적입니다.

공개 홈서버 운영의 모더레이션 현실은 무엇입니까?

실제 작업입니다. 공개 등록을 허용하면 홈서버는 스팸 룸에 페더레이션되고, 남용 조율 룸에 휘말리며, 때때로 페더레이션 서버의 불쾌한 콘텐츠가 나타납니다. 공개 홈서버 운영은 서버 수준 차단 적용, 적대적 서버 페더레이션 차단, 남용 신고 응답 의지를 요구합니다. 대부분의 운영자에게 올바른 자세는 폐쇄형 등록(초대 전용)입니다 — 모든 사용자가 아는 사람이며, 남용 노출이 거의 0으로 줄어듭니다.

직장에서 Matrix 홈서버를 Slack / Discord 대체제로 사용할 수 있습니까?

그렇습니다 — Element Server Suite와 기반이 되는 Synapse + Element Web 조합은 "영구 방, 스레드, 반응, 음성/화상 허들이 있는 팀 채팅" 기능 세트를 커버합니다. Slack 대비 주요 차이점은 서드파티 통합(더 적은 사전 제작 앱)이며, Discord 대비 주요 차이점은 완성도 높은 음성 채널입니다. 둘 다 사용 가능하지만 약간의 운영자 노력이 필요합니다. 완성도보다 데이터 주권을 중시하는 소규모 팀에게 그 트레이드는 분명히 가치 있습니다.

VPS를 임대하는 호스트가 Matrix 서버에 왜 중요합니까?

페더레이션 채팅 프로토콜이 홈서버에서 누가 언제 누구와 대화했는지에 대한 지속적인 메타데이터를 생성하기 때문입니다. 그 메타데이터는 풍부합니다(페더레이션 룸 그래프, 페더레이션 이벤트, 미디어 업로드). KYC가 있는 호스트에 저장하면 메타데이터가 신원에 묶입니다. 적대적 관할권의 호스트에 저장하면 국가 행위자가 강제할 수 있습니다. no-KYC Nordic VPS는 호스트의 메타데이터 자세를 프로토콜의 암호화 자세와 일치시킵니다 — 프라이버시 이야기의 두 반쪽 모두.

서버를 확보하십시오

홈서버를 위한 Nordic VPS. KYC 없음, 암호화폐 결제.

Ravelin (2 vCPU, 4 GB, $5.90/월)은 단일 사용자 페더레이팅 Synapse를 충당합니다. Iron (4 vCPU, 8 GB, $24.90/월)은 소규모 팀을 위한 선택입니다.

마지막 검토일 · 2026-05-20 · 출처 · Synapse 업스트림 문서, Element 설정 참조, Matrix 사양, EU DSA 제6조 · 주기 · 연간