Home server backend and frontend. It's a sort of personal Netflix. For more info, read the full introduction.
The backend is built with Django and the frontend with Vue.js. It runs inside Docker.
- Put your SSL certificates in
proxy/ssl-certs
. These are expected:server.key
, the key used to generate your SSL certificatecert-chain.crt
, created by runningcat server.crt server.ca-bundle >> cert-chain.crt
- Run
scripts/setup.sh
to setup the project. It will ask a few questions and create a config file for you. - Run
docker-compose up --build -d
to start all the components. - If necessary, run
scripts/create-user.sh
to create your first user.
Put these environment variables in a .env
file. These environment variables are used by the project.
BACKEND_SECRET_KEY
: A unique, random, secret string used by Django. ExplanationDEFAULT_VIDEO_HEIGHT
: The default height for converted videos, in pixels. Defaults to 720.DIGITALOCEAN_TOKEN
: API token used to update dynamic DNS. Explanation.MAX_VIDEO_BITRATE
: The maximum video bitrate allowed, in bits per second. Defaults to 2000000.TRANSMISSION_DATA_PATH
: Path to Transmission's data folder on your local filesystem. Incomplete torrents and Transmission settings are stored there.MOVIE_LIBRARY_PATH
: Path to the movie library. Movies, subtitles and covers are stored there.AUTH_COOKIE_DOMAIN
(optional): The domain used for authentication cookies. Defaults to the current domain.BACKEND_DEBUG
(optional): Set to1
to enable Django backend debugging. Error pages will have meaningful error messages. Not safe for production.COMPOSE_PROJECT_NAME
(optional): The prefix for this project's docker networks, images, volumes etc. Explanation.- OpenVPN configuration for the Transmission/OpenVPN image:
OPENVPN_PROVIDER
: See documentation forhaugene/transmission-openvpn
OPENVPN_USERNAME
OPENVPN_PASSWORD