A simple web app that scans a local directory for .mp4
files and lets you browse & play them in a web browser.
Example screenshot:
A live demo is available at https://amony.nl. It is running on single GCE e2-micro
instance.
Note: All videos on the demo site are free and sourced from Pexels)
The image is hosted on a public GC repository.
docker pull europe-west4-docker.pkg.dev/amony-04c85b/docker-images/amony/app:latest
docker run -v /path/to/my/videos:/usr/local/amony/videos -p 8080:8080 --name amony europe-west4-docker.pkg.dev/amony-04c85b/docker-images/amony/app:latest
The webapp now runs at http://localhost:8080
Notes:
- It takes some time to index the videos. Check progress with
docker logs amony
- Requires write access in the chosen directory, a
.amony
directory will be created with the index data, thumbnails and 3 seconds preview videos.
In dev mode the .mp4
files are expected to in a directory named videos
inside the git repository. Move them there or create a symbolic link.
cd server
sbt
Inside the sbt console run the command ~reStart
After compiling the server will be running on port 8080
. It will start scanning the videos
directory and log its progress.
cd web-client
npm install --save
npm start
After compiling the web-client will be running on port 3000
. It will proxy all api requests to the server on port 8080
.
Set location to localhost:3000
cd web-client
npm install --save
npm run build
cd server
sbt assembly
docker build -t my-amony-app:latest .
The first time this can take a bit longer since it downloads & installs all dependencies for ffmpeg
.
docker run -v /path/to/my/videos:/usr/local/amony/videos -p 8080:8080 my-amony-app:latest