Files
officeconvert/Makefile
T

57 lines
2.4 KiB
Makefile

SHELL := /bin/sh
BUF ?= buf
.PHONY: buf-lint buf-generate py-sync py-test go-test test compose-up compose-up-dev run-server
buf-lint:
$(BUF) lint
buf-generate:
$(BUF) generate
py-sync:
uv sync --project python --all-packages
py-test:
@set -e; \
if [ -n "$${TEST:-}" ]; then \
uv run --project python --package officeconvert python -m unittest "$$TEST"; \
else \
uv run --project python --package officeconvert python -m unittest discover -s python/packages/officeconvert/tests; \
fi
go-test:
go test ./...
test: go-test py-test
compose-up:
docker compose --env-file .env.example -f deploy/docker-compose.yml up --build
compose-up-dev:
docker compose --env-file .env.example -f deploy/docker-compose.dev.yml up
run-server:
@set -a; \
if [ -f .env ]; then . ./.env; fi; \
set +a; \
export PYTHONPATH="$${PYTHONPATH:-gen/python:python/packages/officeconvert/src:python/packages/server/src}"; \
if [ "$${S3_ENDPOINT:-}" = "seaweedfs:8333" ]; then S3_ENDPOINT=localhost:8333; fi; \
if [ "$${S3_PUBLIC_ENDPOINT:-}" = "seaweedfs:8333" ]; then S3_PUBLIC_ENDPOINT=localhost:8333; fi; \
export S3_ENDPOINT="$${S3_ENDPOINT:-localhost:8333}"; \
export S3_PUBLIC_ENDPOINT="$${S3_PUBLIC_ENDPOINT:-localhost:8333}"; \
export S3_BUCKET="$${S3_BUCKET:-officeconvert}"; \
export S3_USE_SSL="$${S3_USE_SSL:-false}"; \
export S3_ACCESS_KEY="$${S3_ACCESS_KEY:-minioadmin}"; \
export S3_SECRET_KEY="$${S3_SECRET_KEY:-minioadmin}"; \
export S3_SESSION_TTL_SECONDS="$${S3_SESSION_TTL_SECONDS:-3600}"; \
export CONVERSION_PPTX_TO_PDF_TIMEOUT_SECONDS="$${CONVERSION_PPTX_TO_PDF_TIMEOUT_SECONDS:-180}"; \
export CONVERSION_PDF_TO_IMAGES_TIMEOUT_SECONDS="$${CONVERSION_PDF_TO_IMAGES_TIMEOUT_SECONDS:-1800}"; \
export CONVERSION_PPTX_TO_PDF_BASE_TIMEOUT_SECONDS="$${CONVERSION_PPTX_TO_PDF_BASE_TIMEOUT_SECONDS:-45}"; \
export CONVERSION_PPTX_TO_PDF_PER_SLIDE_TIMEOUT_SECONDS="$${CONVERSION_PPTX_TO_PDF_PER_SLIDE_TIMEOUT_SECONDS:-3}"; \
export CONVERSION_PDF_TO_IMAGES_BASE_TIMEOUT_SECONDS="$${CONVERSION_PDF_TO_IMAGES_BASE_TIMEOUT_SECONDS:-30}"; \
export CONVERSION_PDF_TO_IMAGES_PER_SLIDE_TIMEOUT_SECONDS="$${CONVERSION_PDF_TO_IMAGES_PER_SLIDE_TIMEOUT_SECONDS:-8}"; \
export CONVERSION_CLEANUP_DELAY_SECONDS="$${CONVERSION_CLEANUP_DELAY_SECONDS:-3600}"; \
uv run --project python --package officeconvert-server python -m uvicorn officeconvert_server.app:app --host "$${UVICORN_HOST:-0.0.0.0}" --port "$${UVICORN_PORT:-8080}"