wgerv2.7.0a2

Трекер тренировок, питания и веса: программы с прогрессией, дневник питания, справочник упражнений и приложения для Android и iOS.

wger - зрелый open-source трекер для силовых и общефизических тренировок: программы с автопрогрессией, дневник питания с подсчетом БЖУ на базе Open Food Facts, учет веса и замеров тела, вики упражнений с анатомическими схемами. Есть REST API и официальные мобильные приложения (Android, iOS, F-Droid) - wger можно использовать и как backend своего фитнес-приложения. В отличие от коммерческих трекеров данные о вашем теле и активности живут на вашем сервере, без подписки и без рекламы.

После создания сервера wger ставится автоматически: docker поднимает официальный стек из готовых образов (приложение на Django, PostgreSQL, Redis, Celery, nginx, powersync), а Caddy выпускает Let's Encrypt и открывает доступ по HTTPS на magic-DNS домене. Базовая библиотека упражнений синхронизируется в фоне уже на работающем сайте.

Что внутри

wger 2.7.0a2 (Django)
приложение и REST API, слушает только localhost.
PostgreSQL
база данных (том стека), production-grade хранилище.
Redis + Celery (worker и beat)
кэш и фоновая синхронизация упражнений.
nginx
раздача статики и медиа.
powersync
сервис синхронизации для мобильных приложений (роль в базе создается при установке).
Caddy
reverse-proxy и авто-TLS (Let's Encrypt) на magic-DNS домене.

Как войти

  1. Адрес формируется из IP сервера: замените точки на дефисы и добавьте .fatmetal.net. Пример: IP 45.15.159.10 -> https://45-15-159-10.fatmetal.net.

  2. Логин - admin, пароль - пароль сервера из личного кабинета (тот же, что для входа по SSH).

  3. Открытая регистрация по умолчанию закрыта: новых пользователей заводит admin в Django-админке (/django-admin/). Для зала или мульти-юзера регистрацию включают одной строкой ALLOW_REGISTRATION=True в /opt/wger/config/prod.env.

Важно

Стек - это 7 контейнеров, а не один: при первом старте Celery в фоне тянет базовую библиотеку упражнений (около 900 позиций) и картинки, поэтому каталог наполняется в течение нескольких минут после запуска. Полная база продуктов Open Food Facts (миллионы позиций) по умолчанию НЕ синхронизируется - это заняло бы часы; догрузить можно вручную (manage.py sync-ingredients-async). Секреты приложения генерируются при установке, дефолтный SECRET_KEY из образца заменяется. Бэкап: docker compose -f /opt/wger/docker-compose.yml exec db pg_dump -U wger wger > wger.sql.

Лицензия

wger - свободное ПО под лицензией AGPL-3.0-or-later, в том числе для коммерческого использования (зал, студия). Условие AGPL: если вы даете доступ к своей модифицированной версии по сети, исходники модификации нужно открыть. Для личного и внутреннего использования ограничений нет. Данные упражнений и ингредиентов - под лицензиями Creative Commons.

Свой домен

Наведите A-запись на этот сервер, впишите домен в /opt/wger/config/prod.env (SITE_URL, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS) и в /etc/caddy/Caddyfile, затем docker compose -f /opt/wger/docker-compose.yml up -d и systemctl restart caddy - Caddy выпустит Let's Encrypt. SITE_URL должен совпадать с публичным адресом, иначе ломаются CSRF-проверки и ссылки.

Требования

Ubuntu 24.04, открытые порты 80/443. Рекомендуемая конфигурация CPU2-RAM4-DISK50 (стек в простое ~1.35 ГБ, под фоновой синхронизацией до ~1.75 ГБ; RAM2 в притык). Образы готовые, тянутся с Docker Hub с ретраем (РФ-egress), у клиента ничего не компилируется.

Подробный разбор с замерами и скриншотами →
wger450 ₽/месЗапустить →