Web Analytics

self-hosted-simplelogin

⭐ 88 stars Vietnamese by springcomp

🌐 Ngôn ngữ

SimpleLogin

Đây là cấu hình docker-compose tự lưu trữ cho SimpleLogin.

Yêu cầu tiên quyết

Ngoại trừ việc thiết lập DNS thường được thực hiện trên giao diện quản lý tên miền của bạn, tất cả các bước dưới đây đều được thực hiện trên máy chủ của bạn. Các lệnh được chạy với bash (hoặc bất kỳ shell tương thích bash nào như zsh) là shell. Nếu bạn sử dụng các shell khác như fish, vui lòng đảm bảo điều chỉnh các lệnh cho phù hợp.

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

Cấu hình DNS

_Xem tài liệu tham khảo để biết thêm chi tiết_

Lưu ý rằng các thay đổi DNS có thể mất đến 24 giờ để lan truyền. Tuy nhiên, trên thực tế, quá trình này thường nhanh hơn nhiều (~1 phút trong thử nghiệm của chúng tôi). Khi cấu hình DNS, chúng ta thường sử dụng tên miền có dấu chấm (.) ở cuối để bắt buộc sử dụng tên miền tuyệt đối.

Bạn sẽ cần thiết lập các bản ghi DNS sau:

Thiết lập các chính sách bảo mật bắt buộc:

Các bước bổ sung:

Cảnh báo: thiết lập bản ghi CAA sẽ giới hạn tổ chức phát hành chứng chỉ có thể cấp chứng chỉ SSL cho tên miền của bạn. Điều này sẽ ngăn việc phát hành chứng chỉ từ máy chủ staging của Let’s Encrypt. Bạn có thể muốn trì hoãn bản ghi DNS này cho đến khi chứng chỉ SSL được cấp thành công cho tên miền của bạn.

Docker

Nếu bạn chưa cài đặt Docker trên máy chủ, vui lòng làm theo các bước trong Docker CE cho Ubuntu để cài đặt Docker.

Bạn cũng có thể cài đặt Docker bằng cách sử dụng script docker-install

curl -fsSL https://get.docker.com | sh

Kích hoạt IPv6 cho mạng cầu nối mặc định

{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:1::/64",
  "experimental": true,
  "ip6tables": true
}
Quy trình này sẽ hướng dẫn bạn cách chạy toàn bộ stack bằng cách sử dụng các container Docker. Bao gồm:

Chạy SimpleLogin từ các container Docker:

Postgres SQL

Kho lưu trữ này chạy một postgres SQL trong một container Docker.

Cảnh báo: các phiên bản trước của kho lưu trữ này sử dụng phiên bản 12.1. Vui lòng tham khảo tài liệu tham khảo để biết thêm chi tiết và hướng dẫn nâng cấp.

Chạy ứng dụng

Chạy ứng dụng bằng các lệnh sau:

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

Bạn có thể muốn thiết lập Ủy quyền Cơ quan Chứng chỉ (CAA) tại bước này.

Các bước tiếp theo

Nếu tất cả các bước trên đều thành công, hãy mở và tạo tài khoản đầu tiên của bạn!

Theo mặc định, các tài khoản mới không phải là tài khoản cao cấp nên không có số lượng bí danh không giới hạn. Để nâng cấp tài khoản của bạn lên cao cấp, vui lòng vào cơ sở dữ liệu, bảng "users" và đặt cột "lifetime" thành "1" hoặc "TRUE":

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

Sau khi bạn đã tạo tất cả các tài khoản đăng nhập mong muốn, hãy thêm các dòng này vào .env để vô hiệu hóa việc đăng ký thêm:

DISABLE_REGISTRATION=1
DISABLE_ONBOARDING=true
Sau đó, để khởi động lại ứng dụng web, hãy áp dụng: docker compose restart app

Khác

Cấu hình Postfix - Spamhaus

Dự án Spamhaus duy trì một danh sách đáng tin cậy các địa chỉ IP được biết là nguồn phát tán SPAM. Bạn có thể kiểm tra xem một địa chỉ IP cụ thể có trong danh sách đó không bằng cách gửi truy vấn tới hạ tầng DNS.

Vì Spamhaus chặn các truy vấn đến từ các DNS-Resolver công khai (mở) (xem: ) và container postfix của bạn có thể sử dụng một resolver công khai theo mặc định, nên khuyến nghị đăng ký dịch vụ Spamhaus Data Query Service miễn phí và lấy một khóa Spamhaus DQS.

Dán khóa này dưới dạng SPAMHAUS_DQS_KEY vào file .env của bạn

Nếu không cung cấp khóa DQS, container postfix của bạn sẽ kiểm tra xem các mirror công khai của Spamhaus có chấp nhận truy vấn của nó không và sử dụng chúng thay thế. Nếu Spamhaus từ chối các truy vấn từ container postfix của bạn tới mirror công khai, nó sẽ bị vô hiệu hóa hoàn toàn.

Cấu hình Postfix - Virtual aliases

Cấu hình postfix hỗ trợ virtual aliases sử dụng các file postfix/conf.d/virtualpostfix/conf.d/virtual-regexp. Những file này được tự động tạo khi khởi động dựa trên các file mẫu tương ứng postfix/templates/virtual.tplpostfix/templates/virtual-regexp.tpl.

Cấu hình mặc định như sau:

#### virtual.tpl

File virtual hỗ trợ cài đặt virtual_alias_maps của postfix. Nó bao gồm một quy tắc ánh xạ unknown@mydomain.com sang contact@mydomain.com để minh họa việc nhận và email từ một địa chỉ cụ thể không tương ứng với một alias hiện có, sang một địa chỉ khác có tồn tại.

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


#### virtual-regexp.tpl

Tệp virtual-regexp hỗ trợ các thiết lập virtual_alias_maps của postfix. Nó bao gồm một quy tắc để viết lại các email được gửi đến một tên miền con bất kỳ, mà không tương ứng với một bí danh hiện có, thành một bí danh mới thuộc về một thư mục có tên được lấy từ tên miền con đó. Bí danh đó có thể được tạo ngay lập tức nếu nó chưa tồn tại.

postfix-conf /^([^@]+)@([^.]+)\.mydomain.com/ $2/$1@mydomain.com `

Ví dụ, các email gửi đến someone@directory.mydomain.com sẽ được postfix chuyển hướng đến directory/someone@mydomain.com`.

Cách nâng cấp từ 3.4.0

_Phần này đã được chuyển sang tài liệu tham khảo_

Cách nâng cấp từ thiết lập NGinx trước đó

_Phần này đã được chuyển sang tài liệu tham khảo_

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