https://github.com/avivharuzi/private-video-server
A very simple private video server
https://github.com/avivharuzi/private-video-server
angular ffmpeg nodejs typescript video
Last synced: 2 months ago
JSON representation
A very simple private video server
- Host: GitHub
- URL: https://github.com/avivharuzi/private-video-server
- Owner: avivharuzi
- Created: 2022-04-09T12:09:31.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-10-18T16:39:44.000Z (over 2 years ago)
- Last Synced: 2025-01-15T15:02:23.833Z (over 1 year ago)
- Topics: angular, ffmpeg, nodejs, typescript, video
- Language: TypeScript
- Homepage:
- Size: 1.83 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.config.js
- License: LICENSE
Awesome Lists containing this project
README
# Private Video Server
A very simple private video server.
> ⚠️ This project is open source but made for self usage if you like this project feel free to star and fork this repository.
>
> ⚠️ Any problem with this project or security issues is your responsibility to handle them.
>
> ⚠️ No issues or pull requests will be accepted.
## Table of Contents
- [Overview](#overview)
- [Tech](#tech)
- [Prerequisites](#prerequisites)
- [Configure Environment File](#configure-environment-file)
- [Commands](#commands)
## Overview
The idea of this project is to make a collection of simple videos and to watch them easily (currently only `mp4` files are supported).
The main usage of this project to make it as a server and to access it outside.
The main security is that always is there one admin user that can access to the server resources which configured in the `.env` file.
## Tech
- Nx Workspace
- TypeScript
- Angular
- NodeJS
- NestJS
- SQLite
- FFMPEG
## Prerequisites
- Linux OS (not tested on Windows yet)
- [Node.js](https://nodejs.org) (>= 16 required)
- npm package manager (>= 8 required)
- [ffmpeg](https://ffmpeg.org)
## Configure Environment File
Before developing or running any commands you should configure environment file to make everything work as expected.
1. Copy `.env.example` content and create new file `.env` and paste the content there.
2. Update the values after `=` for your right needs
3. Please notice `API_MEDIA_DIRECTORY` should be with absolute path
## Commands
Run locally api and web applications.
- api: `localhost:8080`
- web: `localhost:4200`
```shell
npm run start:local
```
Build with production configuration for api and web applications.
```shell
npm run build:prod-server
```
Serve production build.
Will run on `localhost:8080`
```shell
npm run serve:prod-server
```
Stop serving production build.
```shell
npm run stop:prod-server
```
Build and serve production build in the same command.
```shell
npm run build-and-serve:prod-server
```
Clean resources (deletes cache files, media files, and database).
```shell
npm run clean-resources
```
# License
[MIT](LICENSE)