wger开源健身营养管理器Docker部署教程,无公网帕斯内网穿透远程访问健身数据
作者
小编
发布时间

项目介绍
wger (ˈvɛɡɐ) 是一个免费的健身和营养管理器,专为健身爱好者和专业人士设计。它提供了全面的健身管理解决方案,包括自定义训练计划、营养跟踪、身体数据记录等功能。
这个项目的核心特色包括:自定义训练计划创建,支持自动重量递增规则;全面的数据跟踪功能,可以记录饮食计划、体重变化和自定义测量数据;营养管理系统,集成了 Open Food Facts 食物数据库来记录卡路里摄入;进度相册功能,可以上传照片跟踪健身进展;内置运动百科全书,用户可以访问和贡献运动库;跨平台应用支持,在 Android、iOS、F-Droid 和 Flathub 上都有客户端。
项目完全开源免费,采用 AGPL-3.0 许可证,支持多语言界面,拥有强大的 REST API 接口,支持多用户使用,还包含基础的健身房管理功能。最重要的是,它支持 Docker 自托管部署,让用户完全掌控自己的数据。
项目地址: 点我跳转
部署安装
如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。
wger 提供了完整的 Docker Compose 部署方案,包含应用服务器、反向代理、数据库、缓存服务器和 Celery 队列等所有必要组件。官方推荐使用 Docker Compose 进行一键部署。
复制下列的配置文件
1services:2 web:3 image: docker.io/wger/server:latest4 depends_on:5 db:6 condition: service_healthy7 cache:8 condition: service_healthy9 env_file:10 - ./config/prod.env11 volumes:12 - static:/home/wger/static13 - media:/home/wger/media14 expose:15 - 800016 healthcheck:17 test: wget --no-verbose --tries=1 --spider http://localhost:800018 interval: 10s19 timeout: 5s20 start_period: 300s21 retries: 522 restart: unless-stopped2324 nginx:25 image: docker.io/nginx:stable26 depends_on:27 - web28 volumes:29 - ./config/nginx.conf:/etc/nginx/conf.d/default.conf30 - static:/wger/static:ro31 - media:/wger/media:ro32 ports:33 - '80:80'34 healthcheck:35 test: service nginx status36 interval: 10s37 timeout: 5s38 retries: 539 start_period: 30s40 restart: unless-stopped4142 db:43 image: docker.io/postgres:15-alpine44 environment:45 - POSTGRES_USER=wger46 - POSTGRES_PASSWORD=wger47 - POSTGRES_DB=wger48 - TZ=Europe/Berlin49 volumes:50 - postgres-data:/var/lib/postgresql/data/51 expose:52 - 543253 healthcheck:54 test: pg_isready -U wger55 interval: 10s56 timeout: 5s57 retries: 558 start_period: 30s59 restart: unless-stopped6061 cache:62 image: docker.io/redis63 expose:64 - 637965 volumes:66 - ./config/redis.conf:/usr/local/etc/redis/redis.conf67 - redis-data:/data68 command: [ 'redis-server', '/usr/local/etc/redis/redis.conf']69 healthcheck:70 test: redis-cli ping71 interval: 10s72 timeout: 5s73 retries: 574 start_period: 30s75 restart: unless-stopped7677 celery_worker:78 image: docker.io/wger/server:latest79 command: /start-worker80 env_file:81 - ./config/prod.env82 volumes:83 - media:/home/wger/media84 depends_on:85 web:86 condition: service_healthy87 healthcheck:88 test: celery -A wger inspect ping89 interval: 10s90 timeout: 5s91 retries: 592 start_period: 30s9394 celery_beat:95 image: docker.io/wger/server:latest96 command: /start-beat97 volumes:98 - celery-beat:/home/wger/beat/99 env_file:100 - ./config/prod.env101 depends_on:102 celery_worker:103 condition: service_healthy104105volumes:106 postgres-data:107 celery-beat:108 redis-data:109 media:110 static:111112networks:113 default:114 name: wger_network
打开飞牛 NAS 或其他的 NAS 设备

项目名称可以随便填,点击创建 docker-compose.yml

点击 Compose -> 新建项目
需要同时创建配置文件目录和环境变量文件。在部署前需要下载完整的配置文件包,包括 nginx.conf、redis.conf 和 prod.env 文件。如果提示端口被占用可以修改 nginx 服务的端口映射,但是需要保持格式正确。
创建成功后可以访问 ip:80 到这里就可以正常显示项目了
穿透公网
打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道
隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写
本地 IP 默认就可以
传输协议可以选择 TCP 也可以选择 HTTP/HTTPS
HTTP 就是域名的形式,教程以使用 TCP 为演示
本项目中如果没有修改端口的话默认是 80 端口,这里本地 IP 就填 80
远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定
点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可
复制帕斯内网穿透控制台的访问 IP 和端口
可以看到已经正常穿透成功了
本篇教程结束