I have a Django application that serves media (in the vein of Plex or Kodi) that I want to make easy to distribute for others to use. It requires three services:
- Web server (WSGI)
- Database (MySQL)
- Task Queue (Celery)
Essentially I'm looking to make a one-click application that installs these services, and let's the user host their own version of this application on Windows, Mac and Linux.
My background is web, so I'm fairly new to the software distribution game. I've learned that you can package Django applications somewhat using cx_Freeze, or pyInstaller, but it's been quite a hassle getting this to work, and documentation is sparse and/or lacking. Also Django does some fancy magic that doesn't always package well.
I've also thought of using Docker, but I don't want to complicate installation for users that aren't as technically inclined. It would be great if I could "shadow" Docker's installation and a user could install it and my projects containers via a Windows installer.
What are some options?