สร้าง Cloud ส่วนตัวง่ายๆ ด้วย ownCloud Server บน Docker

หลายๆ คนคงจะเคยใช้งาน Docker กันบ้างแล้ว วันนี้เลยเอา container ที่คิดว่าน่าจะมีประโยชน์กับหลายๆ คนมาแบ่งปันกันครับ นั่นก็คือ ownCloud Server ซึ่งเป็นซอฟต์แวร์ open-source ที่ใช้ในการจัดการไฟล์ต่างๆ มีฟีเจอร์ซิงค์ แชร์ และทำงานร่วมกันได้ และยังมีแอพบน iOS, Android และ Desktop ทำให้ใช้งานได้สะดวกมาก

จริงๆ แล้ว ownCloud มีให้บริการแบบเสียเงิน ทั้งแบบ Self-Hosted หรือเป็น SaaS บน Cloud ของ ownCloud เองด้วย ซึ่งก็จะได้ฟีเจอร์ต่างๆ ที่เยอะขึ้น แต่สำหรับผมที่ต้องการแค่การเก็บไฟล์นั้น ใช้แบบ Community ก็พอ ซึ่งมันฟรี

ภาพจาก ownCloud

สำหรับการติดตั้ง ownCloud Server แบบฟรีนั้น มีทั้งแบบเป็น Source packages ให้เราดาวน์โหลดไปใช้ได้เลย หรือติดตั้งบน Docker และ Linux ต่างๆ ได้ด้วย ซึ่งวันนี้จะมาลงโดยใช้ official ownCloud Docker image ครับ

Docker Compose

เริ่มต้นด้วยการสร้าง project directory ก่อน

mkdir owncloud-docker-server
cd owncloud-docker-server

จากนั้นก็ดาวน์โหลด docker-compose.yml จาก GitHub repository มา

wget https://raw.githubusercontent.com/owncloud/docs-server/master/modules/admin_manual/examples/installation/docker/docker-compose.yml

สร้างไฟล์ที่เก็บการตั้งค่าต่างๆ ไว้ ชื่อว่า .env โดยเราสามารถตั้งค่าต่างๆ ได้จากไฟล์นี้เลยครับ

cat << EOF > .env
OWNCLOUD_VERSION=10.10
OWNCLOUD_DOMAIN=localhost:8080
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
HTTP_PORT=8080
EOF

จากนั้นก็สั่ง build & run docker compose ได้เลย ด้วยคำสั่ง

docker compose up -d

จากนั้นก็รอจน run เสร็จ สามารถเช็คสถานะของ Container ได้ด้วยคำสั่ง

docker ps -a

เมื่อติดตั้งเสร็จแล้ว ก็สามารถเข้าไปยัง UI ได้ที่

http://localhost:8080

หรือหากใครติดตั้งไว้บน server หรือ cloud ก็แทนที่ด้วยไอพีของเครื่อง และพอร์ตที่ตั้งไว้ได้เลย

หลังจากการติดตั้ง user/pass จะเป็น admin/admin ให้ทำการเข้าไปสร้าง user ใหม่ได้ใน setting แล้วลบของเดิมออกได้เลยครับ

หน้าแรกของ ownCloud

ลองอัพโหลดไฟล์ขึ้นไปดู พบว่ามันมีระบบ Activities, Comments, Sharing, Tags และ Version มาให้พร้อม เหมือนกับบริการคลาวด์เจ้าอื่นๆ เลย และหน้าตา UI ก็ดูใช้งานง่าย สะอาดตา

อีกอย่างนึงที่ผมชอบ ownCloud ก็คือมันมีแอพให้ใช้ทั้งบน iOS, Android และ Windows เลย ซึ่งสำหรับ iOS นั้น มัน Integrate กับแอพ Files ด้วย ทำให้เวลาจะโยนไฟล์ต่างๆ ไปมา ทำได้สะดวกขึ้น

สรุป

สำหรับใครที่มีเครื่องออนไลน์อยู่แล้ว พร้อมกับ Docker และ Storage ที่เหลือๆ การใช้ ownCloud ตัวนี้ก็เหมือนมีคลาวด์ส่วนตัวมาให้ใช้ได้ฟรีพร้อมกับฟีเจอร์ต่างๆ ที่มีไม่ต่างไปกับเจ้าอื่นที่เสียเงินเลย