https://github.com/312-dev/scrolly
Private video-sharing PWA for friend groups. SvelteKit + SQLite + Twilio.
https://github.com/312-dev/scrolly
docker drizzle pwa self-hosted sqlite svelte sveltekit twilio typescript video-sharing web-push
Last synced: 16 days ago
JSON representation
Private video-sharing PWA for friend groups. SvelteKit + SQLite + Twilio.
- Host: GitHub
- URL: https://github.com/312-dev/scrolly
- Owner: 312-dev
- License: mit
- Created: 2026-02-28T05:57:39.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-05-08T06:01:43.000Z (about 2 months ago)
- Last Synced: 2026-05-08T06:37:39.100Z (about 2 months ago)
- Topics: docker, drizzle, pwa, self-hosted, sqlite, svelte, sveltekit, twilio, typescript, video-sharing, web-push
- Language: TypeScript
- Homepage: https://312-dev.github.io/scrolly/
- Size: 1.96 MB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Notice: NOTICE
Awesome Lists containing this project
README
Scrolly
Private video-sharing PWA for friend groups.
---
Share video clips and music links with your close friends. TikTok-style vertical feed, invite-only group, installable PWA.
## Features
- Full-screen vertical reel with swipe navigation and playback speed control
- Share videos and music via paste, Android share sheet, or iOS Shortcuts
- Cross-platform music link resolution (Spotify, Apple Music, YouTube Music)
- Threaded comments, emoji reactions, GIF search, and view tracking
- Push notifications and in-app activity feed
- Host controls: members, retention, storage limits, platform filtering, download providers
- Dark/light/system themes, profile avatars, favorites
- Phone verification via Twilio, pluggable video download providers
> **Note:** Scrolly does not bundle any download tools. The host must explicitly install a provider from Settings. See [DISCLAIMER.md](DISCLAIMER.md).
## Quick Start
**Prerequisites:** Node.js 24+
```bash
git clone https://github.com/312-dev/scrolly.git
cd scrolly
npm install
cp .env.example .env # edit with your values
npm run dev
```
## Docker
```bash
curl -LO https://raw.githubusercontent.com/312-dev/scrolly/main/docker-compose.yml
curl -LO https://raw.githubusercontent.com/312-dev/scrolly/main/.env.example
cp .env.example .env && nano .env
docker compose up -d
```
Migrations run automatically on startup. Upgrade with `docker compose pull && docker compose up -d`.
## Docs
**[312-dev.github.io/scrolly](https://312-dev.github.io/scrolly/)** — deployment, configuration, and API reference.
## Scripts
| Command | Description |
|---------|-------------|
| `npm run dev` | Dev server |
| `npm run build` | Production build |
| `npm run lint` | ESLint |
| `npm run format` | Prettier |
| `npm run type-check` | TypeScript check |
| `npm run test` | Unit tests |
| `npm run test:coverage` | Tests with coverage |
## Links
- [Contributing](CONTRIBUTING.md) — development setup and PR guidelines
- [Security](SECURITY.md) — vulnerability reporting
- [Disclaimer](DISCLAIMER.md) — content and liability
- [License](LICENSE) — MIT