Skip to content

Repository files navigation

Simple Video CMS

A managed video sharing platform inspired by VideoHub. A preact web application video content management system and cpp-httplib, FFmpeg, SQLite backend c++26 server.

Latest Release pipeline status

Local

For development purpose, files can be compiled with clang LLVM version 22.

Install vcpkg.

Install development requirements:

sudo apt install npm cmake clang-22 yasm ninja-build

And Node.js dependencies:

npm install

Then build (zlib, libpng, ffmpeg and back server):

cmake --preset vcpkg
cmake --build --preset vcpkg-release --parallel

This will generates server binary in build/vcpkg/Release/back. Build with vcpkg-debug preset to make debug binaries.

Server can be run using VS Code and CMake extension or with commands just start-dev or just start-prod.

Note

Configure CMake with -DNO_SECURE=ON to define NO_SECURE cookie in Release mode. This allow to test the production bundle in local environment (like with a phone).

Container

To build container images, install a release build in dist:

cmake --preset vcpkg -DCMAKE_INSTALL_PREFIX=dist
cmake --build --preset vcpkg-release --parallel --target install

Then build images:

docker build -f container/Containerfile -t simple-video-cms:latest dist

Environment

To personalize front and backend, there is few environment variables to know:

  • Super administrator (cannot be deleted):
    • SUPER_ADMIN_USERNAME (default admin)
  • Back server address:
    • BACK_HOST (default 0.0.0.0)
    • BACK_PORT (default 8080)
  • Name of your hosted website:
    • WEBSITE_NAME (default Simple Video CMS)
    • SHORT_WEBSITE_NAME (default Video CMS)

Screenshots

TODO

Third Parties

All third party files are available offline.

C++

cpp-httplib

nlohmann/json

sqlite3

sqlite_orm

FFmpeg

zlib

libpng

OpenSSL

Catch2

Javascript and CSS

@preact/signals

preact

preact-iso

htm

Fuse.js

bootstrap-icons

Video.js

videojs-mobile-ui

videojs-yt-style

SVG-Spinners

About

This is a mirror of https://gitlab.devau.co/theo/simple-video-cms. A preact web application video content management system and cpp-httplib, FFmpeg, SQLite backend server.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages