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 -dto start all the components. - If necessary, run
scripts/create-user.shto 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 to1to 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_USERNAMEOPENVPN_PASSWORD
CLOUD_FILES_PATH: Files under this path will be browsable and downloadable athttps://.../files. This endpoint is password-protected.
A GPS logger is replying to pings at https://.../api/gps/. It expects pings from the OwnTracks app, via HTTP.
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 in 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
