thảo luận Thảo luận về Self-hosted

  • Người tạo chủ đề Người tạo chủ đề duykhanh471
  • Ngày bắt đầu Ngày bắt đầu
Đang sử dụng 1 raspberry pi 4b chạy server homelab : Homebridge, HASS, Website cá nhân, bookmark sefl hosted - chạy 24/7
1 Nas J1900 4Bay (lúc cần thì bật thông qua con pi4b) Synology

Public port và domain đều thông qua cloudflare tunnel khá tiện
Kiến trúc của bác hay quá, bác có thể chia sẻ chi tiết thêm để em học theo được không ạ? Cảm ơn bác trước :)
 
Trước chạy mấy con Teamcity, QBitTorrent, OpenVPN một vài server wordpress linh tinh
Sau con Teamcity dính cái vulnerability cho phép attacker chiếm quyền admin ghê răng vcl. May con đấy mình chạy trong Docker nên nó không evalate quyền lên máy chủ được
Hậu quả là tất cả agent của TC bị biến thành máy đào coin hết (may tập 2 mấy con agent này cũng không thể elevate lên bất ký quyền nào cao hơn nữa) . :sweat:
Nói chung là thím nào có ý định self-host bất cứ một cái gì thì mỗi buổi sáng thức dậy chịu khó đọc tất cả update của tất cả các phần mềm mà các thím host nhé. Nói chung là khổ dâm
 
đang selfhost vài món trên laptop cá nhân:
  • wakapi: Wakatime selfhosted, quản lí thời gian code.
  • vaultwarden (bitwarden), quản lí password
- tachidesk app đọc truyện.
  • calibre-web, quản lí sách và ebook.
  • obsidian-livesync, sync note giữa các thiết bị cho obsidian.
  • radarr/sonarr/bazarr/qbittorrent/plex: các app để tìm tải và xem phim.
vaultwarden (bitwarden) mình cài trên docker xpenology nhưng không đăng nhập được bắt https
 
Trước chạy mấy con Teamcity, QBitTorrent, OpenVPN một vài server wordpress linh tinh
Sau con Teamcity dính cái vulnerability cho phép attacker chiếm quyền admin ghê răng vcl. May con đấy mình chạy trong Docker nên nó không evalate quyền lên máy chủ được
Hậu quả là tất cả agent của TC bị biến thành máy đào coin hết (may tập 2 mấy con agent này cũng không thể elevate lên bất ký quyền nào cao hơn nữa) . :sweat:
Nói chung là thím nào có ý định self-host bất cứ một cái gì thì mỗi buổi sáng thức dậy chịu khó đọc tất cả update của tất cả các phần mềm mà các thím host nhé. Nói chung là khổ dâm
Khúc này mặc định nó như vậy hay cần cấu hình gì thêm ko thím?
Em chạy docker compose up bằng root
PID, PGID thì set cho 1 acc user.
 
Chào mọi người, em đang thử tìm hiểu về self-hosted nhưng có nhiều cái quá @@. Cá nhân em hiểu self-hosted là tự mình "host" ứng dụng, dịch vụ và các thứ cái của mình thay vì sử dụng từ bên thứ 3. Ví dụ như thay vì dùng Dropbox cho cloud storage thì em sẽ sử dụng NextCloud chẳng hạn.

Em khá thắc mắc là không biết trong đây có ai chuyên nghịch ở mảng này không. Theo mọi người thì nên mua một Laptop khác để Host hay chạy Docker. Cá nhân em đang dùng Linux, cũng có nghịch Docker nên biết chút và là một "free-software lover" =)) tức chủ yếu toàn dùng đồ FOSS hoặc cùng lắm là Freeware (Có đúng một phần mềm trong máy em là Freeware là Obsidian, còn lại là FOSS hết).

Sau một thời gian sử dụng alternative frontend (Tức là các dịch vụ phổ biến nhưng với Frontend khác, ví dụ như Youtube thì em dùng Invidious, Reddit thì dùng Redlib hay Stack Exchange thì dùng của Anonymous Overflow), điểm chung của mấy cái này là nó hỗ trợ quyền riêng tư, tối ưu hơn trong tiêu thụ tài nguyên và hạn chế phụ thuộc quá nhiều vào bên thứ 3. Nhưng khi phải sử dụng Instances mà do người dùng khác host (public instances) thì lúc nó chạy được lúc không với tốc độ cũng không tối ưu nên em đang thử tìm giải pháp khác đó là self-hosted.

Vậy nên mọi người đã và đang self-hosted các dịch vụ, theo mọi người thì nên bắt đầu tìm hiểu về self-hosted như thế nào? Em cảm ơn mọi người nhiều ạ
để nghịch chơi thì cứ thoải mái test vọc đi bác, còn tự build self rồi phục vụ mình thì thôi bỏ đi cho khỏe bác nhé, chi phí mua các dịch vụ lưu trữ hay này nọ bên thứ 3 giờ cũng rẻ rồi, self setup rất mất time và phức tạp và điểm yếu chí mạng là tính ổn định và độ an toàn dữ liệu của nó, một ngày đẹp trời gõ nhầm lệnh cái là data say goodbye luôn thì ...
 
Self host độ reliability không cao. Muốn cao thì chi phí bỏ ra còn hơn cả dùng dịch vụ ngoài.
 
chuẩn cụ, sau 1 năm mày mò self đủ thứ trên đời, thì giờ em bỏ hết rồi, thấy nhẹ cả người :D
Nếu bạn chuyên làm lập trình phần mềm thì cứ quất lấy 1 con vps, tầm 1tr 1 năm tha hồ mà vọc. VPS họ config sẵn rồi, bạn chỉ cần chuyên tâm vào làm các công việc để phát triển cho sự nghiệp thôi, thay vì phải ngồi config mạng, config ổ cứng, tìm cách backup dữ liệu thủ công đủ thứ phải config. Mà laptop cắm server chả mấy mà nát tốn hơn rất nhiều.
 
Câu trả lời ngắn gọn là có. Một web public nhiều request có thể ảnh hưởng tới các service cá nhân khác trên cùng máy, vì tụi nó xài chung CPU, RAM, disk I/O và băng thông mạng. Lúc traffic tăng đột biến thì mấy cái còn lại dễ bị giật lag theo.

Vài cách hạn chế mình hay làm. Đặt giới hạn tài nguyên cho từng container, docker có --cpus với --memory (hoặc deploy.resources.limits trong compose), để con web public không ăn hết RAM/CPU của máy. Cho Cloudflare đứng trước rồi bật cache, phần lớn request tĩnh CF trả thẳng nên đỡ đập vào máy nhà, còn tunnel thì tiện cho bảo mật chứ giảm tải không nhiều, cache mới là cái giảm tải. Thêm reverse proxy như nginx, Caddy hay Traefik có rate limit cũng đỡ.

Cái đáng để ý nhất thật ra là disk I/O. Nếu DB của web public với media hay NAS nằm chung một ổ thì hay nghẽn ở đây hơn là ở CPU. Tách DB ra một SSD riêng, để dữ liệu lớn qua ổ khác là êm hơn nhiều.

Nếu sau này web public lớn lên thật thì tách hẳn nó qua một máy hoặc VM riêng là yên tâm nhất, giữ đồ cá nhân (file, media) ở máy khác.

Phần service cá nhân thôi, nếu ngại config từng cái thì có Syncloud (mình có tham gia làm nên hơi thiên vị) gói sẵn Nextcloud, Jellyfin mấy thứ kiểu đó, cài một phát là chạy. Nhưng riêng con web public nhiều traffic thì kiểu gì cũng nên cho nó tài nguyên riêng, cái này không liên quan tới chuyện xài tool nào.
 

Thống kê chủ đề

Ngày tạo
duykhanh471,
Người trả lời cuối
cyberb,
Trả lời
31
Lượt xem
16.211
Quay lại
Lên đầu trang