2023-05-01 21:57:48 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Copy the original tesseract-ocr files to the volume directory without overwriting existing files
|
|
|
|
echo "Copying original files without overwriting existing files"
|
2023-12-31 17:14:55 +01:00
|
|
|
mkdir -p /usr/share/tessdata
|
|
|
|
cp -rn /usr/share/tessdata-original/* /usr/share/tessdata
|
2023-05-01 21:57:48 +01:00
|
|
|
|
2023-12-31 15:54:34 +01:00
|
|
|
if [ -d /usr/share/tesseract-ocr/4.00/tessdata ]; then
|
|
|
|
cp -r /usr/share/tesseract-ocr/4.00/tessdata/* /usr/share/tessdata || true;
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -d /usr/share/tesseract-ocr/5/tessdata ]; then
|
|
|
|
cp -r /usr/share/tesseract-ocr/5/tessdata/* /usr/share/tessdata || true;
|
2023-12-10 23:06:35 +00:00
|
|
|
fi
|
|
|
|
|
2023-07-29 13:53:30 +01:00
|
|
|
# Check if TESSERACT_LANGS environment variable is set and is not empty
|
|
|
|
if [[ -n "$TESSERACT_LANGS" ]]; then
|
|
|
|
# Convert comma-separated values to a space-separated list
|
2024-12-16 23:55:03 +02:00
|
|
|
SPACE_SEPARATED_LANGS=$(echo $TESSERACT_LANGS | tr ',' ' ')
|
2024-03-04 20:51:49 +00:00
|
|
|
pattern='^[a-zA-Z]{2,4}(_[a-zA-Z]{2,4})?$'
|
2023-07-29 13:53:30 +01:00
|
|
|
# Install each language pack
|
2024-12-16 23:55:03 +02:00
|
|
|
for LANG in $SPACE_SEPARATED_LANGS; do
|
2024-03-04 20:51:49 +00:00
|
|
|
if [[ $LANG =~ $pattern ]]; then
|
|
|
|
apk add --no-cache "tesseract-ocr-data-$LANG"
|
|
|
|
else
|
|
|
|
echo "Skipping invalid language code"
|
|
|
|
fi
|
2023-07-29 13:53:30 +01:00
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
2025-06-25 18:32:28 +01:00
|
|
|
# Ensure temp directory exists with correct permissions before running main init
|
|
|
|
mkdir -p /tmp/stirling-pdf || true
|
|
|
|
chown -R stirlingpdfuser:stirlingpdfgroup /tmp/stirling-pdf || true
|
|
|
|
chmod -R 755 /tmp/stirling-pdf || true
|
|
|
|
|
refactor: move modules under app/ directory and update file paths (#3938)
# Description of Changes
- **What was changed:**
- Renamed top-level directories: `stirling-pdf` → `app/core`, `common` →
`app/common`, `proprietary` → `app/proprietary`.
- Updated all path references in `.gitattributes`, GitHub workflows
(`.github/workflows/*`), scripts (`.github/scripts/*`), `.gitignore`,
Dockerfiles, license files, and template settings to reflect the new
structure.
- Added a new CI job `check-generateOpenApiDocs` to generate and upload
OpenAPI documentation.
- Removed redundant `@Autowired` annotations from `TempFileShutdownHook`
and `UnlockPDFFormsController`.
- Minor formatting and comment adjustments in YAML templates and
resource files.
- **Why the change was made:**
- To introduce a clear `app/` directory hierarchy for core, common, and
proprietary modules, improving organization and maintainability.
- To ensure continuous integration and Docker builds continue to work
seamlessly with the reorganized structure.
- To automate OpenAPI documentation generation as part of the CI
pipeline.
---
## Checklist
### General
- [x] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [x] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [x] I have performed a self-review of my own code
- [x] My changes generate no new warnings
### Documentation
- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)
### UI Changes (if applicable)
- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)
### Testing (if applicable)
- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing)
for more details.
2025-07-14 21:53:11 +02:00
|
|
|
/scripts/init-without-ocr.sh "$@"
|