ทีม Linuxserver.io นำเสนอการเปิดตัวคอนเทนเนอร์อีกครั้งที่มี:
การอัปเดตแอปพลิเคชันปกติและทันเวลา
การแมปผู้ใช้ง่าย (PGID, PUID)
ภาพฐานที่กำหนดเองพร้อมซ้อนทับ S6
การอัปเดตระบบปฏิบัติการฐานรายสัปดาห์ด้วยเลเยอร์ทั่วไปทั่วทั้งระบบนิเวศ Linuxserver.io เพื่อลดการใช้พื้นที่เวลาลงเวลาและแบนด์วิดท์
การอัปเดตความปลอดภัยปกติ
ค้นหาเราได้ที่:
บล็อก - ทุกสิ่งที่คุณสามารถทำได้กับภาชนะบรรจุของเรารวมถึงแนวทางวิธีการความคิดเห็นและอื่น ๆ อีกมากมาย!
Discord - การสนับสนุน / แชทแบบเรียลไทม์กับชุมชนและทีมงาน
วาทกรรม - โพสต์ในฟอรัมชุมชนของเรา
Fleet - เว็บอินเตอร์เฟสออนไลน์ที่แสดงภาพทั้งหมดของเรา
GitHub - ดูแหล่งที่เก็บทั้งหมดของเรา
Open Collective - โปรดพิจารณาช่วยเหลือเราโดยการบริจาคหรือสนับสนุนงบประมาณของเรา
เราขอแนะนำภาพ unifi-network-Application ของเราแทน: https://github.com/linuxserver/docker-unifi-network-application
ซอฟต์แวร์ UNIFI-Controller เป็นเอ็นจินซอฟต์แวร์ไร้สายที่มีประสิทธิภาพและทรงพลังสำหรับการปรับใช้ไคลเอนต์ที่มีความหนาแน่นสูงซึ่งต้องการความหน่วงแฝงต่ำและประสิทธิภาพการทำงานที่สูง
เราใช้ Manifest Docker สำหรับการรับรู้หลายแพลตฟอร์ม มีข้อมูลเพิ่มเติมจาก Docker ที่นี่และประกาศของเราที่นี่
เพียงแค่ดึง lscr.io/linuxserver/unifi-controller:latest ควรดึงภาพที่ถูกต้องสำหรับซุ้มประตูของคุณ แต่คุณยังสามารถดึงภาพโค้งเฉพาะผ่านแท็กได้
สถาปัตยกรรมที่ได้รับการสนับสนุนจากภาพนี้คือ:
| สถาปัตยกรรม | มีอยู่ | ติดแท็ก |
|---|---|---|
| x86-64 | AMD64- <แท็กเวอร์ชัน> | |
| ARM64 | arm64v8- <แท็กเวอร์ชัน> | |
| armhf |
ภาพนี้มีเวอร์ชันต่าง ๆ ที่มีผ่านแท็ก โปรดอ่านคำอธิบายอย่างระมัดระวังและใช้ความระมัดระวังเมื่อใช้แท็กที่ไม่เสถียรหรือพัฒนา
| ติดแท็ก | มีอยู่ | คำอธิบาย |
|---|---|---|
| ล่าสุด | ตัวควบคุม UNIFI ที่เสถียรปล่อยออกมา | |
| ชาวมองโกล | ตัวควบคุม UNIFI ที่มีเสถียรภาพโดยไม่รวม MongoDB |
ดู: https://info.linuxserver.io/issues/2023-09-06-UNIFI-Controller สำหรับข้อมูลเพิ่มเติม
WebUI อยู่ที่ https: // ip: 8443 ตั้งค่าด้วยตัวช่วยสร้างการเรียกใช้ครั้งแรก
สำหรับ unifi ที่จะนำอุปกรณ์อื่น ๆ มาใช้เช่นจุดเชื่อมต่อจำเป็นต้องเปลี่ยนที่อยู่ IP แจ้ง เนื่องจาก Unifi ทำงานภายใน Docker โดยค่าเริ่มต้นจึงใช้ที่อยู่ IP ที่ไม่สามารถเข้าถึงได้โดยอุปกรณ์อื่น หากต้องการเปลี่ยนสิ่งนี้ไปที่การตั้งค่า> ระบบ> ขั้นสูงและตั้งค่าโฮสต์ข้อมูลเป็นชื่อโฮสต์หรือที่อยู่ IP ที่สามารถเข้าถึงได้โดยอุปกรณ์ของคุณ นอกจากนี้ช่องทำเครื่องหมาย "แทนที่" จะต้องมีการตรวจสอบเพื่อให้อุปกรณ์สามารถเชื่อมต่อกับคอนโทรลเลอร์ในระหว่างการรับเลี้ยงบุตรบุญธรรม (อุปกรณ์ใช้จุดสิ้นสุดในระหว่างการรับเลี้ยงบุตรบุญธรรม)
โปรดทราบว่า unifi เปลี่ยนตำแหน่งของตัวเลือกนี้ทุก ๆ สองสามรุ่นดังนั้นหากไม่ใช่ที่ที่กล่าวว่าค้นหา "แจ้ง" หรือ "แจ้งโฮสต์" ในการตั้งค่า
เพื่อนำอุปกรณ์มาใช้ด้วยตนเองทำตามขั้นตอนเหล่านี้:
ssh ubnt@$AP-IP set-inform http://$address:8080/inform
รหัสผ่านอุปกรณ์เริ่มต้นคือ ubnt $address คือที่อยู่ IP ของโฮสต์ที่คุณใช้งานคอนเทนเนอร์นี้และ $AP-IP เป็นที่อยู่ IP ของจุดเชื่อมต่อ
เมื่อใช้เกตเวย์รักษาความปลอดภัย (เราเตอร์) อาจเป็นไปได้ว่าอุปกรณ์ที่เชื่อมต่อเครือข่ายไม่สามารถรับที่อยู่ IP ได้ สิ่งนี้สามารถแก้ไขได้โดยการตั้งค่า "DHCP Gateway IP" ภายใต้การตั้งค่า> เครือข่าย> network_name ไปยังที่อยู่ IP ที่ถูกต้อง (และเข้าถึงได้)
ภาพนี้ใช้ใบรับรองที่ลงนามด้วยตนเองโดยค่าเริ่มต้น นี่หมายถึงแผนการโดยธรรมชาติคือ https หากคุณใช้พร็อกซีย้อนกลับที่ตรวจสอบใบรับรองคุณต้องปิดการใช้งานการตรวจสอบสำหรับคอนเทนเนอร์
เพื่อช่วยให้คุณเริ่มต้นสร้างคอนเทนเนอร์จากภาพนี้คุณสามารถใช้นักเทียบท่าหรือ Docker CLI
--- เวอร์ชัน: "2.1" บริการ: unifi-controller: ภาพ: lscr.io/linuxserver/unifi-controller:latestcontainer_name: Unifi-Controllerenvironment:
- puid = 1000 - pgid = 1000 - tz = etc/utc - mem_limit = 1024 #optional - mem_startup = 1024 #optionalvolumes:
-/path/to/data:/configports:
- 8443: 8443 - 3478: 3478/UDP - 10001: 10001/UDP - 8080: 8080 - 1900: 1900/UDP #OPTIONAL - 8843: 8843 #OPTIONAL - 8880: 8880 #OPTIONAL - 6789: 6789: 6789 /UDP #OptionAlrestart: เว้นแต่จะหยุดDocker Run -d -name = unifi-controller -e puid = 1,000 -e pgid = 1,000 -e tz = etc/utc -e mem_limit = 1024 `#ไม่เลือก ' -e mem_startup = 1024 `#ตัวเลือก ' -p 8443: 8443 -P 3478: 3478/UDP -P 10001: 10001/UDP -p 8080: 8080 -p 1900: 1900/udp `#ไม่เลือก ' -p 8843: 8843 `#ตัวเลือก ' -p 8880: 8880 `#ไม่เลือก ' -p 6789: 6789 `#ไม่เลือก ' -P 5514: 5514/UDP `#ไม่เลือก ' -v/path/to/data:/config -เรสตาร์ตเว้นเว้นแต่จะหยุด lscr.io/linuxserver/unifi-controller:latest
คอนเทนเนอร์ได้รับการกำหนดค่าโดยใช้พารามิเตอร์ที่ส่งผ่านเวลารันไทม์ (เช่นที่อยู่ด้านบน) พารามิเตอร์เหล่านี้จะถูกคั่นด้วยลำไส้ใหญ่และระบุ <external>:<internal> ตามลำดับ ตัวอย่างเช่น -p 8080:80 จะแสดงพอร์ต 80 จากภายในคอนเทนเนอร์เพื่อให้สามารถเข้าถึงได้จาก IP ของโฮสต์บนพอร์ต 8080 นอกคอนเทนเนอร์
| พารามิเตอร์ | การทำงาน |
|---|---|
-p 8443 | พอร์ตผู้ดูแลระบบเว็บ Unifi |
-p 3478/udp | พอร์ต unifi stun |
-p 10001/udp | จำเป็นสำหรับการค้นพบ AP |
-p 8080 | จำเป็นสำหรับการสื่อสารอุปกรณ์ |
-p 1900/udp | จำเป็นสำหรับ Make controller discoverable on L2 network |
-p 8843 | พอร์ตการเปลี่ยนเส้นทางแขกของ UNIFI HTTPS |
-p 8880 | พอร์ตการเปลี่ยนเส้นทาง HTTP Guest HTTP ของ UNIFI |
-p 6789 | สำหรับการทดสอบปริมาณงานมือถือ |
-p 5514/udp | พอร์ต syslog ระยะไกล |
-e PUID=1000 | สำหรับ userID - ดูคำอธิบายด้านล่าง |
-e PGID=1000 | สำหรับ GroupID - ดูคำอธิบายด้านล่าง |
-e TZ=Etc/UTC | ระบุเขตเวลาที่จะใช้ดูรายการนี้ |
-e MEM_LIMIT=1024 | เลือกเปลี่ยนขีด จำกัด หน่วยความจำ Java (ใน megabytes) ตั้งค่าเป็น default เป็นรีเซ็ตเป็นค่าเริ่มต้น |
-e MEM_STARTUP=1024 | เลือกเปลี่ยนหน่วยความจำเริ่มต้น/ขั้นต่ำ Java (ใน megabytes) ตั้งค่าเป็น default เป็นรีเซ็ตเป็นค่าเริ่มต้น |
-v /config | ข้อมูล unifi ทั้งหมดที่เก็บไว้ที่นี่ |
คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อมใด ๆ จากไฟล์โดยใช้ FILE__
เป็นตัวอย่าง:
-e file__myvar =/run/secrets/mySecretVariable
จะตั้งค่าตัวแปรสภาพแวดล้อม MYVAR ตามเนื้อหาของไฟล์ /run/secrets/mysecretvariable
สำหรับรูปภาพทั้งหมดของเราเราให้ความสามารถในการแทนที่การตั้งค่า UMASK เริ่มต้นสำหรับบริการที่เริ่มต้นภายในคอนเทนเนอร์โดยใช้การตั้งค่า -e UMASK=022 ตัวเลือก โปรดจำไว้ว่า Umask ไม่ใช่ chmod มันลบออกจากการอนุญาตตามมูลค่าของมันไม่ได้เพิ่ม โปรดอ่านที่นี่ก่อนขอการสนับสนุน
เมื่อใช้ปริมาณ ( -v Flags) ปัญหาการอนุญาตอาจเกิดขึ้นระหว่างระบบปฏิบัติการโฮสต์และคอนเทนเนอร์เราหลีกเลี่ยงปัญหานี้โดยอนุญาตให้คุณระบุผู้ใช้ PUID และ PGID กลุ่ม
ตรวจสอบให้แน่ใจว่าไดเรกทอรีปริมาณในโฮสต์เป็นเจ้าของโดยผู้ใช้รายเดียวกันที่คุณระบุและปัญหาการอนุญาตใด ๆ จะหายไปเหมือนเวทมนตร์
ในอินสแตนซ์นี้ PUID=1000 และ PGID=1000 เพื่อค้นหาคุณใช้ id your_user ด้านล่าง:
id your_user
ตัวอย่างเอาต์พุต:
uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)เราเผยแพร่ Mods Docker ต่างๆเพื่อเปิดใช้งานฟังก์ชันเพิ่มเติมภายในคอนเทนเนอร์ รายการ mods ที่มีอยู่สำหรับภาพนี้ (ถ้ามี) รวมถึง mod สากลที่สามารถนำไปใช้กับภาพใดภาพใดภาพหนึ่งของเราสามารถเข้าถึงได้ผ่านป้ายไดนามิกด้านบน
การเข้าถึงเชลล์ในขณะที่คอนเทนเนอร์กำลังทำงานอยู่:
Docker Exec -it unifi -controller /bin /bash
เพื่อตรวจสอบบันทึกของคอนเทนเนอร์แบบเรียลไทม์:
Docker Logs -f Unifi -Controller
หมายเลขเวอร์ชันคอนเทนเนอร์:
Docker Inspect -f '{{index .config.labels "build_version"}}' Unifi -controllerหมายเลขเวอร์ชันภาพ:
Docker Inspect -f '{{index .config.labels "build_version"}}' lscr.io/linuxserver/unifi-controller:latestภาพส่วนใหญ่ของเราเป็นแบบคงที่เวอร์ชันและต้องมีการอัปเดตรูปภาพและการพักผ่อนหย่อนใจคอนเทนเนอร์เพื่ออัปเดตแอปภายใน ด้วยข้อยกเว้นบางอย่าง (เช่น NextCloud, Plex) เราไม่แนะนำหรือสนับสนุนการอัปเดตแอพภายในคอนเทนเนอร์ โปรดปรึกษาส่วนการตั้งค่าแอปพลิเคชันด้านบนเพื่อดูว่ามีการแนะนำสำหรับภาพหรือไม่
ด้านล่างนี้เป็นคำแนะนำสำหรับการอัปเดตคอนเทนเนอร์:
อัปเดตรูปภาพ:
ภาพทั้งหมด:
ดึงนักเทียบท่า
ภาพเดียว:
Docker-compose pull unifi-controller
อัปเดตคอนเทนเนอร์:
ภาชนะทั้งหมด:
Docker -compose up -d
ภาชนะเดียว:
Docker-compose up -d unifi-controller
นอกจากนี้คุณยังสามารถลบภาพที่ห้อยต่องฉบับเก่าได้:
Docker Image Prune
อัปเดตภาพ:
Docker Pull lscr.io/linuxserver/unifi-controller:latest
หยุดคอนเทนเนอร์ที่ทำงาน:
Docker หยุด unifi-controller
ลบคอนเทนเนอร์:
Docker RM Unifi-Controller
สร้างคอนเทนเนอร์ใหม่ด้วยพารามิเตอร์การเรียกใช้ Docker เดียวกันตามที่ได้รับคำสั่งด้านบน (หากแมปอย่างถูกต้องกับโฟลเดอร์โฮสต์โฟลเดอร์ /config ของคุณและการตั้งค่าจะถูกเก็บรักษาไว้)
นอกจากนี้คุณยังสามารถลบภาพที่ห้อยต่องฉบับเก่าได้:
Docker Image Prune
ดึงภาพล่าสุดที่แท็กและแทนที่ด้วยตัวแปร ENV เดียวกันในการวิ่งครั้งเดียว:
Docker Run - -RM -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -unifi-controller
นอกจากนี้คุณยังสามารถลบภาพที่ห้อยต่องโสด: docker image prune
คำเตือน : เราไม่รับรองการใช้หอสังเกตการณ์เป็นวิธีแก้ปัญหาการอัปเดตอัตโนมัติของคอนเทนเนอร์นักเทียบท่าที่มีอยู่ ในความเป็นจริงเรามักจะกีดกันการอัปเดตอัตโนมัติ อย่างไรก็ตามนี่เป็นเครื่องมือที่มีประโยชน์สำหรับการอัปเดตด้วยตนเองครั้งเดียวของคอนเทนเนอร์ที่คุณลืมพารามิเตอร์ดั้งเดิม ในระยะยาวเราขอแนะนำให้ใช้ Docker Compose
เคล็ดลับ : เราขอแนะนำ Diun สำหรับการแจ้งเตือนการอัปเดต เครื่องมืออื่น ๆ ที่อัปเดตคอนเทนเนอร์โดยอัตโนมัติไม่แนะนำหรือรองรับ
หากคุณต้องการทำการปรับเปลี่ยนรูปภาพเหล่านี้เพื่อวัตถุประสงค์ในการพัฒนาหรือเพียงแค่ปรับแต่งตรรกะ:
git clone https://github.com/linuxserver/docker-unifi-controller.gitcd Docker-unifi-controller Docker Build -ไม่มีแคช --ดึง -t lscr.io/linuxserver/unifi-controller:latest
ตัวแปรแขนสามารถสร้างได้บนฮาร์ดแวร์ x86_64 โดยใช้ multiarch/qemu-user-static
Docker Run--RM-PRIVILEGED MULTIARCH/QEMU-USER-STATIC: register-Reset
เมื่อลงทะเบียนแล้วคุณสามารถกำหนด DockerFile เพื่อใช้กับ -f Dockerfile.aarch64
01.01.24: - ไร้เดียงสา
05.09.23: -เพิ่มคำเตือนการเสื่อมราคาตาม https://info.linuxserver.io/issues/2023-09-06-unifi-controller
04.09.23: - Bump Jre ถึง 17 เพื่อสนับสนุน v7.5
02.05.23: - ทำความสะอาด apt-get install ระหว่างการสร้างเพื่อลดขนาดภาพ
18.03.23: - เพิ่มสาขา Mongoless
10.03.23: - ทดสอบการเขียนถึง /เรียกใช้ /unifi และ symlink ถึง /config /run ถ้ามันล้มเหลว
20.02.23: - โยกย้ายไปยัง S6V3, ติดตั้งแพ็คเกจ DEB บนบิลด์, แก้ไขสิทธิ์
23.01.23: - ไม่รวม run จาก /config ค่าระดับเสียง
30.11.22: - Bump Jre ถึง 11
01.06.22: - ไร้ค่า armhf
23.12.21: - ย้ายหน่วยความจำ MIN/MAX MEMORY CONFIG จาก Run to System.properties
22.12.21: - ย้ายแพ็คเกจ DEB ติดตั้งไปยัง init แรกเพื่อหลีกเลี่ยงปัญหาประสิทธิภาพ OverlayFS
13.12.21: - รีเบส 64 บิตคอนเทนเนอร์ไปยังจุดโฟกัส
11.12.21: -เพิ่ม Java Opts เพื่อลด CVE-201-44228
11.06.21: - อนุญาตให้เปลี่ยน Java เริ่มต้น MEM ผ่านตัวแปรสภาพแวดล้อมทางเลือกใหม่
12.01.21: - เลิกใช้แท็ก LTS เป็น unifi ไม่ปล่อย LTS ที่มีเสถียรภาพอีกต่อไป ผู้ใช้ที่มีอยู่สามารถเปลี่ยนเป็นแท็ก latest การอัพเกรดโดยตรงจาก 5.6.42 (LTS) เป็น 6.0.42 (ล่าสุด) ทดสอบสำเร็จ
17.07.20: - รีเบส 64 บิตคอนเทนเนอร์ไปยัง Bionic และ Mongo 3.6
16.06.20: - เพิ่ม Logrotate
02.06.20: - รายการพอร์ตและคำอธิบายที่อัปเดต ย้ายพอร์ตบางส่วนไปยังตัวเลือก
14.11.19: - เปลี่ยน URL สำหรับแพ็คเกจ DEB เพื่อจับคู่โดเมน Ubiquity ใหม่
29.07.19: - อนุญาตให้เปลี่ยนขีด จำกัด Java MEM ผ่านตัวแปรสภาพแวดล้อมเสริมใหม่
23.03.19: - เปลี่ยนไปใช้ภาพฐานใหม่เปลี่ยนเป็นแท็ก ARM32V7
10.02.19: - การเปิดตัวครั้งแรกของภาพ unifi -controller ใหม่พร้อมแท็กใหม่และตรรกะไปป์ไลน์