pdf-tei-editor / docs /development /installation.md
cmboulanger's picture
disaster-recovery deploy of pdf-tei-editor
6a49f21 verified
|
Raw
History Blame Contribute Delete
3.4 kB
# Installation Overview
This guide provides an overview of different installation and setup options for the PDF-TEI Editor.
## πŸš€ Quick Testdrive with Docker
**The fastest way to try PDF TEI Editor:**
```bash
# Run with Docker (includes all dependencies)
docker run -p 8000:8000 -e APP_ADMIN_PASSWORD=admin123 cboulanger/pdf-tei-editor:latest
```
Then visit: **<http://localhost:8000>**
- Login: `admin` / `admin123`
**πŸ“– For detailed Docker setup and configuration options:** [**β†’ Docker Testdrive Guide**](testdrive-docker.md)
## Local Development Installation
### Prerequisites
- **Python 3.13+** with uv package manager
- **Node.js 22+ (LTS)** with npm
- **Git** for version control
### Installation Steps
```bash
# Clone the repository
git clone https://github.com/mpilhlt/pdf-tei-editor.git
cd pdf-tei-editor
# Configure environment for development
cp .env.development .env
# Install Python dependencies
uv sync
# Install Node.js dependencies
npm install
```
### Build the Application
```bash
npm run build
```
### Start Development Server
```bash
# Development server (Python/Flask backend + JS frontend)
npm start
# Access at http://localhost:3001?dev
```
**Development Mode**: `http://localhost:3001?dev` loads source files directly instead of the built bundle.
### Next Steps for Development
- **[Development Guide](development.md)** - Application architecture, plugin system, and development workflows
- **[Testing Guide](testing.md)** - Running tests and validation
## Production and Container Deployment
For production deployments, containerized deployments, and comprehensive deployment options, see the [**β†’ Deployment Guide**](deployment.md).
## LLamore Extraction Engine
To extract references from PDF, the [LLamore library](https://github.com/mpilhlt/llamore) is used. For LLamore to work, you need a Gemini API Key:
1. Get a key at <https://aistudio.google.com>
2. Ensure you've copied the appropriate `.env.development` or `.env.production` file to `.env`
3. Add your key to the `.env` file
## Security Considerations
### File Upload Security
File uploads are validated using the libmagic package to prevent malicious content. This requires the native libmagic library:
- **Linux**: Available via package manager (`apt install libmagic1` or `yum install file-libs`)
- **Intel MacOS and Windows**: Use `uv add python-magic-bin`
- **Apple Silicon Macs**: Use Homebrew: `brew install libmagic`
### Development vs Production
- **Development mode**: Access to source files and node_modules for debugging
- **Production mode**: Set `"application.mode": "production"` in `config/config.json` to disable development file access
For comprehensive security considerations in deployment scenarios, see the [**β†’ Deployment Guide**](deployment.md#security-considerations).
## Installation Options Summary
| Option | Purpose | Guide |
|--------|---------|-------|
| **Docker Testdrive** | Quick evaluation and testing | [Docker Testdrive Guide](testdrive-docker.md) |
| **Local Development** | Code development and contributions | See above + [Development Guide](development.md) |
| **Production Deployment** | Live server deployment | [Deployment Guide](deployment.md) |
## Additional Resources
- **[User Management](user-management.md)** - Managing users and authentication
- **[XML Validation](validation.md)** - Schema validation system