A managed video sharing platform inspired by VideoHub. A back and front architecture video content management system with FFmpeg and SQLite.
All third party files are available offline except for FFmpeg, zlib and libpng submodules.
For development purpose, files can be compiled with clang LLVM version 21.
Install vcpkg.
Install development requirements:
sudo apt install cmake clang-21 yasm ninja-buildThen build (zlib, libpng, ffmpeg and servers):
cmake --preset vcpkg
cmake --build --preset vcpkg-release --parallelThis will generates server binaries in build/vcpkg/front/Release/front and build/vcpkg/back/Release/back. Build with vcpkg-debug preset to make debug binaries.
Servers can be run using VS Code and CMake extension or with both commands just start-front and just start-back.
To build docker images, install a release build in dist:
cmake --preset vcpkg -DCMAKE_INSTALL_PREFIX=dist
cmake --build --preset vcpkg-release --parallel --target installThen build images:
docker build -f docker/front.containerfile -t simple-video-cms:front-latest dist
docker build -f docker/back.containerfile -t simple-video-cms:back-latest distTo personalize front and backends, there is few environment variables to know:
- Super administrator (cannot be deleted):
- SUPER_ADMIN_USERNAME (default admin)
- Server addresses:
- BACK_HOST (default 0.0.0.0)
- BACK_PORT (default 5000)
- FRONT_HOST (default 0.0.0.0)
- FRONT_PORT (default 8080)
- BACK_SERVER_URL (default localhost:5000)
- Name of your hosted website:
- WEBSITE_NAME (default Simple Video CMS)
- Browser icon:
- ICON_PATH (default /static/img/icon.svg), mount a volume with your custom icon and set this variable to the path








