Web Analytics

self-hosted-simplelogin

⭐ 88 stars Thai by springcomp

🌐 ภาษา

SimpleLogin

นี่คือคอนฟิกูเรชัน docker-compose สำหรับ SimpleLogin ที่โฮสต์ด้วยตนเอง

ข้อกำหนดเบื้องต้น

ยกเว้นการตั้งค่า DNS ซึ่งมักจะทำบนอินเทอร์เฟซของผู้ให้บริการจดทะเบียนโดเมน ขั้นตอนด้านล่างทั้งหมดต้องทำบนเซิร์ฟเวอร์ของคุณ คำสั่งเหล่านี้ต้องรันด้วย bash (หรือเชลล์ที่เข้ากันได้กับ bash เช่น zsh) หากคุณใช้เชลล์อื่น เช่น fish กรุณาปรับคำสั่งให้เหมาะสม

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

การตั้งค่า DNS

_ดูรายละเอียดเพิ่มเติมได้ที่ เอกสารอ้างอิง_

โปรดทราบ ว่าการเปลี่ยนแปลง DNS อาจใช้เวลาสูงสุดถึง 24 ชั่วโมงในการกระจายข้อมูล อย่างไรก็ตาม ในทางปฏิบัติมักจะเร็วมาก (~1 นาทีในกรณีทดสอบของเรา) ในการตั้งค่า DNS เรามักใช้โดเมนที่ลงท้ายด้วยจุด (.) เพื่อบังคับให้ใช้โดเมนแบบสัมบูรณ์

คุณจะต้องตั้งค่าบันทึก DNS ต่อไปนี้:

ตั้งค่านโยบายความปลอดภัยที่จำเป็น:

ขั้นตอนเพิ่มเติม:

คำเตือน: การตั้งค่าบันทึก CAA จะจำกัดว่า CA ใดสามารถออกใบรับรอง SSL ให้กับโดเมนของคุณได้สำเร็จ ซึ่งจะป้องกันไม่ให้เซิร์ฟเวอร์ Let’s Encrypt ในโหมด staging ออกใบรับรองได้ คุณอาจต้องการเลื่อนการตั้งค่าบันทึก DNS นี้จนกว่าจะออกใบรับรอง SSL ให้กับโดเมนของคุณสำเร็จแล้ว

Docker

หากคุณยังไม่ได้ติดตั้ง Docker บนเซิร์ฟเวอร์ของคุณ โปรดทำตามขั้นตอนใน Docker CE for Ubuntu เพื่อติดตั้ง Docker

คุณยังสามารถติดตั้ง Docker ได้โดยใช้สคริปต์ docker-install ซึ่งเป็น

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

เปิดใช้งาน IPv6 สำหรับ เครือข่ายบริดจ์เริ่มต้น

{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:1::/64",
  "experimental": true,
  "ip6tables": true
}
ขั้นตอนนี้จะแนะนำวิธีการรันทั้งสแตกโดยใช้ Docker containers ซึ่งประกอบด้วย:

รัน SimpleLogin จาก Docker containers:

Postgres SQL

repository นี้จะรัน postgres SQL ใน Docker container

คำเตือน: repository เวอร์ชันก่อนหน้านี้ใช้เวอร์ชัน 12.1 โปรดดู เอกสารอ้างอิง สำหรับรายละเอียดเพิ่มเติมและ คำแนะนำในการอัปเกรด

การรันแอปพลิเคชัน

รันแอปพลิเคชันด้วยคำสั่งดังต่อไปนี้:

docker compose up --detach --remove-orphans --build && docker compose logs -f
คุณอาจต้องการตั้งค่า Certificate Authority Authorization (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-Resolver สาธารณะ (เปิด) (ดู: ) และคอนเทนเนอร์ postfix ของคุณอาจใช้ รีโซลเวอร์สาธารณีโดยค่าเริ่มต้น แนะนำให้สมัครใช้บริการ Spamhaus Data Query Service และรับคีย์ Spamhaus DQS

วางคีย์นี้เป็น SPAMHAUS_DQS_KEY ในไฟล์ .env ของคุณ

หากไม่มี DQS-key คอนเทนเนอร์ postfix ของคุณจะตรวจสอบว่ามิเรอร์สาธารณะของ Spamhaus ยอมรับคำขอหรือไม่และจะใช้มิเรอร์เหล่านั้นแทน หาก Spamhaus ปฏิเสธคำขอจากคอนเทนเนอร์ postfix ของคุณไปยังมิเรอร์สาธารณะ ระบบจะถูกปิดใช้งานทั้งหมด

การตั้งค่า Postfix - Virtual aliases

การตั้งค่า postfix รองรับ virtual aliases โดยใช้ไฟล์ postfix/conf.d/virtual และ postfix/conf.d/virtual-regexp ไฟล์เหล่านี้จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อเริ่มต้นขึ้นตามไฟล์ต้นแบบ postfix/templates/virtual.tpl และ postfix/templates/virtual-regexp.tpl

การตั้งค่าเริ่มต้นเป็นดังนี้:

#### virtual.tpl

ไฟล์ virtual รองรับการตั้งค่า postfix virtual_alias_maps ไฟล์นี้มีการกำหนด rule ที่แมป unknown@mydomain.com ไปยัง contact@mydomain.com เพื่อแสดงตัวอย่างการรับ อีเมลจากที่อยู่เฉพาะที่ไม่ตรงกับ alias ที่มีอยู่ ไปยัง alias ที่มีอยู่

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


#### virtual-regexp.tpl

ไฟล์ virtual-regexp รองรับการตั้งค่า virtual_alias_maps ของ postfix มันมีการกำหนดกฎที่เขียนใหม่อีเมลที่ถูกส่งถึงซับโดเมนใด ๆ ที่ไม่มี alias ที่มีอยู่ ไปยัง alias ใหม่ที่อยู่ในไดเรกทอรีซึ่งชื่อถูกนำมาจากซับโดเมนนั้น alias ดังกล่าวอาจถูกสร้างขึ้นทันทีหากยังไม่มีอยู่

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

ตัวอย่างเช่น อีเมลที่ส่งไปยัง someone@directory.mydomain.com จะถูกเปลี่ยนเส้นทางไปยัง directory/someone@mydomain.com` โดย postfix

วิธีอัปเกรดจาก 3.4.0

_ส่วนนี้ถูกย้ายไปยัง เอกสารอ้างอิง_

วิธีอัปเกรดจากการตั้งค่าแบบ NGinx ก่อนหน้า

_ส่วนนี้ถูกย้ายไปยัง เอกสารอ้างอิง_

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