Skip to content

YanaDevOps/owly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Owly logo

Owly

Focused WebRTC communication for clear calls, quick room joins, and modern collaboration.

Shared screens, chat, reactions, mobile-first layouts, and a clean interface built for real conversations.

Preview   ·   Highlights   ·   Quick Start   ·   Development

Preview

Owly landing screen

Owly room interface

Highlights

  • WebRTC video rooms with participant-first layouts
  • Shared screen focus and browser fullscreen support
  • Mobile-first conference behavior with draggable selfie preview
  • Per-user volume controls and participant presence indicators
  • Built-in chat, reactions, and invite sharing
  • Optional camera filters and background effects
  • Go backend with static frontend, easy to build and deploy

Quick Start

git clone <your-repository-url>
cd owly
CGO_ENABLED=0 go build -ldflags='-s -w'
mkdir groups
echo '{"users":{"owner":{"password":"change-me","permissions":"op"}}}' > groups/public.json
./owly

Open:

https://localhost:8443/group/public/

Then sign in with:

  • username: owner
  • password: change-me

What You Get

Communication

  • Direct video calls with adaptive conference layouts
  • Shared screen focus mode
  • Per-user audio controls
  • Chat, emoji, and reactions

Admin and Operations

  • Group-based access control
  • Invite links
  • Built-in TURN support
  • Automated frontend, backend, security, and smoke checks

UX Details

  • Compact mobile layout
  • Draggable and collapsible selfie preview
  • Focus mode for participant tiles
  • Best-effort audio output switching where the browser supports it

Development

Core commands

npm run lint
npm run test
npm run test:security
npm run test:smoke

Windows build

.\build.cmd build

Optional media assets

.\build.cmd blur

Helm

An example Helm chart is included in charts/owly.

Install it with:

helm upgrade --install owly ./charts/owly \
  --set image.repository=ghcr.io/yanadevops/owly \
  --set image.tag=latest

By default the chart:

  • exposes Owly on port 8443
  • creates persistent volumes for data and recordings
  • enables livenessProbe and readinessProbe against GET /api/health
  • ships a sample public group through a ConfigMap

Override values.yaml to plug in your own image, ingress, storage class, and group configuration.

The built-in health endpoint is unauthenticated:

GET /api/health
HEAD /api/health

It returns 200 OK with {"status":"ok"} for GET. The Helm chart defaults probe scheme to HTTP because the sample chart runs with OWLY_INSECURE=true; if you terminate TLS inside the pod, set probes.liveness.scheme and probes.readiness.scheme to HTTPS.

Project Structure

  • static/ - frontend assets
  • charts/owly/ - example Helm chart for Kubernetes deployment
  • group/ - room and permission logic
  • rtpconn/ - WebRTC client and stream handling
  • webserver/ - HTTP and static delivery
  • turnserver/ - TURN integration
  • scripts/ - local validation helpers
  • test/ - frontend and browser smoke coverage

Support

Maintainer

YanaDevOps

Sponsor

https://paypal.me/YanixLys666

Donate

Donate with PayPal button

License

MIT. See LICENCE.

About

Lightweight WebRTC communication platform focused on fast room joins, clear video calls, adaptive mobile layouts, and practical collaboration tools.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors