homeserver
homeserver copied to clipboard
Backend and frontend for my home server
Home server
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.

Setup
- Set the required environment variables, as described below.
- Run
docker-compose up --build -dto start all the components. - If necessary, run
scripts/create-user.shto create your first admin user.
Environment variables
Put these environment variables in a .env file at the root of the project (next to this README file). These environment variables are used by the project.
You can use the .env.example file as a template.
BACKEND_SECRET_KEY: A unique, random, secret string used by Django. Explanation.DEFAULT_VIDEO_HEIGHT: The default height for converted videos, in pixels. Defaults to 720.DIGITALOCEAN_TOKEN(optional): DigitalOcean API token. Used for dynamic DNS. Here's how you get that token. If you leave it empty, dynamic DNS will stay disabled.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 filesystem. Incomplete torrents and Transmission settings are stored there.MOVIE_LIBRARY_PATH: Path to the movie library on your filesystem. Movies, subtitles and covers are stored there.AUTH_COOKIE_DOMAIN(optional): The domain used for authentication cookies. Defaults to the current hostname.BACKEND_DEBUG(optional): Set to1to 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.SSL_DOMAIN: Domain for which to generate an SSL certificate. If set tolocalhost, a self-signed certificate will be generated.SSL_EMAIL: Email used for SSL certificate notifications- OpenVPN configuration for the Transmission/OpenVPN image:
OPENVPN_PROVIDER: See documentation forhaugene/transmission-openvpn. Use 'PIA' for Private Internet Access.OPENVPN_USERNAMEOPENVPN_PASSWORD