Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
5a87c9d
Adding UN logo and flag to change to website mainpage
Oct 28, 2025
20b4a93
add i18n.js libraries and dependencies; adding translation feature to…
Nov 6, 2025
f1d377c
updated interface and bug fix
Dec 2, 2025
38bbe1b
Change file system structure
Dec 20, 2025
bf976a7
Merge branch 'stjiris:main' into main
ElPapiSanchez Dec 20, 2025
6d6e608
add Sync function to local app
Jan 6, 2026
6b1f127
add docker web compose + .env files
Jan 15, 2026
24331ca
UI change and bug fixes
Jan 15, 2026
0c2106f
add UN languages, bug fixes and immediate ocr feature
Feb 11, 2026
821533e
update docker-compose.yml
Feb 11, 2026
0179430
rm .md
Feb 11, 2026
8fdf6f8
rm .md
Feb 11, 2026
b712718
change version
Feb 11, 2026
741d994
updated compression function
Feb 11, 2026
b7f3ef8
add fixes, queue and custom compression
Mar 5, 2026
71fdef8
add rebuild-clean.sh
Mar 5, 2026
5690c31
add compression fix and bug fix
Mar 12, 2026
cf01fa9
add changes
Mar 16, 2026
31e7843
fix ocr text in compressed files
Mar 18, 2026
5fc41ad
bug fixes
Mar 19, 2026
4ad99f8
bug fixes
Mar 20, 2026
7fdc1f2
bug fixing and add advanced tab to ocr configuration menu
Mar 23, 2026
e528a6a
add bug fix
Mar 26, 2026
6e0f3f0
add segmentation bug fix
Mar 27, 2026
12f55b1
add un languages, pre-processing and update compression
Apr 14, 2026
7863415
add final touches do UI plus, bug fixing, queue manager
Apr 22, 2026
670f4a9
quick bug fix: cardview ocr start
Apr 22, 2026
02a0af8
add bug fixing and folder cancelation
Apr 24, 2026
9e0b81d
add pdf original with ocr
Apr 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions archived_files/Header/STJ/Header.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import KeyboardArrowDownRoundedIcon from '@mui/icons-material/KeyboardArrowDownR
import KeyboardArrowUpRoundedIcon from '@mui/icons-material/KeyboardArrowUpRounded';
import DeleteForeverIcon from '@mui/icons-material/DeleteForever';

import logoSTJ from '../../../static/logoSTJ.png';
import logoApp from '../../../static/logoApp.png';
import loadComponent from '../../../utils/loadComponents';
const TooltipIcon = loadComponent('TooltipIcon', 'TooltipIcon');

Expand Down Expand Up @@ -70,7 +70,7 @@ export default class Header extends React.Component {
}}>
<Box sx={{display: 'flex', flexDirection: 'row'}}>
<>
<img src={logoSTJ} alt="logoSTJ" style={{marginRight:'2rem', height: '64px', width: 'auto'}}/>
<img src={logoApp} alt="logoApp" style={{marginRight:'2rem', height: '64px', width: 'auto'}}/>
<Button
className="link"
sx={{
Expand Down
2 changes: 1 addition & 1 deletion compose/nginx/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FROM node:lts AS builder

COPY ./website/package* .

RUN npm ci
RUN npm install --legacy-peer-deps

COPY ./website .

Expand Down
7 changes: 7 additions & 0 deletions compose/worker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,13 @@ ADD https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/eng
https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/deu.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/fra.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/spa.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/ara.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/ind.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/chi_sim.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/chi_tra.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/hin.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/ita.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/rus.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/equ.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata/refs/heads/main/osd.traineddata \
/usr/share/tesseract-ocr/5/tessdata/
Expand Down
252 changes: 132 additions & 120 deletions docker-compose.production.yml
Original file line number Diff line number Diff line change
@@ -1,125 +1,137 @@
volumes:
# FIXME: uncomment when searching feature is improved and re-enabled
# elasticsearch_data: {}
files_data: {}
configs_data: {}
# FIXME: uncomment when searching feature is improved and re-enabled
# elasticsearch_data: {}
files_data: {}
configs_data: {}

services:
server:
build:
context: ./server
dockerfile: ../compose/server/Dockerfile
image: ocr-server
env_file: "server/.env"
environment:
FLASK_APP: app
FLASK_ENV: production
FLASK_DEBUG: 0
PYTHONUNBUFFERED: true
PYTHONDONTWRITEBYTECODE : true
command: /app/start
expose:
- "5001" # exposed only to other services
depends_on:
# FIXME: uncomment when searching feature is improved and re-enabled
# elasticsearch:
# condition: service_healthy
# restart: true
redis:
condition: service_healthy
restart: true
volumes:
- files_data:/app/_files
- configs_data:/app/_configs
restart: unless-stopped
networks:
- internal-network
server:
build:
context: ./server
dockerfile: ../compose/server/Dockerfile
image: ocr-server
env_file: "server/.env"
environment:
FLASK_APP: app
FLASK_ENV: production
FLASK_DEBUG: 0
PYTHONUNBUFFERED: true
PYTHONDONTWRITEBYTECODE : true
command: /app/start
expose:
- "5001" # exposed only to other services
depends_on:
# FIXME: uncomment when searching feature is improved and re-enabled
# elasticsearch:
# condition: service_healthy
# restart: true
redis:
condition: service_healthy
restart: true
volumes:
- "${HOME}/Desktop/ocr-storage/files:/app/_files"
- "${HOME}/Desktop/ocr-storage/configs:/app/_configs"
- "${HOME}/Desktop/ocr-storage/inputs:/app/_inputs"
- "${HOME}/Desktop/ocr-storage/outputs:/app/_outputs"
restart: unless-stopped
networks:
- internal-network

worker:
build:
context: ./server
dockerfile: ../compose/worker/Dockerfile
image: ocr-worker
env_file: "server/.env"
hostname: "${HOSTNAME:-$COMPUTERNAME}" # set same hostname as host machine; try UNIX, else Windows
environment:
C_FORCE_ROOT: true
PYTHONUNBUFFERED: true
PYTHONDONTWRITEBYTECODE : true
command: celery -A celery_app.celery worker --beat --scheduler redbeat.RedBeatScheduler --autoscale=16,8 --max-tasks-per-child=1 --loglevel=info --without-gossip --without-mingle -Ofair -E --hostname=worker1@%h -P prefork
healthcheck:
test: celery inspect ping -d worker1@$$HOSTNAME
interval: 10s
timeout: 10s
retries: 3
start_period: 10s
volumes:
- files_data:/app/_files
- configs_data:/app/_configs
depends_on:
redis:
condition: service_healthy
restart: true
restart: unless-stopped
networks:
- internal-network
- external-network
worker:
build:
context: ./server
dockerfile: ../compose/worker/Dockerfile
image: ocr-worker
env_file: "server/.env"
hostname: "${HOSTNAME:-$COMPUTERNAME}" # set same hostname as host machine; try UNIX, else Windows
environment:
C_FORCE_ROOT: true
PYTHONUNBUFFERED: true
PYTHONDONTWRITEBYTECODE : true
command: celery -A celery_app.celery worker --beat --scheduler redbeat.RedBeatScheduler --autoscale=16,8 --max-tasks-per-child=1 --loglevel=info --without-gossip --without-mingle -Ofair -E --hostname=worker1@%h -P prefork
healthcheck:
test: celery inspect ping -d worker1@$$HOSTNAME
interval: 10s
timeout: 10s
retries: 3
start_period: 10s
deploy:
resources:
limits:
memory: 8G # Allow up to 8GB RAM for large TIFF compression
reservations:
memory: 2G # Reserve at least 2GB RAM
volumes:
- "${HOME}/Desktop/ocr-storage/files:/app/_files"
- "${HOME}/Desktop/ocr-storage/configs:/app/_configs"
- "${HOME}/Desktop/ocr-storage/inputs:/app/_inputs"
- "${HOME}/Desktop/ocr-storage/outputs:/app/_outputs"
depends_on:
redis:
condition: service_healthy
restart: true
restart: unless-stopped
networks:
- internal-network
- external-network

flower:
image: ocr-worker
env_file: "server/.env"
environment:
FLOWER_UNAUTHENTICATED_API: true # authentication managed through Flask
command: bash -c "celery -A celery_app.celery flower --port=5050 --url_prefix=$$APP_BASENAME\"/admin/flower\" --enable_events=False"
expose:
- "5050" # exposed only to other services
depends_on:
worker:
condition: service_healthy
restart: true
redis:
condition: service_healthy
restart: true
restart: unless-stopped
networks:
- internal-network
flower:
image: ocr-worker
env_file: "server/.env"
environment:
FLOWER_UNAUTHENTICATED_API: true # authentication managed through Flask
command: bash -c "celery -A celery_app.celery flower --port=5050 --url_prefix=$$APP_BASENAME\"/admin/flower\" --enable_events=False"
expose:
- "5050" # exposed only to other services
depends_on:
worker:
condition: service_healthy
restart: true
redis:
condition: service_healthy
restart: true
restart: unless-stopped
networks:
- internal-network

redis:
image: redis:8.2.1-alpine3.22
expose:
- "6379" # exposed only to other services
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 10s
retries: 10
start_period: 10s
volumes:
- files_data:/app/_files
restart: unless-stopped
networks:
- internal-network
redis:
image: redis:8.2.1-alpine3.22
expose:
- "6379" # exposed only to other services
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 10s
retries: 10
start_period: 10s
volumes:
- "${HOME}/Desktop/ocr-storage/files:/app/_files"
- "${HOME}/Desktop/ocr-storage/inputs:/app/_inputs"
- "${HOME}/Desktop/ocr-storage/outputs:/app/_outputs"
restart: unless-stopped
networks:
- internal-network

nginx:
build:
context: .
dockerfile: ./compose/nginx/Dockerfile
ports:
- "80:80"
depends_on:
- server
volumes:
- files_data:/usr/share/nginx/html/files
environment:
NGINX_ENVSUBST_OUTPUT_DIR: /etc/nginx
MAX_FILE_CHUNK_SIZE: 2G
MAX_API_FILE_SIZE: 2G
MAX_DOC_SEGMENTATION_SIZE: 100M
MAX_EDITED_RESULTS_SIZE: 100M
restart: unless-stopped
networks:
- internal-network
- external-network
nginx:
build:
context: .
dockerfile: ./compose/nginx/Dockerfile
ports:
- "80:80"
depends_on:
- server
volumes:
- "${HOME}/Desktop/ocr-storage/files:/usr/share/nginx/html/files"
environment:
NGINX_ENVSUBST_OUTPUT_DIR: /etc/nginx
MAX_FILE_CHUNK_SIZE: 2G
MAX_API_FILE_SIZE: 2G
MAX_DOC_SEGMENTATION_SIZE: 100M
MAX_EDITED_RESULTS_SIZE: 100M
restart: unless-stopped
networks:
- internal-network
- external-network

# FIXME: uncomment when searching feature is improved and re-enabled
# elasticsearch:
Expand All @@ -144,8 +156,8 @@ services:
# - internal-network

networks:
internal-network:
driver: bridge
internal: true
external-network:
driver: bridge
internal-network:
driver: bridge
internal: true
external-network:
driver: bridge
Loading