Skip to content

Commit 6adff1a

Browse files
Merge pull request #6 from thesubtleties/docs/v0.3.0-video-platforms
2 parents 5c2bb9f + 6570b57 commit 6adff1a

File tree

16 files changed

+1268
-265
lines changed

16 files changed

+1268
-265
lines changed

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,13 @@ This documentation site provides comprehensive guides for:
3131
- **Creating Sessions** - Session scheduling, types, status management, and chat modes
3232
- **Managing Speakers** - Adding speakers, roles, assignments, and speaker profiles
3333

34-
### Video Streaming
35-
- **Streaming Overview** - Multi-platform comparison (Vimeo, Mux, Zoom) and decision guide
34+
### Video Platforms
35+
- **Video Platforms Overview** - Multi-platform comparison (Vimeo, Mux, Zoom, Jitsi, Other) and decision guide
3636
- **Vimeo Streaming** - Setup, live streaming, VOD, and troubleshooting
3737
- **Mux Streaming** - PUBLIC and SIGNED playback, BYOA model, live streams and VOD
3838
- **Zoom Meetings** - Interactive meeting integration and security settings
39+
- **Jitsi Meetings (JaaS)** - Embedded conferencing, per-user JWT authentication, moderator controls
40+
- **Other/External Links** - Link to any external platform (MS Teams, Google Meet, etc.)
3941

4042
### Networking Features (For Attendees)
4143
- **Making Connections** - Attendee discovery, connection requests, and icebreakers
@@ -58,7 +60,7 @@ This documentation site provides comprehensive guides for:
5860

5961
## Documentation Stats
6062

61-
- **25 comprehensive user guides** covering organizer and attendee workflows
63+
- **27 comprehensive user guides** covering organizer and attendee workflows
6264
- All guides include real-world scenarios, troubleshooting, and best practices
6365
- Platform comparison tables and decision guides for streaming options
6466
- Mobile vs desktop differences documented where applicable
@@ -146,7 +148,7 @@ atria-docs/
146148
│ ├── event-management/ # Event creation, customization, publishing, chat rooms, icebreakers
147149
│ ├── attendee-management/ # Invitations, roles, moderation
148150
│ ├── sessions-speakers/ # Session and speaker management
149-
│ ├── video-streaming/ # Multi-platform streaming (Vimeo, Mux, Zoom)
151+
│ ├── video-streaming/ # Multi-platform streaming (Vimeo, Mux, Zoom, Jitsi, Other)
150152
│ ├── networking-features/ # Connections and privacy (attendee guides)
151153
│ ├── chat-messaging/ # Chat rooms and DMs (attendee guides)
152154
│ ├── sponsors/ # Sponsor management

blog/2025-11-08-v0.2.0-release.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ We're excited to announce **Atria v0.2.0**, a major update bringing flexible mul
4444
- Mux signing keys never stored in plain text
4545

4646
**New Documentation**
47-
- Comprehensive [Video Streaming Overview](https://docs.atria.gg/docs/video-streaming/streaming-overview) with platform comparison
47+
- Comprehensive [Video Platforms Overview](https://docs.atria.gg/docs/video-streaming/platforms-overview) with platform comparison
4848
- [Vimeo Streaming Guide](https://docs.atria.gg/docs/video-streaming/vimeo-streaming) - Setup and troubleshooting
4949
- [Mux Streaming Guide](https://docs.atria.gg/docs/video-streaming/mux-streaming) - PUBLIC and SIGNED playback
5050
- [Zoom Meetings Guide](https://docs.atria.gg/docs/video-streaming/zoom-meetings) - Interactive sessions
@@ -130,7 +130,7 @@ Live, interactive meetings with two-way audio and video.
130130
Visit [atria.gg](https://atria.gg) to try the platform with multi-platform streaming, or check out the [installation guide](https://docs.atria.gg/docs/getting-started/installation) to self-host your own instance.
131131

132132
**Links:**
133-
- [Video Streaming Documentation](https://docs.atria.gg/docs/video-streaming/streaming-overview)
133+
- [Video Platforms Documentation](https://docs.atria.gg/docs/video-streaming/platforms-overview)
134134
- [Full Documentation](https://docs.atria.gg)
135135
- [GitHub Repository](https://github.com/thesubtleties/atria)
136136
- [API Reference](https://docs.atria.gg/docs/api/atria-api)

blog/2025-11-27-v0.3.0-release.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
---
2+
slug: v0.3.0-release
3+
title: Atria v0.3.0 Released - Embedded Video Conferencing with Jitsi
4+
authors: [steven]
5+
tags: [release, announcement, streaming, video, jitsi]
6+
---
7+
8+
We're excited to announce **Atria v0.3.0**, bringing embedded video conferencing to your events with Jitsi (JaaS) integration! This release also adds flexible external platform linking, bringing Atria's total streaming options to five platforms.
9+
10+
<!-- truncate -->
11+
12+
## What's New in v0.3.0
13+
14+
### Added
15+
16+
**Jitsi (JaaS) Integration**
17+
- Embedded video conferencing directly within Atria - the only platform that keeps attendees fully in your event experience
18+
- BYOA (Bring Your Own Account) model with JaaS credentials
19+
- Per-user JWT authentication with automatic token generation
20+
- Role-based moderator permissions tied to Atria event roles:
21+
- **Admin/Organizer** = Moderator (recording, livestreaming, file upload, kick/mute)
22+
- **Attendee/Speaker** = Participant (standard conferencing features)
23+
- Token expiration tied to session duration (+ 1 hour buffer)
24+
- Full two-way audio/video with screen sharing
25+
26+
**External Platform Links ("Other")**
27+
- Link to any HTTPS streaming or meeting platform
28+
- Perfect for MS Teams, Google Meet, self-hosted Jitsi, or custom solutions
29+
- Simple setup - just paste the URL
30+
- Opens in a new tab with security attributes (noopener, noreferrer)
31+
32+
**Organization JaaS Credential Management**
33+
- Secure storage for JaaS credentials (App ID, API Key ID, RSA Private Key)
34+
- Same Fernet encryption used for Mux credentials
35+
- Credentials never viewable after entry (must re-enter to update)
36+
- Owner/Admin-only access to sensitive credentials
37+
38+
**New Documentation**
39+
- [Jitsi Meetings (JaaS) Guide](https://docs.atria.gg/docs/video-streaming/jitsi-meetings) - Setup, moderator permissions, and troubleshooting
40+
- [Other/External Links Guide](https://docs.atria.gg/docs/video-streaming/other-external) - Linking to any platform
41+
- Updated [Video Platforms Overview](https://docs.atria.gg/docs/video-streaming/platforms-overview) with 5-platform comparison
42+
- Updated [Organizations Guide](https://docs.atria.gg/docs/core-concepts/organizations) with JaaS credential setup
43+
44+
### Changed
45+
46+
**Data Model Updates**
47+
- Session model extended with Jitsi room name field
48+
- Organization model extended with encrypted JaaS credential fields (App ID, API Key, Private Key)
49+
- StreamingPlatform enum now includes JITSI and OTHER options
50+
51+
**Content Security Policy**
52+
- Added Jitsi domains to CSP configuration: `*.8x8.vc`, `*.jitsi.net`
53+
- Pre-configured for embedded Jitsi iframe and media streams
54+
55+
## Platform Highlights
56+
57+
### Jitsi (JaaS)
58+
Embedded video conferencing that keeps attendees within Atria. The only option for two-way interactive sessions without leaving your event platform.
59+
60+
**Use when:**
61+
- You want interactive workshops, Q&A, or team sessions
62+
- Keeping attendees in Atria matters for your event experience
63+
- You need role-based moderator controls (recording, livestreaming)
64+
- You prefer open-source conferencing technology
65+
66+
**Key features:**
67+
- Per-user JWT tokens with automatic permission assignment
68+
- Moderators (Admin/Organizer) can record, livestream to YouTube, and manage participants
69+
- Recording costs approximately $0.01/minute through JaaS
70+
- No app required - runs in browser
71+
72+
### Other/External
73+
Maximum flexibility - link to any HTTPS platform your organization uses.
74+
75+
**Use when:**
76+
- Your team uses MS Teams, Google Meet, or other platforms
77+
- You have a self-hosted Jitsi instance (non-JaaS)
78+
- Different sessions need different external tools
79+
- You need to link to a custom or niche streaming solution
80+
81+
## Platform Summary
82+
83+
Atria now supports **5 streaming platforms** for every use case:
84+
85+
| Platform | Embedding | Interaction | Best For |
86+
|----------|-----------|-------------|----------|
87+
| **Vimeo** | Embedded | One-way (watch) | Pre-recorded content, Vimeo Live |
88+
| **Mux** | Embedded | One-way (watch) | Professional streaming with analytics |
89+
| **Zoom** | External | Two-way | Zoom users, large meetings |
90+
| **Jitsi** | Embedded | Two-way | Workshops, staying in-platform |
91+
| **Other** | External | Varies | MS Teams, Google Meet, any URL |
92+
93+
## Migration Notes
94+
95+
**For Existing Installations:**
96+
97+
1. **JaaS credentials (if using Jitsi):**
98+
- Sign up at [jaas.8x8.vc](https://jaas.8x8.vc)
99+
- Add credentials in Organization Settings
100+
- Uses same `ENCRYPTION_KEY` from v0.2.0 (no new env vars needed)
101+
102+
2. **Content Security Policy:**
103+
- Jitsi domains are pre-configured in `frontend/csp-header.conf`
104+
- If you customized CSP, add: `*.8x8.vc`, `*.jitsi.net`
105+
106+
3. **Database migrations:**
107+
- Automatic migrations add new fields on first startup
108+
- No data loss - existing sessions unaffected
109+
110+
**No breaking changes** - existing deployments upgrade seamlessly.
111+
112+
## Try Atria Today
113+
114+
Visit [atria.gg](https://atria.gg) to try the platform with all five streaming options, or check out the [installation guide](https://docs.atria.gg/docs/getting-started/installation) to self-host your own instance.
115+
116+
**Links:**
117+
- [Video Platforms Documentation](https://docs.atria.gg/docs/video-streaming/platforms-overview)
118+
- [Jitsi Meetings Guide](https://docs.atria.gg/docs/video-streaming/jitsi-meetings)
119+
- [Full Documentation](https://docs.atria.gg)
120+
- [GitHub Repository](https://github.com/thesubtleties/atria)
121+
- [API Reference](https://docs.atria.gg/docs/api/atria-api)
122+
- [Changelog](https://github.com/thesubtleties/atria/blob/main/CHANGELOG.md)

docs/core-concepts/organizations.md

Lines changed: 166 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -184,13 +184,27 @@ To remove someone from your organization:
184184

185185
## Organization Settings
186186

187-
### Updating Organization Details
187+
Organization settings are accessed through the **collapsible header panel** on your organization page.
188188

189-
To update your organization information:
189+
### Accessing Settings
190190

191-
1. Go to **Organization → Settings**
192-
2. Update the organization name
193-
3. Click **"Save Changes"**
191+
1. Go to your **Organization Dashboard**
192+
2. Look for the **dropdown chevron** (▼) in the header area next to your organization name
193+
3. Click the chevron to expand the settings panel
194+
4. You'll see cards for:
195+
- **Organization Name** - Edit your organization's display name
196+
- **Mux Video Signing** - Configure Mux streaming credentials
197+
- **Jitsi Video Conferencing (JaaS)** - Configure Jitsi meeting credentials
198+
199+
### Updating Organization Name
200+
201+
To change your organization's name:
202+
203+
1. Expand the settings panel (click the chevron in the header)
204+
2. Find the **Organization Name** card
205+
3. Click **"Edit Name"**
206+
4. Enter the new name
207+
5. Click **"Save Name"**
194208

195209
:::info Future Settings
196210
Additional organization settings (logo, description, custom branding) are coming soon!
@@ -238,16 +252,14 @@ Log into your [Mux Dashboard](https://dashboard.mux.com):
238252

239253
**Step 2: Add Credentials to Atria**
240254

241-
1. Go to your **Organization Settings** in Atria
242-
2. Scroll to **Mux Streaming Credentials** section
243-
3. Click to expand the section
244-
4. Enter the required signing key:
255+
1. Go to your **Organization Dashboard**
256+
2. Click the **dropdown chevron** (▼) in the header to expand settings
257+
3. Find the **Mux Video Signing** card
258+
4. Click **"Add Credentials"** (or **"Update Credentials"** if already configured)
259+
5. Enter the required signing key:
245260
- **Mux Signing Key ID** (required)
246261
- **Mux Signing Private Key** (required)
247-
5. Optionally enter token credentials:
248-
- **Mux Token ID** (optional)
249-
- **Mux Token Secret** (optional)
250-
6. Click **Save Credentials**
262+
6. Click **"Save Credentials"**
251263

252264
### Security
253265

@@ -306,11 +318,151 @@ Log into your [Mux Dashboard](https://dashboard.mux.com):
306318
### Learn More
307319

308320
- [Mux Streaming Guide](../video-streaming/mux-streaming) - Complete Mux integration documentation
309-
- [Streaming Overview](../video-streaming/streaming-overview) - Compare all streaming platforms
321+
- [Video Platforms Overview](../video-streaming/platforms-overview) - Compare all platforms
310322
- [Mux Documentation](https://docs.mux.com/) - Official Mux docs
311323

312324
---
313325

326+
## Jitsi (JaaS) Credentials
327+
328+
If you plan to use [Jitsi embedded conferencing](../video-streaming/jitsi-meetings) for interactive video sessions, you'll need to configure your organization's JaaS (Jitsi as a Service) credentials.
329+
330+
### What is Jitsi (JaaS)?
331+
332+
Jitsi as a Service (JaaS) provides:
333+
- **Embedded video conferencing** - Meetings embedded directly in Atria (unlike Zoom)
334+
- **Per-user authentication** - Unique JWT tokens for each attendee
335+
- **Role-based moderator controls** - Admins/Organizers get recording and livestreaming capabilities
336+
- **Bring Your Own Account (BYOA)** - Use your own JaaS account and credentials
337+
338+
:::note When Do You Need This?
339+
You only need JaaS credentials if you plan to use **Jitsi** for embedded conferencing. Vimeo, Mux, Zoom, and Other don't require JaaS credentials.
340+
:::
341+
342+
### Setting Up JaaS Credentials
343+
344+
**Prerequisites:**
345+
- A JaaS account at [jaas.8x8.vc](https://jaas.8x8.vc)
346+
- Organization Owner or Admin role in Atria
347+
348+
**Step 1: Get Your JaaS Credentials**
349+
350+
Log into your [JaaS Dashboard](https://jaas.8x8.vc):
351+
352+
1. **Get your App ID:**
353+
- Found on your JaaS dashboard
354+
- Format: `vpaas-magic-cookie-xxxxxxxxxxxxx`
355+
- This is your JaaS application identifier
356+
357+
2. **Get your API Key ID:**
358+
- Go to **API Keys** section
359+
- Create a new API key or select existing
360+
- Copy the **Key ID** (this is the "kid" for JWT tokens)
361+
362+
3. **Get your Private Key:**
363+
- When creating an API key, download the RSA private key
364+
- This is a PEM-encoded file starting with `-----BEGIN RSA PRIVATE KEY-----`
365+
- Save it securely - you can't retrieve it later!
366+
367+
**Step 2: Add Credentials to Atria**
368+
369+
1. Go to your **Organization Dashboard**
370+
2. Click the **dropdown chevron** (▼) in the header to expand settings
371+
3. Find the **Jitsi Video Conferencing (JaaS)** card
372+
4. Click **"Add Credentials"** (or **"Update Credentials"** if already configured)
373+
5. Enter your credentials:
374+
- **JaaS App ID** (required) - Format: `vpaas-magic-cookie-xxxxx...`
375+
- **JaaS API Key** (required) - Your API Key ID
376+
- **JaaS Private Key (PEM format)** (required) - Paste the complete RSA private key
377+
6. Click **"Save Credentials"**
378+
379+
### Security
380+
381+
**Credential Encryption:**
382+
- All JaaS credentials are encrypted using Fernet encryption before storage
383+
- Encryption uses the `ENCRYPTION_KEY` configured during installation
384+
- Private key is only decrypted when generating JWT tokens
385+
386+
**Access Control:**
387+
- Only organization Owners and Admins can access the credentials section
388+
- **Credentials are NEVER viewable after entry** - they're immediately encrypted
389+
- To update credentials, you must enter new values (can't retrieve old ones)
390+
- Credentials are never exposed to regular members or attendees
391+
- Each organization has separate, isolated credentials
392+
393+
### Managing Credentials
394+
395+
**Updating Credentials:**
396+
- You can update any or all credential fields at any time
397+
- Changes take effect immediately for new token generation
398+
- Existing active sessions will continue working until tokens expire
399+
400+
**Deleting Credentials:**
401+
- Click **Delete Credentials** to remove all JaaS credentials
402+
- This will prevent creating new sessions with Jitsi
403+
- Existing Jitsi sessions may stop working
404+
- To restore access, you must re-enter your JaaS credentials
405+
406+
**Testing Your Setup:**
407+
1. After saving credentials, create a test session
408+
2. Select Jitsi as the streaming platform
409+
3. Enter a room name
410+
4. View the session page - Jitsi meeting should embed
411+
5. Verify moderators get appropriate controls
412+
413+
### Moderator Permissions
414+
415+
JaaS tokens include feature permissions based on Atria event roles:
416+
417+
**Moderators (Admin/Organizer):**
418+
- Recording (costs via JaaS billing)
419+
- Livestreaming to external platforms
420+
- File upload in Jitsi chat
421+
- Full participant management
422+
423+
**Participants (Attendees, Speakers):**
424+
- Standard video/audio participation
425+
- View participant list
426+
- No recording or livestreaming access
427+
428+
### Troubleshooting
429+
430+
**"Invalid token" error:**
431+
- Double-check all credential fields are filled in correctly
432+
- Verify private key includes full PEM content (including headers)
433+
- Ensure API key is active in your JaaS dashboard
434+
- Try regenerating credentials in JaaS and re-entering them
435+
436+
**Meeting not loading:**
437+
- Verify organization has JaaS credentials configured
438+
- Check room name is entered (minimum 3 characters)
439+
- Ensure "Jitsi" is selected as streaming platform
440+
- Check browser console for CSP or loading errors
441+
442+
**No moderator controls:**
443+
- Verify you have Admin or Organizer role in the event
444+
- Refresh page to get new token with current permissions
445+
- Moderator status is determined when token is generated
446+
447+
### JaaS Costs
448+
449+
JaaS has usage-based pricing. Key costs:
450+
- **Video conferencing** - Free tier available
451+
- **Recording** - Approximately $0.01/minute
452+
- **Livestreaming** - Standard streaming costs
453+
454+
Only moderators can initiate recordings, protecting against unexpected costs.
455+
456+
**View pricing:** [jaas.8x8.vc](https://jaas.8x8.vc/#pricing)
457+
458+
### Learn More
459+
460+
- [Jitsi Meetings (JaaS) Guide](../video-streaming/jitsi-meetings) - Complete Jitsi integration documentation
461+
- [Video Platforms Overview](../video-streaming/platforms-overview) - Compare all platforms
462+
- [JaaS Documentation](https://developer.8x8.com/jaas/) - Official JaaS docs
463+
464+
---
465+
314466
## Cross-Organization Events
315467

316468
Atria's multi-tenant architecture provides powerful collaboration features:

0 commit comments

Comments
 (0)