A camera streaming server that converts and relays video and audio between dozens of camera, RTSP, WebRTC, HLS, and HomeKit formats.
orthdron/subatic
A self-hosted video sharing platform that stores uploads in S3-compatible storage and streams transcoded video via HLS.
Open-source alternative to:YouTube
- Stars
- 162
- Forks
- 11
- Open issues
- 1
- Last commit
- yesterday
What is it?
Subatic is a simple video sharing site you run yourself. Uploaded videos go to an S3-compatible bucket, a separate transcoder processes them, and the finished files are served from a public bucket or domain for playback.
The stack includes a Subatic web app backed by PostgreSQL, a Subatic Transcoder service, and optionally MinIO for local object storage. A docker-compose file starts all of these together with health checks and service dependencies. Storage can be AWS S3, MinIO, or Cloudflare R2, and SQS can be connected to trigger processing from bucket notifications.
The app also supports optional visitor analytics through Umami, Plausible, or Google Analytics, each enabled by environment variables. Upload size limits are set in megabytes.
Key features
- 01Uploads are stored in S3-compatible buckets such as AWS S3, MinIO, or Cloudflare R2.
- 02A separate transcoder processes uploaded videos for HLS playback.
- 03Docker Compose deploys the app, transcoder, PostgreSQL, and MinIO together.
- 04Optional SQS integration triggers processing from S3 bucket notifications.
- 05Umami, Plausible, and Google Analytics can be enabled through environment variables.
Use cases
- Hosting a private or community video library on your own server.
- Reducing streaming costs by serving video directly from object storage and a CDN.
- Running a small video sharing site that can be deployed with Docker Compose.
Quick start
- 1
Create a .env file from .env.example next to docker-compose.yml
- 2
Add the required environment variables to the .env file
- 3
Start the services with Docker Compose
docker-compose up -d
Things to know
- Needs S3-compatible storage, a PostgreSQL database, and a separate transcoding pipeline, so self-hosting takes real setup effort.
- Detailed documentation is not yet available, and the README says it is coming soon.
- Licensed under GPL-3.0, a copyleft license that requires derivative works to be open-sourced under the same terms.
In collections
Topics
FAQ
- What is subatic?
- A self-hosted video sharing platform that stores uploads in S3-compatible storage and streams transcoded video via HLS. Subatic is a simple video sharing site you run yourself. Uploaded videos go to an S3-compatible bucket, a separate transcoder processes them, and the finished files are served from a public bucket or domain for playback.
- Is subatic free to use? What license does it have?
- subatic is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is subatic still maintained?
- Actively maintained. The last commit to subatic was on Nov 6, 2026.
- What can I use subatic for?
- Hosting a private or community video library on your own server. Reducing streaming costs by serving video directly from object storage and a CDN. Running a small video sharing site that can be deployed with Docker Compose.
- How do I install subatic?
- Create a .env file from .env.example next to docker-compose.yml Add the required environment variables to the .env file Start the services with Docker Compose: docker-compose up -d
- Where can I get subatic?
- The source code and installation instructions are on GitHub: https://github.com/orthdron/subatic
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted music server focused on metadata integration, music collections and a browsing-oriented web and mobile UI.
A self-hosted media server that organizes your local video files into a Netflix-style library with a web player.
SRS is a high-performance real-time media server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181 streaming.
A zero-dependency live media server and proxy that publishes, reads, converts, records and plays back streams over RTSP, RTMP, WebRTC, SRT, HLS and more.
A C++11 streaming media server and client framework that converts between RTSP, RTMP, HLS, HTTP-FLV, WebRTC, GB28181 and other live video protocols.