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.
- Set the required environment variables, as described below.
- Run
docker-compose up --build -d
to start all the components. - If necessary, run
scripts/create-user.sh
to create your first admin user.
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.
GOOGLE_MAPS_API_KEY
: A Google Maps API key used to show a map on the timelineTIMELINE_DATA_PATH
: Path to the files that appear on the timeline
MOVIE_LIBRARY_PATH
: Path to the movie library on your filesystem. Movies, subtitles and covers are stored there.BACKEND_SECRET_KEY
: A unique, random, secret string used by Django. Explanation.BACKEND_DEBUG
(optional): Set to1
to enable Django backend debugging. Error pages will have meaningful error messages. Not safe for production.- OpenVPN configuration for the Transmission/OpenVPN image:
OPENVPN_PROVIDER
: See documentation forhaugene/transmission-openvpn
. Use 'PIA' for Private Internet Access.OPENVPN_USERNAME
OPENVPN_PASSWORD
GPS_LOGGER_USERNAME
andGPS_LOGGER_PASSWORD
: Credentials for the MQTT server that listens to messages from Owntracks on port 1883.GPS_LOGS_PATH
: Where the GPS logs are stored on the host filesystem. Ideally, it should be somewhere underTIMELINE_DATA_PATH
, so that the logs are included on the timeline.
SEARCH_LOGS_PATH
: Where the search logs are stored on the host filesystem. Ideally, it should be somewhere underTIMELINE_DATA_PATH
, so that the logs are included on the timeline.
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.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