tony eb61478203
Container images / publish (., deploy/pocketbase/Dockerfile, evoliohealth-pocketbase) (push) Canceled after 0s
Container images / publish (., server/Dockerfile, evoliohealth-server) (push) Canceled after 0s
Checks / go (push) Canceled after 0s
Checks / flutter (push) Canceled after 0s
Checks / compose (push) Canceled after 0s
Android development APK / apk (push) Canceled after 0s
fix: assets
2026-08-06 17:44:05 +02:00
2026-07-22 13:21:03 +02:00
2026-08-06 17:44:05 +02:00
2026-08-06 17:44:05 +02:00
2026-07-21 21:30:06 +02:00
2026-07-21 21:30:06 +02:00
2026-07-21 21:30:06 +02:00
2026-08-06 17:44:05 +02:00
2026-07-21 21:30:06 +02:00
2026-07-21 21:30:06 +02:00
2026-07-21 21:30:06 +02:00
2026-07-22 13:21:03 +02:00
2026-07-21 21:30:06 +02:00
2026-07-22 13:21:03 +02:00

EvolioHealth specifications

EvolioHealth is a private, self-hosted platform for recording, synchronizing, and visualizing personal health, activity, body-measurement, and progress-photo data.

The product has two deliverables:

  • EvolioHealth Server: Go business API, bundled Flutter Web application, internal PocketBase persistence, encrypted private media, and a replaceable SQLite reference database.
  • EvolioHealth Companion: Android Flutter application with offline storage, Health Connect integration, and direct Bluetooth Low Energy support for the Xiaomi Mi Body Composition Scale 2.

This package is the initial product and architecture source of truth for implementation by Codex. Start with the documentation index.

Fixed principles

  • Privacy and strict user isolation are product requirements.
  • PocketBase is never directly exposed.
  • Deployment uses one compose.yaml; APP_ENV=dev|prod selects runtime behavior.
  • Runtime containers are non-root, capability-free, and compatible with common Linux NAS/container hosts.
  • Data ownership, export, correction, and deletion are first-class features.
  • The initial mobile target is Android only.

Status

The repository foundation is now present. It contains minimal Go, Flutter Web, and Flutter Android entry points, container builds, a hardened Compose topology, and Gitea Actions workflows. Business functionality remains staged according to the development plan.

Repository layout

server/                    Go API and bundled Flutter Web server
web/                       Flutter Web application
companion/                 Flutter Android Companion
deploy/pocketbase/         Private PocketBase container
.gitea/workflows/          Checks, container publishing, and development APK
compose.yaml               Single supported deployment definition
docs/                      Authoritative specifications and decisions

Development deployment

Copy .env.example to .env, set APP_URL, and start the stack with the standard Docker Compose interface. Images default to:

git.zaynet.fr/tony/evoliohealth-server:dev
git.zaynet.fr/tony/evoliohealth-pocketbase:dev

PocketBase has no host port and is connected only to the internal backend network. The public application listens on host port 8080 for local development and is the only service a reverse proxy may target.

Automated builds

Gitea Actions requires an online runner carrying the ubuntu-latest label. Container publication uses the repository secret REGISTRY_TOKEN, containing a dedicated Gitea personal access token limited to write:package. A push to main publishes multi-architecture development images for linux/amd64 and linux/arm64. The Android workflow produces a debug APK retained as a short-lived workflow artifact; release signing is not configured yet.

S
Description
No description provided
Readme
1.3 MiB
Languages
Dart 91%
Go 5.5%
Dockerfile 2.7%
HTML 0.8%