docs: Update readme

This commit is contained in:
carla 2026-03-11 11:12:49 +01:00
parent cb69521cda
commit a4ad1f7b27

View file

@ -2,12 +2,12 @@
**Mila** — simple, usable, self-hostable membership management for small to mid-sized clubs. **Mila** — simple, usable, self-hostable membership management for small to mid-sized clubs.
[![Build Status](https://drone.dev.local-it.cloud/api/badges/local-it/mitgliederverwaltung/status.svg)](https://drone.dev.local-it.cloud/local-it/mitgliederverwaltung) [![Build Status](https://drone.cicd.local-it.cloud/api/badges/local-it/mitgliederverwaltung/status.svg)](https://drone.cicd.local-it.cloud/local-it/mitgliederverwaltung)
![License](https://img.shields.io/badge/license-AGPL--v3-blue) ![License](https://img.shields.io/badge/license-AGPL--v3-blue)
## 🚧 Project Status ## 🚧 Project Status
⚠️ **Early development** — not production-ready. Expect breaking changes. ⚠️ **First Version** — Expect breaking changes.
Contributions and feedback are welcome! Contributions and feedback are welcome!
## ✨ Overview ## ✨ Overview
@ -48,9 +48,10 @@ You can find our documentation for users here: https://wiki.local-it.org/s/mila-
- ✅ SSO via OIDC (works with Authentik, Rauthy, Keycloak, etc.) - ✅ SSO via OIDC (works with Authentik, Rauthy, Keycloak, etc.)
- ✅ Sidebar navigation (standard-compliant, accessible) - ✅ Sidebar navigation (standard-compliant, accessible)
- ✅ Global settings management - ✅ Global settings management
- 🚧 Self-service & online application - Self-service & online application
- ✅ Accessibility improvements (WCAG 2.1 AA compliant keyboard navigation) - ✅ Accessibility improvements (WCAG 2.1 AA compliant keyboard navigation)
- 🚧 Email sending - ✅ Email sending
- ✅ Integration of Accounting-Software ([Vereinfacht](https://github.com/vereinfacht/vereinfacht))
## 🚀 Quick Start (Development) ## 🚀 Quick Start (Development)
@ -172,13 +173,7 @@ The `OIDC_REDIRECT_URI` is auto-generated as `https://{DOMAIN}/auth/user/oidc/ca
## ⚙️ Configuration ## ⚙️ Configuration
- **Env vars:** see `.env.example` - **Env vars:** see `.env.example`
- `OIDC_CLIENT_SECRET` — secret for your OIDC client
- Database defaults (Docker Compose):
- Host: `localhost`
- Port: `5000`
- User/pass: `postgres` / `postgres`
- DB: `mila_dev`
## 🏗️ Architecture ## 🏗️ Architecture
@ -193,6 +188,8 @@ The `OIDC_REDIRECT_URI` is auto-generated as `https://{DOMAIN}/auth/user/oidc/ca
- `lib/mv_web/` — Phoenix controllers, LiveViews, components - `lib/mv_web/` — Phoenix controllers, LiveViews, components
- `lib/mv/` — Shared helpers and business logic - `lib/mv/` — Shared helpers and business logic
- `assets/` — Tailwind, JavaScript, static files - `assets/` — Tailwind, JavaScript, static files
- `test/` — All tests
📚 **Full tech stack details:** See [`CODE_GUIDELINES.md`](CODE_GUIDELINES.md) 📚 **Full tech stack details:** See [`CODE_GUIDELINES.md`](CODE_GUIDELINES.md)
📖 **Implementation history:** See [`docs/development-progress-log.md`](docs/development-progress-log.md) 📖 **Implementation history:** See [`docs/development-progress-log.md`](docs/development-progress-log.md)
@ -228,42 +225,19 @@ For testing the production Docker build locally:
# Copy template and edit # Copy template and edit
cp .env.example .env cp .env.example .env
nano .env nano .env
# Required variables:
SECRET_KEY_BASE=<your-generated-secret>
TOKEN_SIGNING_SECRET=<your-generated-secret>
DOMAIN=localhost # or PHX_HOST=localhost
# Optional OIDC configuration:
# OIDC_CLIENT_ID=mv
# OIDC_BASE_URL=http://localhost:8080/auth/v1
# OIDC_CLIENT_SECRET=<from-your-oidc-provider>
# OIDC_REDIRECT_URI is auto-generated as https://{DOMAIN}/auth/user/oidc/callback
# Alternative: Use _FILE variables for Docker secrets (takes priority over regular vars):
# SECRET_KEY_BASE_FILE=/run/secrets/secret_key_base
# TOKEN_SIGNING_SECRET_FILE=/run/secrets/token_signing_secret
# OIDC_CLIENT_SECRET_FILE=/run/secrets/oidc_client_secret
# DATABASE_URL_FILE=/run/secrets/database_url
# DATABASE_PASSWORD_FILE=/run/secrets/database_password
``` ```
3. **Start development environment** (for Rauthy): 3. **Start production environment:**
```bash
docker compose up -d
```
4. **Start production environment:**
```bash ```bash
docker compose -f docker-compose.prod.yml up docker compose -f docker-compose.prod.yml up
``` ```
5. **Database migrations run automatically** on app start. For manual migration: 4. **Database migrations run automatically** on app start. For manual migration:
```bash ```bash
docker compose -f docker-compose.prod.yml exec app /app/bin/mv eval "Mv.Release.migrate" docker compose -f docker-compose.prod.yml exec app /app/bin/mv eval "Mv.Release.migrate"
``` ```
6. **Access the production app:** 5. **Access the production app:**
- Production App: http://localhost:4001 - Production App: http://localhost:4001
- Uses same Rauthy instance as dev (localhost:8080) - Uses same Rauthy instance as dev (localhost:8080)
@ -286,9 +260,9 @@ For actual production deployment:
## 🤝 Contributing ## 🤝 Contributing
We welcome contributions! We welcome contributions!
- Open issues and PRs in this repo. - Open issues and PRs in this repo
- Please follow existing code style and conventions. - Please follow existing code style and conventions
- Expect breaking changes while the project is in early development. - Expect breaking changes while the project is in early development
## 📄 License ## 📄 License
@ -298,4 +272,4 @@ See the [LICENSE](LICENSE) file for details.
## 📬 Contact ## 📬 Contact
- Issues: [GitLab Issues](https://git.local-it.org/local-it/mitgliederverwaltung/-/issues) - Issues: [GitLab Issues](https://git.local-it.org/local-it/mitgliederverwaltung/-/issues)
- Community links: coming soon. - E-Mail: info@local-it.org