สำหรับบทความแรกของเรา ก็จะขอแนะนำ software ที่ใช้สร้างเว็บไซต์นี้ขึ้นมา แน่นอนครับว่าผมไม่ได้เขียนเว็บนี้ขึ้นมาเอง (ขี้เกียจเขียน😅) แต่ผมได้ใช้งาน software ที่มีชื่อว่า ghost นั่นเอง
ghost ก็คือ เครื่องมือสำหรับ creator เพื่อที่จะสร้างสรรค์ , เผยแพร่ หรือ แบ่งปัน content ต่างๆ โดยที่ ghost จะช่วยสร้างหน้าเว็บไซต์ , ส่งบทความในเมล และมี ระบบสมาชิก ที่ช่วยสร้างรายได้ให้กับคุณได้ และที่สำคัญ ghost เป็น open source

โดยการใช้งาน ghost นั้นสามารถใช้งานได้อย่างง่ายดายแบบสุดๆ UI ที่ดูสบายตา ใช้งานง่าย แทบไม่จำเป็นต้องเรียนรู้อะไรเลย คนที่ไม่มีความรู้ด้านการทำเว็บไซต์ก็สามารถใช้งานได้ และยังมีระบบ theme ที่มีให้เลือกมากมายทั้งแบบ ฟรี และ เสียเงิน หรือใครที่มีความรู้ในการเขียนเว็บก็สามารถเขียน theme มาครอบระบบ ghost ได้ด้วย



โดยการเขียน post ต่างๆบน ghost จะใช้ markdown ในการเขียนซึ่งมีเครื่องมือที่ช่วยในการเขียนอีกทำให้ง่ายต่อการเขียนมากๆ และ เนื้อหาของเราก็จะถูกจัดให้อย่างเป็นระเบียบและสวยงาม
นอกเหนือจากนี้แล้ว ghost ยังรอบรับการ Integration กับระบบอื่นๆอีกมากมาย ทั้งช่วยให้ เนื้อหาของคุณน่าสนใจขึ้น หรือ ทำให้คุณทำงานได้ง่านมากขึ้น โดยมีให้ใช้งานเป็นจำนวนมากหรือเราก็สามารถ custom เองได้ด้วยเช่นกัน
ข้อดี / ข้อเสีย / เหมาะกับใคร
ข้อดี - UI สวย ใช้งานง่าย , มีระบบ theme , ใช้ markdown
ข้อเสีย - การ Analyze ข้อมูลผู้ใช้งานยังไม่ดี ต้องไปใช้ google analytics
เหมาะกับ - คนที่อยากมีเว็บไซต์ , อยากเขียน blog แบบง่ายๆ และออกมาดูดี ใช้ได้ทั้งผู้ที่เพิ่งเริ่มต้น และ professional
การติดตั้ง
สำหรับการติดตั้ง ghost นั้นใน official นั้นจะแนะนำให้ติดตั้งบน Ubuntu แต่ก็ยังรองรับการติดตั้งด้วย Docker และ Local install บน PC หรือหากใครไม่มีเครื่องของตัวเองก็สามารถจ่ายเงินเพื่อติดตั้งบน cloud ได้โดยมี Ghost(pro) , Digital Ocean , Linode โดยสามารถเข้าไปดูรายละเอียดเพิ่มเติมได้ที่ Official Doc ได้เลย
หากใครที่ต้องการติดตั้งด้วย docker ผมให้ไฟล์ docker-compose ที่ผมใช้ไปติดตั้งกันได้เลย (อย่าลืมกำหนด .env)
version: '3'
services:
ghost:
image: ghost:latest
restart: always
ports:
- "5000:2368"
environment:
# see https://ghost.org/docs/config/#configuration-options
database__client: mysql
database__connection__host: db
database__connection__database: ghost
database__connection__user: root
database__connection__password: "${MYSQL_ROOT_PASSWORD}"
url: "${GHOST_URL}"
mail__transport: "${MAIL_TRANSPORT}"
mail__options__host: "${MAIL_HOST}"
mail__options__port: "${MAIL_PORT}"
mail__options__secureConnection: "${MAIL_SECURE_CONNECTION}"
mail__options__auth__user: "${MAIL_USER}"
mail__options__auth__pass: "${MAIL_PASSWORD}"
volumes:
- ghost-data:/var/lib/ghost/content
links:
- db
db:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
volumes:
- ghost-db:/var/lib/mysql
volumes:
ghost-data:
ghost-db:
MYSQL_ROOT_PASSWORD=xxx
#mail
MAIL_SERVICE=Iredmail
MAIL_TRANSPORT=SMTP
MAIL_USER=xxx@selfhost.life
MAIL_PASSWORD=xxx
MAIL_HOST=mail.selfhost.life
MAIL_PORT=587
MAIL_SECURE_CONNECTION=false #true
ขอขอบคุณทุกคนที่อ่านจนจบ หากมีข้อผิดพลาดหรือเนื้อหายังไม่สมบูรณ์ยังไงก็ขออภัยไว้ ณ ที่นี้ด้วย หรือหากใครที่มีคำแนะนำผมก็ยินดีที่จะปรับปรุง สุดท้ายก็หวังว่าทุกคนจะสนุกและ enjoy ไปกับโลกของการ selfhost นะครับ😄