diff --git a/.dockerignore b/.dockerignore index 5bb9806..892ad99 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,65 +1,24 @@ -# Version control -.git -.gitignore -.gitattributes +# Ignore everything by default +* -# Python -__pycache__/ -*.py[cod] -*$py.class -*.so -.Python -venv/ -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# IDE -.idea/ -.vscode/ -*.swp -*.swo -.project -.pydevproject -.settings/ -*.sublime-workspace -*.sublime-project - -# Test -.pytest_cache/ -.coverage -htmlcov/ -.tox/ -.nox/ -coverage.xml -*.cover -*.py,cover -.hypothesis/ - -# Project specific -rules_backup/ -.env - -# Keep these files -!src/ +# Explicitly allow required files !src/simpleguardhome/ +!src/simpleguardhome/** !requirements.txt !setup.py !pyproject.toml !MANIFEST.in !LICENSE -!README.md \ No newline at end of file +!README.md +!docker-entrypoint.sh + +# Still exclude these even if in allowed directories +**/__pycache__ +**/*.pyc +**/*.pyo +**/*.pyd +**/.Python +**/*.so +**/*.egg +**/*.egg-info +**/*.egg-info/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 751dcaa..eccdb74 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,20 +39,21 @@ WORKDIR /app COPY --from=builder /usr/local/lib/python3.11/site-packages/ /usr/local/lib/python3.11/site-packages/ COPY --from=builder /usr/local/bin/ /usr/local/bin/ -# Debug: Show current state +# Debug: Show initial state RUN echo "Initial directory structure:" && \ tree /app || true -# Copy project files -COPY . /app/ +# First copy the package source directory +COPY src/ /app/src/ -# Debug: Show copied files -RUN echo "After copying project files:" && \ +# Copy project files +COPY pyproject.toml setup.py MANIFEST.in README.md LICENSE docker-entrypoint.sh ./ + +# Debug: Verify directory structure +RUN echo "After copying files:" && \ tree /app && \ - echo "Listing src directory:" && \ - ls -la /app/src && \ - echo "Listing package directory:" && \ - ls -la /app/src/simpleguardhome + echo "Verifying package directory:" && \ + ls -la /app/src/simpleguardhome/ # Set permissions RUN chmod -R 755 /app && \ @@ -69,7 +70,8 @@ RUN set -ex && \ echo "Verifying installation..." && \ python3 -c "import sys; print('Python path:', sys.path)" && \ python3 -c "import simpleguardhome; print('Package found at:', simpleguardhome.__file__)" && \ - python3 -c "from simpleguardhome.main import app; print('App imported successfully')" + python3 -c "from simpleguardhome.main import app; print('App imported successfully')" && \ + echo "Package installation successful" # Create rules backup directory RUN mkdir -p /app/rules_backup && \