Имеется приложение - пусть будет простой эхо бот для телеги.
закинул на сервер в виртуальное окружение. Запускаю из консоли - всё прекрасно работает. Настраиваю systemd - не запускается.
Копался в логах и нашел, что не запускается потому что не находит файл сертификата для вебхук. Все файлы лежат рядом.
Провел эксперименты, в итоге:
1) если перейти в папку со скриптом и запустить сначала виртуальное окружение, а потом "python app.py" - работает
2) если перейти в папку со скриптом и запустить командой "bin/python app.py" - работает
3) если перейти в папку выше и запустить командой "bot/bin/python bot/app.py" - не запускается, не находит прописанный в скрипте файл сертификата.
Вот ровно тоже самое происходит и через systemd. команда запуска:
ExecStart=/home/me/venvs/bot/bin/python /home/me/venvs/bot/app.py
я понял что запускается из другой папки скрипт - поэтому и файл найти не может.
пробовал указывать в скрипте файл серта как "crt.pem" и как "os.path.abspath('cert.prm')" - всё равно не хочет запускаться.
Собственно вопрос - как работать с файлами, если запуск происходит непойми откуда?