No description
  • Python 56.6%
  • HTML 41.7%
  • Dockerfile 1.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-24 12:50:33 +00:00
static rajout d'un logo 2026-08-24 14:48:48 +02:00
templates rajout d'un logo 2026-08-24 14:48:48 +02:00
videos version presque définitive 2026-08-24 11:11:53 +02:00
.env.example version presque définitive 2026-08-24 11:11:53 +02:00
.gitignore version presque définitive 2026-08-24 11:11:53 +02:00
app.py gestion de dossiers 2026-08-24 14:06:37 +02:00
compose.yml version presque définitive 2026-08-24 11:11:53 +02:00
Dockerfile version presque définitive 2026-08-24 11:11:53 +02:00
LICENSE Initial commit 2026-08-24 07:48:28 +00:00
README.md Actualiser README.md 2026-08-24 12:50:33 +00:00
requirements.txt version presque définitive 2026-08-24 11:11:53 +02:00
TODO.md rajout d'un logo 2026-08-24 14:48:48 +02:00

Slide & Seek

A simple interface for uploading videos and generating direct links, meant to be embedded in a presentation (click an image → open the link → play the video).

How it works

  • The admin interface (/) is protected by HTTP Basic authentication: upload and delete videos.
  • Each video is stored in /v/ under a random name (32 hexadecimal characters), with no possible collision.
  • Each video is publicly accessible, without authentication, via https://domain.fr/v/filename.mp4.

Project structure

SlideNSeek/
├── app.py                # Flask application
├── templates/index.html  # Admin interface
├── requirements.txt
├── Dockerfile
├── docker-compose.yml
├── .env.example
└── videos/               # Volume mounted to /v/ inside the container

Environment variables

Variable Description
AUTH_USER Login username for the admin interface
AUTH_PASSWORD Login password for the admin interface
SECRET_KEY Flask secret key (generate with openssl rand -hex 32)

Copy .env.example to .env and fill in real values before any deployment:

cp .env.example .env

Local testing

cd SlideNSeek
docker compose up -d --build

Interface: http://localhost:8080 Credentials: those set in .env.

Stop:

docker compose down

Without Docker

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
export AUTH_USER=admin
export AUTH_PASSWORD=changeme
export SECRET_KEY=test
python app.py

The /v/ directory must be writable, or adjust VIDEO_DIR in app.py to a local folder for this test mode.