TopGit
Đánh giá repo GitHub

openGym: ứng dụng tự host theo dõi tập gym & thể hình

DuarteSantos8/openGym
OTopGit review image for DuarteSantos8/openGym
Review by Topgit.dev for DuarteSantos8/openGym, with GitHub repository stats and README context.
Nhận định nhanh

openGym là ứng dụng tự host theo dõi tập luyện, chạy trên server riêng. Nó lập kế hoạch routine, ghi nhật ký set, và theo dõi fatigue cơ bắp. Không đăng ký, không quảng cáo, dữ liệu không rời khỏi máy của bạn. Một lệnh Docker là xong. Điểm trừ: bạn tự bảo trì server, và passkey yêu cầu HTTPS.

Sao
★ 15.3k
Fork
⑂ 2.0k
Người đóng góp
👥 57
Ngôn ngữ
JavaScript
Giấy phép
AGPL-3.0
Chủ đề
—
Cập nhật
Oct 2026
Trang chủ
GitHub

openGym là gì

openGym là ứng dụng tự host theo dõi tập gym và bodyweight. Bạn xây routine cho mỗi ngày trong tuần, chạy các buổi tập có hướng dẫn với weights được điền sẵn từ lần trước, và app ghi nhật ký set trong khi phát hiện PR. Bản đồ cơ hiển thị phân bổ volume và tình trạng phục hồi. Các quy tắc tiến bộ tự động tăng tải. Đăng nhập bằng passkey giữ dữ liệu cục bộ, và PWA hoạt động trên điện thoại.

Lên kế hoạch, tập luyện, và theo dõi tiến bộ

  • ✓Trình tạo routine hàng tuần với bốn kế hoạch khởi đầu (Push/Pull/Legs, Upper/Lower, Full Body, 5×5) được cung cấp dưới dạng template có thể chỉnh sửa
  • ✓Thư viện 1.324 bài tập với minh họa động, tìm kiếm theo nhóm cơ hoặc thiết bị, duyệt trên bản đồ cơ
  • ✓Buổi tập có hướng dẫn với weights được điền sẵn, timer nghỉ, phát hiện PR, và tính đĩa tạ cho trap bar, thanh tạ, Smith machine, và EZ bar
  • ✓Bản đồ cơ ở ba chế độ: phân bổ volume, tình trạng phục hồi, và cơ chưa được tập
  • ✓Quy tắc tiến bộ theo routine hoặc bài tập: linear, Greyskull LP, double progression theo rep range, hoặc dựa trên thời gian
  • ✓Nhập từ FitNotes, Strong, Hevy, và Apple Health weight exports; xuất mọi thứ ra JSON
  • ✓Đăng nhập bằng passkey (WebAuthn) với private key trong phần cứng bảo mật của thiết bị; password fallback tùy chọn; đồng bộ per-profile qua các thiết bị
  • ✓Cài đặt PWA trên mobile với hỗ trợ offline; APK Android cũng có sẵn từ trang releases
Số sao GitHub của repo này thay đổi thế nào theo thời gian. Nguồn: star-history.com.Xem lịch sử sao ↗

Chạy với Docker trong vài phút

Clone repo, copy `.env.example` thành `.env`, chạy `docker compose pull` để lấy image cho amd64 và arm64, rồi `docker compose up -d`. openGym khởi động trên port 8080. Lần đầu chạy nó sẽ tải exercise media (khoảng 140 MB). Để đăng nhập bằng passkey trên điện thoại bạn cần HTTPS, hai dòng trong `.env` xử lý chuyện đó, và self-hosting guide có hướng dẫn Cloudflare Tunnel, Caddy, Traefik, và nginx. Docs cũng có hướng dẫn cho Kubernetes và HTTPS chỉ trong LAN.

Điểm mạnh

  • ✓Sở hữu dữ liệu: mọi thứ nằm trong file JSON trên server, passkey không rời khỏi thiết bị của bạn, xuất ra JSON bất cứ lúc nào
  • ✓Độ sâu tính năng: superset, warm-up set, drop set, rest-pause, bài tập timed, cardio, và lên kế hoạch deload trong một ứng dụng duy nhất
  • ✓Thư viện bài tập lớn, tìm kiếm được theo cơ hoặc thiết bị, kèm minh họa động và bài tập tùy chỉnh của người dùng
  • ✓Engine tiến bộ với nhiều scheme tải và deload tự động khi gặp stall, không chỉ 'thêm 2kg mỗi tuần'
  • ✓Đồng bộ qua revision-based merging nên hai thiết bị cùng chỉnh sửa không ghi đè lên nhau
  • ✓UX hiện đại cho ứng dụng tự host: PWA install, passkey, hỗ trợ offline, 17 ngôn ngữ, màn hình nhấp nháy cho timer nghỉ trong phòng gym ồn

Những điểm openGym chưa làm được

  • △HTTPS bắt buộc cho passkey, thêm độ phức tạp cho setup LAN-only, docs có hướng dẫn nhưng không phải một click
  • △AI coach và MCP server tùy chọn nhưng cần API key và cấu hình, không phải cắm là chạy
  • △Exercise media (hình ảnh và animation) là nội dung bên thứ ba với quyền sở hữu tranh chấp, không được AGPL license bao phủ
  • △v1.4.0 dự kiến breaking change chuyển từ JSON sang database, cần lên kế hoạch migration nếu bạn bắt đầu từ bây giờ
  • △Đồng bộ per-profile, hai thiết bị cùng chỉnh sửa một profile sẽ merge theo revision, không tức thì, có thể cần cân chỉnh thủ công
  • △Ứng dụng iOS cần build bằng Xcode vì Apple chặn sideloading; Android có APK sẵn nhưng openGym cố tình tránh Play Store

Các tracker fitness tự host khác

Hevy — ứng dụng tập gym trên điện thoại với hỗ trợ nhập dữ liệu tốt và tier cloud, dữ liệu nằm trên server của họFitNotes — app ghi nhật ký tập luyện Android đơn giản theo GPL, không đồng bộ hay passkey, giới hạn trên một nền tảngStrong — ứng dụng tập gym thương mại với tính năng subscription, quyền sở hữu dữ liệu tùy góiExponential Workouts — tracker fitness tự host tập trung vào progressive overload, ít tính năng hơn và cộng đồng nhỏ

Câu hỏi thường gặp

openGym có miễn phí vĩnh viễn không?

Có. openGym được cấp phép AGPL-3.0, không có paid tier, không tính năng giữ lại cho sponsor, và không có gì ngừng hoạt động nếu bạn không donate. Chạy bao lâu tùy ý trên server của bạn.

openGym có nhập dữ liệu từ Strong hoặc FitNotes không?

openGym nhập từ FitNotes, Strong, và Hevy qua CSV hoặc API key, cộng Apple Health weight exports. Xuất mọi thứ ra JSON bất cứ lúc nào để backup đầy đủ.

openGym có hoạt động offline không?

Có. PWA cache giao diện và dữ liệu gần đây cục bộ. Bạn ghi nhật ký tập offline, các session mới xếp hàng đợi và đồng bộ khi có kết nối. Một banner hiện ra khi app đang offline.

openGym xử lý quyền riêng tư và bảo mật passkey như thế nào?

Passkey private key nằm trong phần cứng bảo mật của điện thoại và không bao giờ đến server, server chỉ lưu public key. openGym chạy hoàn toàn trên server riêng, không gửi gì đến bên thứ ba. Đăng nhập bằng password tùy chọn nếu bạn không muốn dùng passkey.

Tôi có thể chạy openGym trên Raspberry Pi hoặc server công suất thấp không?

Có. Docker image bao gồm cả amd64 và arm64, nên Raspberry Pi hoạt động được. Self-hosting guide có hướng dẫn setup công suất thấp, dù hiệu năng phụ thuộc phần cứng của bạn.

Dữ liệu của tôi ra sao nếu dự án ngừng phát triển?

Dữ liệu nằm trong file JSON bạn kiểm soát. Xuất mọi thứ ra JSON bất cứ lúc nào, và codebase vẫn có sẵn theo AGPL-3.0, ai cũng có thể fork và tiếp tục phát triển.

Vấn đề nó giải quyết

Hầu hết ứng dụng fitness giữ lịch sử tập luyện sau bức tường đăng ký hoặc trên server không thuộc quyền kiểm soát của bạn. Nếu công ty đóng cửa, chuyển hướng, hoặc tăng giá, dữ liệu của bạn cũng ra đi theo. openGym giải quyết vấn đề sở hữu bằng cách đặt mọi thứ dưới mái nhà của bạn, nhưng đồng nghĩa với việc bạn phải tự cài Docker, tự xử lý HTTPS cho passkey, và tự bảo trì.

Trường hợp sử dụng tốt nhất

  • •Người tập gym muốn sở hữu dữ liệu huấn luyện thay vì tin tưởng dịch vụ bên thứ ba
  • •Người chuyển từ FitNotes, Strong, hoặc Hevy với lịch sử tập luyện hiện có
  • •Người tự host chạy phòng gym gia đình hoặc nhóm tập nhỏ với dashboard admin tùy chọn và đăng ký invite-only
  • •Vận động viên theo dõi bodyweight, calisthenics tiến bộ, và các bài giữ thời gian bên cạnh barbell
  • •Huấn luyện viên muốn PWA hoạt động offline trên mọi điện thoại mà không cần cài qua App Store
  • •Ai đã chán với ứng dụng fitness tăng giá, thêm telemetry, hoặc đóng cửa

Ai nên thử và ai nên bỏ qua

Chọn openGym nếu bạn đã từng từ bỏ một ứng dụng trả phí và muốn lấy lại quyền kiểm soát dữ liệu huấn luyện. Nó phù hợp với người tập gym theo dõi barbell bên cạnh cardio và bodyweight, và ai muốn PWA chạy offline mà không qua App Store. Bỏ qua nếu bạn muốn không bảo trì gì, vì Docker, HTTPS cho passkey, và nâng cấp định kỳ là việc của bạn. Cũng bỏ qua nếu ứng dụng mobile polish từ Play Store quan trọng hơn quyền sở hữu dữ liệu.

Repo liên quan

Nguồn & ghi công

Repository: https://github.com/DuarteSantos8/openGym. Thông tin từ README, self-hosting guide, và tài liệu.

Dữ liệu GitHub · đồng bộ lần cuối 7 thg 10, 2026Đánh giá bởi Henry
← Về TopGit

openGym có đáng để bạn bỏ thời gian?

ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về openGym.

GitHub