Skip to content

Commit a2e36fc

Browse files
committed
feat: update README with new features, OIDC environment variables, and refined setup instructions.
1 parent 2b5201f commit a2e36fc

File tree

1 file changed

+48
-38
lines changed

1 file changed

+48
-38
lines changed

README.md

Lines changed: 48 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,24 @@
1616

1717
---
1818

19-
## ✨ Features
20-
21-
- 🎵 **Discogs Integration** - Search and add albums using the Discogs database
22-
- 📊 **Smart Insights** - Collection statistics, format distribution, and top artists
23-
- 🔍 **Advanced Filtering** - Filter by format, decade, or date added
24-
- 📱 **Responsive Design** - Works on desktop, tablet, and mobile
25-
- 🌓 **Dark/Light Mode** - Toggle between themes
26-
- 👥 **Multi-user Support** - Each user has their own private collection
27-
- 🔐 **Admin Dashboard** - Manage users with an intuitive admin panel
28-
- 📦 **CSV Import** - Import from Discogs exports
29-
- 🐳 **Docker Ready** - Easy deployment with Docker Compose
30-
31-
## 📸 Screenshots
19+
## Features
20+
21+
- **Discogs Integration** - Search and add albums using the Discogs database.
22+
- **OIDC SSO Support** - Enterprise-ready authentication with OpenID Connect (e.g., Authentik, Keycloak).
23+
- **PWA Ready** - Installable on mobile and desktop devices with offline capabilities.
24+
- **Multi-user Support** - Secure private collections for multiple users.
25+
- **Collection Sharing** - Share your collection via public links with optional password protection.
26+
- **Smart Insights** - View collection statistics, format distribution, and top artists.
27+
- **Advanced Filtering** - Sort and filter by format, decade, date added, and more.
28+
- **Condition Grading** - Track the media and sleeve condition of your albums.
29+
- **Random Picker** - Shuffle your collection to help decide what to listen to next.
30+
- **ID Lookup** - Quickly find releases by Discogs ID or Barcode.
31+
- **Responsive Design** - Optimized for desktop, tablet, and mobile usage.
32+
- **Dark/Light Mode** - Toggle between aesthetic themes.
33+
- **Admin Dashboard** - Manage users and settings.
34+
- **Docker Ready** - Simple deployment using Docker Compose.
35+
36+
## Screenshots
3237

3338
<p align="center">
3439
<img src="docs/screenshots/collection-dashboard.png" alt="Collection Dashboard" width="800">
@@ -65,7 +70,7 @@
6570
<br><em>Public Collection - Share your collection with others</em>
6671
</p>
6772

68-
## 🚀 Quick Start
73+
## Quick Start
6974

7075
### Prerequisites
7176

@@ -81,7 +86,7 @@ cd musivault
8186

8287
# Configure environment
8388
cp .env.example .env
84-
# Edit .env with your SESSION_SECRET, DISCOGS_KEY, and DISCOGS_SECRET
89+
# Edit .env with your configuration
8590

8691
# Start the application
8792
docker compose pull
@@ -92,20 +97,29 @@ Access the app at [http://localhost:3000](http://localhost:3000)
9297

9398
### Environment Variables
9499

95-
| Variable | Description | Required |
96-
|----------|-------------|----------|
97-
| `SESSION_SECRET` | Session encryption key ||
98-
| `DISCOGS_KEY` | Discogs API consumer key ||
99-
| `DISCOGS_SECRET` | Discogs API consumer secret ||
100-
| `PORT` | Application port (default: 3000) ||
101-
| `MONGO_URI` | MongoDB connection string ||
102-
| `ADMIN_EMAIL/USERNAME/PASSWORD` | Initial admin user ||
103-
| `BACKEND_HOST` | Backend hostname for nginx proxy (default: musivault-backend) ||
104-
| `BACKEND_PORT` | Backend port for nginx proxy (default: 5000) ||
105-
106-
Generate a session secret: `openssl rand -base64 32`
107-
108-
## 🛠️ Tech Stack
100+
| Variable | Description | Default | Required |
101+
|----------|-------------|---------|----------|
102+
| `SESSION_SECRET` | Session encryption key | - | Yes |
103+
| `DISCOGS_KEY` | Discogs API consumer key | - | Yes |
104+
| `DISCOGS_SECRET` | Discogs API consumer secret | - | Yes |
105+
| `MONGO_URI` | MongoDB connection string | mongodb://mongodb:27017/musivault | No |
106+
| `PORT` | Application port | 3000 | No |
107+
| `JWT_SECRET` | JWT signing secret | ${SESSION_SECRET} | No |
108+
| `ADMIN_EMAIL` | Initial admin email | - | No |
109+
| `ADMIN_USERNAME` | Initial admin username | - | No |
110+
| `ADMIN_PASSWORD` | Initial admin password | - | No |
111+
| `OIDC_ISSUER` | OIDC Issuer URL | - | No |
112+
| `OIDC_CLIENT_ID` | OIDC Client ID | - | No |
113+
| `OIDC_CLIENT_SECRET` | OIDC Client Secret | - | No |
114+
| `OIDC_REDIRECT_URI` | OIDC Redirect URI | - | No |
115+
| `OIDC_PROVIDER_NAME` | Name of the SSO provider | SSO | No |
116+
| `FRONTEND_URL` | URL of the frontend (for CORS/Auth) | - | No |
117+
| `IMAGE_TAG` | Docker image tag to use | latest | No |
118+
| `ENABLE_BACKGROUND_MIGRATION` | Run heavy DB migrations in background | false | No |
119+
| `BACKEND_HOST` | Backend hostname for Nginx | musivault-backend | No |
120+
| `BACKEND_PORT` | Backend port for Nginx | 5000 | No |
121+
122+
## Tech Stack
109123

110124
| Frontend | Backend | Infrastructure |
111125
|----------|---------|----------------|
@@ -114,7 +128,7 @@ Generate a session secret: `openssl rand -base64 32`
114128
| Vite | JWT Authentication | GitHub Actions |
115129
| TailwindCSS + DaisyUI | | |
116130

117-
## 💻 Development
131+
## Development
118132

119133
```bash
120134
# Install dependencies
@@ -131,7 +145,7 @@ Or with Docker:
131145
docker compose -f docker-compose.dev.yml up --build
132146
```
133147

134-
## 📦 Docker Images
148+
## Docker Images
135149

136150
Pre-built images are available on GitHub Container Registry:
137151

@@ -140,7 +154,7 @@ ghcr.io/jeanball/musivault/backend:latest
140154
ghcr.io/jeanball/musivault/frontend:latest
141155
```
142156

143-
## 🔧 Management
157+
## Management
144158

145159
```bash
146160
docker compose logs -f # View logs
@@ -149,18 +163,14 @@ docker compose down # Stop application
149163
docker compose pull && up -d # Update to latest
150164
```
151165

152-
## 🤝 Contributing
166+
## Contributing
153167

154168
1. Fork the repository
155169
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
156170
3. Commit your changes (`git commit -m 'Add amazing feature'`)
157171
4. Push to the branch (`git push origin feature/amazing-feature`)
158172
5. Open a Pull Request
159173

160-
## 📄 License
174+
## License
161175

162176
MIT License - see [LICENSE](LICENSE) for details.
163-
164-
---
165-
166-
<p align="center">Made with ❤️ for music collectors</p>

0 commit comments

Comments
 (0)