Compare commits

..

3 Commits

Author SHA1 Message Date
020e2dd32f fix(invoiceninja): add chromium dependencies for PDF generation
- Add required libraries for snappdf/chromium (libnss3, libatk, libcups2, etc.)
- Download chromium binary via snappdf download command
- Run ninja:post-update for languages/currencies lookup data

Fixes PDF generation error: libnss3.so not found
2025-12-22 22:17:25 +01:00
d9425a1169 Update CHANGELOG.md (#10226)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-22 19:42:33 +00:00
a21066ac74 Invoice ninja (#10223) 2025-12-22 20:42:06 +01:00
4 changed files with 37 additions and 17 deletions

View File

@ -18,6 +18,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- Kometa: Fix update procedure [@tremor021](https://github.com/tremor021) ([#10217](https://github.com/community-scripts/ProxmoxVE/pull/10217))
### ❔ Uncategorized
- Invoice ninja [@DragoQC](https://github.com/DragoQC) ([#10223](https://github.com/community-scripts/ProxmoxVE/pull/10223))
## 2025-12-21
### 🚀 Updated Scripts

View File

@ -2,7 +2,7 @@
"name": "InvoiceNinja",
"slug": "invoiceninja",
"categories": [
3
25
],
"date_created": "2025-12-12",
"type": "ct",

View File

@ -16,7 +16,21 @@ update_os
msg_info "Installing Dependencies"
$STD apt install -y \
nginx \
supervisor
supervisor \
libnss3 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libcups2 \
libdrm2 \
libxkbcommon0 \
libxcomposite1 \
libxdamage1 \
libxfixes3 \
libxrandr2 \
libgbm1 \
libasound2 \
libpango-1.0-0 \
libcairo2
msg_ok "Installed Dependencies"
setup_mariadb
@ -75,6 +89,12 @@ chown -R www-data:www-data /opt/invoiceninja
chmod -R 775 /opt/invoiceninja/storage /opt/invoiceninja/bootstrap/cache
msg_ok "Configured InvoiceNinja"
msg_info "Downloading Chromium for PDF Generation"
cd /opt/invoiceninja
$STD ./vendor/bin/snappdf download
chown -R www-data:www-data /opt/invoiceninja/vendor/beganovich/snappdf/versions
msg_ok "Downloaded Chromium for PDF Generation"
msg_info "Setting up Database"
cd /opt/invoiceninja
$STD php artisan config:clear
@ -83,6 +103,7 @@ $STD php artisan route:clear
$STD php artisan view:clear
$STD php artisan migrate --force
$STD php artisan db:seed --force
$STD php artisan ninja:post-update
$STD php artisan optimize
msg_ok "Set up Database"

View File

@ -2571,15 +2571,6 @@ function setup_gs() {
# - Some things are fetched from intel repositories due to not being in debian repositories.
# ------------------------------------------------------------------------------
function setup_hwaccel() {
# Check if GPU passthrough is enabled (device nodes must exist)
# /dev/dri = Intel iGPU, AMD GPU (open-source drivers)
# /dev/nvidia* = NVIDIA proprietary drivers
# /dev/kfd = AMD ROCm compute
if [[ ! -d /dev/dri && ! -e /dev/nvidia0 && ! -e /dev/kfd ]]; then
msg_warn "No GPU passthrough detected (/dev/dri, /dev/nvidia*, /dev/kfd not found) - skipping hardware acceleration setup"
return 0
fi
msg_info "Setup Hardware Acceleration"
if ! command -v lspci &>/dev/null; then
@ -2780,11 +2771,15 @@ EOF
msg_warn "Failed to install AMD firmware - may need manual installation"
}
elif [[ "$os_id" == "ubuntu" ]]; then
# For Ubuntu, firmware-amd-graphics does not exist (it's Debian-specific from non-free-firmware)
# Ubuntu includes AMD firmware in linux-firmware package which is installed by default
# Only install libdrm-amdgpu1 for userspace driver support
$STD apt -y install libdrm-amdgpu1 2>/dev/null || {
msg_warn "Failed to install libdrm-amdgpu1 - may need manual installation"
# For Ubuntu, ensure multiverse is enabled (firmware-amd-graphics is in multiverse)
if ! grep -qE '^deb.*multiverse' /etc/apt/sources.list /etc/apt/sources.list.d/*.list 2>/dev/null; then
$STD add-apt-repository -y multiverse
$STD apt update
fi
# Install AMD firmware and libdrm
$STD apt -y install libdrm-amdgpu1 firmware-amd-graphics 2>/dev/null || {
msg_warn "Failed to install AMD firmware - may need manual installation"
}
else
# For other distributions, try without adding repositories