Skip to content

feat: switched to poetry #103

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 5 commits into from
Closed

feat: switched to poetry #103

wants to merge 5 commits into from

Conversation

chkpwd
Copy link
Contributor

@chkpwd chkpwd commented Apr 24, 2025

I made some changes to the Python packages and Dockerfile.

Most notably —

 Base Image & Structure
    Updated base image from python:3.9-slim to python:3.13-slim-bookworm
    Introduced multi-stage build: base and runtime

Dependency Management
    Replaced pip + requirements.txt with Poetry and pyproject.toml
    Enabled in-project virtualenv (.venv)
    Installed only main dependencies (--only=main)

User & Permissions
    Switched from root to non-root user python (UID 1000)
    Set proper ownership of /config

File Copying
    Switched from COPY . /app/ to targeted copies (src/, frontend/, individual files)
    Reduced unnecessary context in image

Execution
    Replaced CMD with ENTRYPOINT, using .venv/bin/python3 for isolated execution

@chkpwd chkpwd closed this Apr 24, 2025
@Admin9705
Copy link
Contributor

@chkpwd i was having issues and this in the logs

File "/app/src/primary/utils/logger.py", line 107, in setup_logger
file_handler = logging.FileHandler(log_file)
File "/usr/local/lib/python3.13/logging/init.py", line 1218, in init
StreamHandler.init(self, self._open())
~~~~~~~~~~^^
File "/usr/local/lib/python3.13/logging/init.py", line 1247, in _open
return open_func(self.baseFilename, self.mode,
encoding=self.encoding, errors=self.errors)
PermissionError: [Errno 13] Permission denied: '/config/logs/huntarr.log'
2025-04-24 15:51:18 - HuntarrRoot - INFO - --- Huntarr Main Process Starting ---
2025-04-24 15:51:18 - HuntarrRoot - INFO - Python sys.path: ['/app/src', '/app', '/app', '/usr/local/lib/python313.zip', '/usr/local/lib/python3.13', '/usr/local/lib/python3.13/lib-dynload', '/app/.venv/lib/python3.13/site-packages']
2025-04-24 15:51:18 - HuntarrRoot - CRITICAL - Fatal Error: An unexpected error occurred during initial imports: [Errno 13] Permission denied: '/config/logs/huntarr.log'
Traceback (most recent call last):
File "/app/./main.py", line 27, in
from primary.web_server import app
File "/app/src/primary/web_server.py", line 11, in
from primary.utils.logger import LOG_DIR, APP_LOG_FILES, MAIN_LOG_FILE # Import log constants
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/src/primary/utils/init.py", line 5, in
from src.primary.utils.logger import logger, debug_log
File "/app/src/primary/utils/init.py", line 5, in
from src.primary.utils.logger import logger, debug_log
File "/app/src/primary/utils/logger.py", line 137, in
logger = setup_logger()
File "/app/src/primary/utils/logger.py", line 107, in setup_logger
file_handler = logging.FileHandler(log_file)
File "/usr/local/lib/python3.13/logging/init.py", line 1218, in init
StreamHandler.init(self, self._open())
~~~~~~~~~~^^
File "/usr/local/lib/python3.13/logging/init.py", line 1247, in _open
return open_func(self.baseFilename, self.mode,
encoding=self.encoding, errors=self.errors)
PermissionError: [Errno 13] Permission denied: '/config/logs/huntarr.log'
2025-04-24 15:51:18 - HuntarrRoot - INFO - --- Huntarr Main Process Starting ---
2025-04-24 15:51:18 - HuntarrRoot - INFO - Python sys.path: ['/app/src', '/app', '/app', '/usr/local/lib/python313.zip', '/usr/local/lib/python3.13', '/usr/local/lib/python3.13/lib-dynload', '/app/.venv/lib/python3.13/site-packages']
2025-04-24 15:51:18 - HuntarrRoot - CRITICAL - Fatal Error: An unexpected error occurred during initial imports: [Errno 13] Permission denied: '/config/logs/huntarr.log'
Traceback (most recent call last):
File "/app/./main.py", line 27, in
from primary.web_server import app
File "/app/src/primary/web_server.py", line 11, in
from primary.utils.logger import LOG_DIR, APP_LOG_FILES, MAIN_LOG_FILE # Import log constants
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/src/primary/utils/init.py", line 5, in
from src.primary.utils.logger import logger, debug_log
File "/app/src/primary/utils/init.py", line 5, in
from src.primary.utils.logger import logger, debug_log
File "/app/src/primary/utils/logger.py", line 137, in
logger = setup_logger()
File "/app/src/primary/utils/logger.py", line 107, in setup_logger
file_handler = logging.FileHandler(log_file)
File "/usr/local/lib/python3.13/logging/init.py", line 1218, in init
StreamHandler.init(self, self._open())
~~~~~~~~~~^^
File "/usr/local/lib/python3.13/logging/init.py", line 1247, in _open
return open_func(self.baseFilename, self.mode,
encoding=self.encoding, errors=self.errors)
PermissionError: [Errno 13] Permission denied: '/config/logs/huntarr.log'
2025-04-24 15:51:19 - HuntarrRoot - INFO - --- Huntarr Main Process Starting ---
2025-04-24 15:51:19 - HuntarrRoot - INFO - Python sys.path: ['/app/src', '/app', '/app', '/usr/local/lib/python313.zip', '/usr/local/lib/python3.13', '/usr/local/lib/python3.13/lib-dynload', '/app/.venv/lib/python3.13/site-packages']
2025-04-24 15:51:19 - HuntarrRoot - CRITICAL - Fatal Error: An unexpected error occurred during initial imports: [Errno 13] Permission denied: '/config/logs/huntarr.log'
Traceback (most recent call last):
File "/app/./main.py", line 27, in
from primary.web_server import app
File "/app/src/primary/web_server.py", line 11, in
from primary.utils.logger import LOG_DIR, APP_LOG_FILES, MAIN_LOG_FILE # Import log constants
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/src/primary/utils/init.py", line 5, in
from src.primary.utils.logger import logger, debug_log
File "/app/src/primary/utils/init.py", line 5, in
from src.primary.utils.logger import logger, debug_log
File "/app/src/primary/utils/logger.py", line 137, in
logger = setup_logger()
File "/app/src/primary/utils/logger.py", line 107, in setup_logger
file_handler = logging.FileHandler(log_file)
File "/usr/local/lib/python3.13/logging/init.py", line 1218, in init
StreamHandler.init(self, self._open())
~~~~~~~~~~^^
File "/usr/local/lib/python3.13/logging/init.py", line 1247, in _open
return open_func(self.baseFilename, self.mode,
encoding=self.encoding, errors=self.errors)
PermissionError: [Errno 13] Permission denied: '/config/logs/huntarr.log'

this is from me deploying these commands to test

home@jbook Huntarr-Sonarr-1 % docker stop huntarr
cd /Users/home/Huntarr-Sonarr-1 && sudo docker-compose down
cd /Users/home/Huntarr-Sonarr-1 && COMPOSE_BAKE=true sudo docker-compose up -d --build

@Admin9705 Admin9705 reopened this Apr 24, 2025
@Admin9705
Copy link
Contributor

i'm creating a dev branch for testing

@Admin9705
Copy link
Contributor

Admin9705 commented Apr 27, 2025

I'm going to be releasing version 5.4 and then test this (multi-edition) because there are alot of changes.

@chkpwd chkpwd closed this Apr 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants