Mindfree Automated Delivery System
| # | Project | Branch | Commit | Deployed at (UTC) |
|---|---|---|---|---|
| 4 | flask-template | main | 75b4c01 | 2026-07-10 12:47:07.487797 |
| 3 | flask-template | main | 357418b | 2026-07-10 12:31:15.815425 |
| 2 | flask-template | main | c17f5ed | 2026-07-01 09:16:48.843707 |
| 1 | flask-template | main | dcdcd15 | 2026-06-18 09:51:02.756416 |
On GitHub, click "Use this template" → "Create a new repository". Set the owner to Mindfree-2 and make the repo private — the self-hosted runner only works on private repositories.
Every push to any branch triggers the CI/CD pipeline automatically within ~2 minutes. Each branch gets its own isolated URL:
main → {project}.mindfree.infostaging → {project}.staging.mindfree.info{branch}.{project}.dev.mindfree.infoAdd routes in app/routes.py. For larger apps, create additional Blueprint
files and register them in app/__init__.py. Static files go in
app/static/, Jinja2 templates in app/templates/.
Go to your repo → Settings → Secrets and variables → Actions.
Secrets are injected as environment variables at deploy time and available to your
app at runtime via os.getenv().
| Route | Description |
|---|---|
GET / | This welcome page — replace with your application’s home |
GET /health | Health check — returns ok, used by the deploy script to confirm the app is up |
flask-template/ ├── app/ │ ├── __init__.py ← app factory, db & migrate setup │ ├── models.py ← SQLAlchemy models (add yours here) │ └── routes.py ← add your routes here ├── migrations/ ← Alembic migrations (commit this folder) ├── requirements.txt ← Python dependencies ├── gunicorn.conf.py ← Gunicorn server config (socket, workers) └── Dockerfile ← container build (runs migrations on start)