Bắt đầu self-hosted bằng cách cài đặt một máy chủ tại nhà

self-hosted là về việc tự quản lý và lưu trữ dữ liệu của bạn thay vì chia sẻ chúng với các công ty lớn. Bắt đầu tự triển khai và quản lý các dịch vụ self-hosted có thể đơn giản hoặc phức tạp tùy thuộc vào kinh nghiệm và mục tiêu của bạn. Dưới đây là một hướng dẫn cơ bản để bạn có thể bắt đầu

Bắt đầu self-hosted bằng cách cài đặt một máy chủ tại nhà

Ở bài trước, tôi đã có nói về trào lưu self-hosted, tức là tự đặt một máy chủ tại nhà để cung cấp cho chính mình các dịch vụ đơn giản trên internet, vậy thì bạn cần phải hiểu thêm một chút về self-hosted, và bạn cần gì để tham gia vào quá trình phi-tập-trung hóa internet này.

Selfhosted là gì?

Tưởng tượng bạn đang sử dụng các dịch vụ trực tuyến hàng ngày như email, lưu trữ ảnh, hoặc blog. Khi bạn sử dụng các dịch vụ này từ các công ty lớn như Google hoặc Dropbox, họ sẽ quản lý và lưu trữ dữ liệu của bạn trên máy chủ của họ.

Ngược lại, khi bạn tự self-hosted, thay vì chia sẻ dữ liệu với các công ty lớn, bạn sẽ tự mình quản lý dữ liệu của mình trên máy chủ cá nhân hoặc do bạn quản lý. Điều này mang lại một số lợi ích:

  1. Kiểm soát: Bạn có toàn quyền kiểm soát dữ liệu và thông tin cá nhân của mình.
  2. Tự do tùy chỉnh: Bạn có thể tùy chỉnh cài đặt và giao diện theo ý muốn cá nhân của mình.
  3. Bảo mật cá nhân: Dữ liệu không được chia sẻ với bất kỳ ai ngoại trừ bạn.
  4. Không phụ thuộc vào bên thứ ba: Bạn không phải lo lắng về việc các công ty theo dõi thông tin của bạn vì bạn giữ quyền kiểm soát.

Ví dụ, nếu nếu bạn tự host một trang web blog, bạn sẽ tự quản lý nội dung và dữ liệu của mình thay vì đặt chúng lên một nền tảng blog công cộng. Hoặc nếu bạn tự tạo một trang lưu trữ ảnh của bạn và gia đình, bạn sẽ kiểm soát việc chia sẻ chúng cho ai, đến đâu, và khi cần có thể khóa bất cứ lúc nào. Hoặc giả sử bạn có nhiều đĩa nhạc hay, bạn cũng có thể chia sẻ chúng cho một số người cùng sở thích mà không sợ các vấn đề về bản quyền hay lưu trữ .v.v

Tóm lại, self-hosted là về việc tự quản lý và lưu trữ dữ liệu của bạn thay vì chia sẻ chúng với các công ty lớn, mang lại sự kiểm soát và tự do tùy chỉnh đối với người sử dụng.

Làm thế nào để bắt đầu?

Bắt đầu tự triển khai và quản lý các dịch vụ self-hosted có thể đơn giản hoặc phức tạp tùy thuộc vào kinh nghiệm và mục tiêu của bạn. Dưới đây là một hướng dẫn cơ bản để bạn có thể bắt đầu:

Chọn các ứng dụng Self-Hosted:

  • Chọn ứng dụng hoặc dịch vụ mà bạn muốn tự host. Ví dụ: blog, email, lưu trữ file, trình quản lý mật khẩu, v.v.
  • Một số ứng dụng phổ biến bao gồm Nextcloud (lưu trữ và chia sẻ file), WordPress hoặc Ghost (blog), Chevereto hoặc Photophrism (ảnh), v.v.
  • Hãy bắt đầu từ những thứ đơn giản và đi dần đến các thứ phức tạp hơn, ví dụ như blog hay ảnh, nhạc chẳng hạn

Lựa Chọn Máy Chủ:

  • Bạn có thể sử dụng máy chủ cá nhân hoặc thuê một máy chủ ảo (VPS) từ các nhà cung cấp dịch vụ. Cả 2 cách này đều có lợi hại như sau:
  • Dịch vụ thuê máy chủ ảo sẽ tốn chi phí hàng năm của bạn, nhưng bù lại bạn không phải lo tiền điện, lo bảo trì hay lưu trữ máy chủ ảo đó. Các công ty dịch vụ như CloudCone hay DigitalOcean sẵn sàng cung cấp cho bạn những máy chủ ảo trung bình từ 2GB RAM trở lên với giá từ 25-30USD / năm. Tuy nhiên nếu như bạn muốn nâng cấp lên nhiều dịch vụ self-hosting khác, bạn sẽ phải nâng cấp máy chủ ảo thêm, và lúc đó chi phí hàng năm sẽ là một vấn đề khá đau đầu và đau ví với bạn
  • Ngược lại, bạn sử dụng máy chủ cá nhân thì với một số tiền đầu tư ban đầu từ 3-4 triệu VND bạn sẽ có một máy chủ với cấu hình từ 16GB RAM trở lên, rồi bạn cắm máy chủ ngay tại nhà, tốn một ít tiền điện nữa và hoàn toàn vận hành nó một cách chủ động. Giờ đây, với việc phát triển của máy tính mini và máy tính nhúng, các máy tính nhỏ gọn, cấu hình cao tiêu thụ điện ít như Orange Pi 5 hay AMN T8 N100 là những lựa chọn tốt nhất cho bạn.
AMN T8 N100

Hệ Điều Hành và các công cụ quản lý:

  • Cài đặt hệ điều hành trên máy chủ của bạn. Ubuntu Server là một lựa chọn phổ biến dành cho người mới, ngoài ra bạn cũng có thể dùng Debian Server, Centos Server. Nên hạn chế dùng Windows bởi vì khả năng quản trị của các phiên bản Windows thông thường rất kém, nếu như bạn không dùng bản Windows Server. Ngoài ra, biết thêm một hệ điều hành nữa, đâu có gì không tốt, không bạn
  • Ngoài ra, có rất nhiều công cụ quản lý các ứng dụng self-hosted, trong đó nổi bật nhất là Docker và phần mềm CasaOS. Mang tên là CasaOS nhưng bạn sẽ cài nó trên Ubuntu, và sau đó triển khai các ứng dụng thông qua việc cài dặt qua docker. Docker sẽ giúp bạn bỏ qua rất nhiều thao tác cài đặt phức tạp mà bạn có thể tưởng tượng ra, và có thể cài một ứng dụng như Ghost hay Photoprism chỉ trong 1 cái nháy mắt. Bạn xem thêm về CasaOS tại đây Cài đặt CasaOS trên NVME của Orange Pi 5

Triển Khai và Cập nhật Ứng Dụng:

  • Thực hiện việc triển khai ứng dụng bạn đã chọn. Mỗi ứng dụng sẽ có hướng dẫn cụ thể về cách cài đặt và cấu hình.
  • Đảm bảo cấu hình bảo mật chặt chẽ bằng cách sử dụng mật khẩu mạnh, cập nhật định kỳ, và xem xét cài đặt an ninh.
  • Thường xuyên cập nhật cả hệ điều hành và các ứng dụng để bảo vệ khỏi lỗ hổng bảo mật.
  • Sao lưu dữ liệu quan trọng đều đặn và kiểm tra tính toàn vẹn của chúng.

Tham Gia Cộng Đồng:

  • Tham gia các cộng đồng trực tuyến, diễn đàn, hoặc nhóm chat để học hỏi từ người khác và nhận sự hỗ trợ khi gặp vấn đề. Có rất nhiều diễn đàn về self-hosted đông người tham gia như Reddit hay Dev.to mà bạn có thể xem qua. Các cộng đồng tiếng Việt thì tôi chưa rõ.

Nhớ rằng, quá trình self-hosted có thể mất thời gian và đòi hỏi kiến thức kỹ thuật cơ bản. Đừng ngần ngại thử nghiệm trước tại nhà trước khi mở nó ra trên môi trường internet cho mọi người cùng dùng. Kỳ sau, tôi sẽ hướng dẫn các bạn mở máy chủ tại nhà của bạn ra ngoài internet thông qua Cloudflare tunnel.