media-server
This project is a simple media server implementation that allows you to upload and share files. This project was made in Kotlin and HTML, it is nowhere near complete and is not intended to be used in any production or for any public application, this project was made to learn and share.
Features:
- Independant (no need for nginx etc...)
- Out of the box functionallity.
- Authentication for uploading
- Username and password hashing (extra security)
- File persistance on disk
How to run:
- Change variables in the code to your specifications, (username, password, hash method, etc...)
- Build jar.
- Upload jar to server or intended destination.
- Run jar.
Usage:
- /upload - Main page where you can upload files. (Requires login)
- /uploads/{id} - Pages where uploaded media can be accessed.
- /list - Page where all uploads can be listed. (Requires login)
Docker
Get from repo:
- Run
docker pull orf1/media-server
- Run
docker run -p 80:80 -t orf1/media-server
Build from src:
- Download repository.
- Run
./gradlew installDist
- Build docker image with
docker build -t orf1/media-server
- Deploy docker image with
docker run -p 80:80 orf1/media-server
You can also pass in enviroment variables for the username and password hashes. MEDIA_SERVER_PASSWORD_HASH
MEDIA_SERVER_USERNAME_HASH
Images
This project is licensed under the MIT License.