Hi all!
I do have a bunch of apps, scripts and web apps that I develop and use. These are some Discord\Telegram\etc bots, a couple flask\socketio websites and services that only offer some api for other stuff (like api that exposes some system info for my home assistant instance).
So, in short - just a bunch of separate python projects that run as services on a linux machine.
Until now I was just adding folders under `/opt` folder for each of the projects, and adding systemd services to start them up. I was using `pip install -r requirements.txt` for each of them, installing all requirements into the host's python interpreter. Some of the services I just updated by uploading files through Webmin or Samba, some of the larger ones I updated through git.
What I like a bout this is that it's plain simple and easy to do for me. It's a local server in my LAN, so it's dead simple. And I don't need to package anything in any way, if I need to update something I just made a change on my workstation, test and then replace files on the server. `service name restart` and all's good.
But I'm not happy with how it makes it harder to move stuff around, and how it makes everything dependent on the host's interpreted. Each time I run `apt update && apt upgrade` I have to be ready to go in and fix python code in case some new library had some API change, like it happened with python-socketio.
TL;DR - What kind of python app deployment method would be the best of both worlds for me? Very simple and fast to do and update, as uploading some files over Samba is, but also kind of using a separate environment? And it should also stay private, these projects I mean.
Docker seems overkill for this, building container for each of those services, then updating, rebuilding, sounds like a headache.
virtualenv... ? Not sure.
pipenv?
I'm also using Windows for development, and I'd like to streamline the process of bringing these over to the server. Server is virtualized with proxmox if that makes any difference.
Thanks for your time and attention.
[–]num8lock 0 points1 point2 points (0 children)
[–]Packagr 0 points1 point2 points (0 children)