เอกสารของทีมมักตายด้วยหนึ่งในสองวิธี: กระจัดกระจายอยู่ในเธรดแชตที่ไม่มีใครค้นหาได้ หรือจมอยู่ในวิกิที่ใช้ยากจนไม่มีใครอัปเดต BookStack คือวิกิโฮสต์เองที่หายากเพราะคนใช้กันจริง เนื้อหาจัดอยู่บนชั้นหนังสือ ในหนังสือ บท และหน้า — โครงสร้างที่ทุกคนเข้าใจโดยไม่ต้องอบรม และแทบไม่ต้องใช้เซิร์ฟเวอร์เลย
ทำไมต้อง BookStack
- โครงสร้างชัดเจน หนังสือและบทแทนกองหน้าแบนๆ
- การแก้ไขที่ไม่ทำให้ใครกลัว ตัวแก้ไข WYSIWYG เป็นค่าเริ่มต้น และ Markdown สำหรับคนที่ชอบ
- สิทธิ์ที่ใช้ได้จริง บทบาทต่อชั้น หนังสือ หรือหน้า — เอกสาร HR อยู่ห่างจากผู้รับเหมาภายนอก
- ล็อกอินของบริษัท LDAP, SAML2 และ OpenID Connect มีมาในตัว
- ข้อมูลของคุณ ทุกอย่างอยู่ในฐานข้อมูล MariaDB และโฟลเดอร์หนึ่งบนเซิร์ฟเวอร์ของคุณ
มันไม่ใช่เครื่องมือสำหรับทุกงาน เอกสารสำหรับนักพัฒนาที่ต้องเปลี่ยนไปพร้อมโค้ดควรอยู่ในรีโพ ไม่ใช่ในวิกิ
ต้องใช้อะไร
BookStack เบา สำหรับทีมส่วนใหญ่ Micro-IP — 1 vCPU, 2 GB, $10 ต่อเดือน — เกินพอ IP เฉพาะคือสิ่งที่ทำให้เพื่อนร่วมงานเข้าผ่าน HTTPS บนโดเมนของคุณได้ ดิสก์โตตามภาพหน้าจอและ PDF ที่อัปโหลด ไม่ใช่ตามจำนวนหน้า
ติดตั้งด้วย Docker Compose
เราจะใช้ image ยอดนิยมของ LinuxServer.io ก่อนอื่นสร้างคีย์ของแอป:
docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
คัดลอกค่า base64:... ที่พิมพ์ออกมา แล้วสร้าง docker-compose.yml:
services:
bookstack:
image: lscr.io/linuxserver/bookstack:latest
environment:
- PUID=1000
- PGID=1000
- APP_URL=https://wiki.example.com
- APP_KEY=base64:paste-your-key-here
- DB_HOST=db
- DB_PORT=3306
- DB_DATABASE=bookstack
- DB_USERNAME=bookstack
- DB_PASSWORD=change-me
volumes:
- ./bookstack:/config
ports:
- 127.0.0.1:6875:80
depends_on:
- db
restart: unless-stopped
db:
image: lscr.io/linuxserver/mariadb:latest
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=change-me-too
- MYSQL_DATABASE=bookstack
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=change-me
volumes:
- ./db:/config
restart: unless-stopped
docker compose up -d
docker compose logs -f bookstack
APP_URL ต้องตรงกับที่อยู่ที่คนจะใช้ รวมถึง https:// ถ้าผิด รูปภาพและลิงก์จะพังแบบแปลกๆ อ่านเพิ่มเรื่อง Compose ในคู่มือ deploy stack ของเรา
HTTPS และการล็อกอินครั้งแรก
ชี้ซับโดเมนมาที่เซิร์ฟเวอร์ (วิธี) วาง nginx ไว้หน้า 127.0.0.1:6875 แล้วเพิ่มใบรับรองด้วย certbot — คู่มือ reverse proxy พาทำทีละขั้น
จากนั้นล็อกอินด้วยบัญชีเริ่มต้น: admin@admin.com / password เปลี่ยนอีเมลและรหัสผ่านทันทีก่อนแชร์ลิงก์ คนอื่นจะได้บัญชีของตัวเองหรือล็อกอินผ่านผู้ให้บริการยืนยันตัวตนของคุณ
การสำรองข้อมูล
มีสองอย่างที่ต้องปกป้อง: ฐานข้อมูลและไฟล์อัปโหลดใน ./bookstack งานตอนกลางคืนแบบนี้ดูแลฐานข้อมูล:
docker compose exec -T db mysqldump -u bookstack -pchange-me bookstack > /var/backups/bookstack.sql
แล้วสำรอง /var/backups และโฟลเดอร์ compose ไปไว้นอกเซิร์ฟเวอร์ — ตรงกับที่คู่มือ restic ของเราทำ Managed Backups เพิ่มจุดกู้คืนรายวันของทั้งเซิร์ฟเวอร์ซ้อนอีกชั้น
การดูแล
อัปเดตด้วย docker compose pull && docker compose up -d BookStack รัน migration ของฐานข้อมูลตอนสตาร์ต อ่านบันทึกการออกรุ่นก่อนรุ่นใหญ่ สั้นและชัดเจน
ถ้าทีมของคุณอยากได้ที่สำหรับตั๋วงานและโค้ดด้วย เซิร์ฟเวอร์ Git ที่โฮสต์เองวางข้างกันได้ดี บนแพ็กเกจแบบเดียวกัน
ความคิดเห็น
ยังไม่มีความคิดเห็น เป็นคนแรกสิ