Home›Extracta›Quickstart
Extracta · Quickstart

Extracta Quickstart, as shipped in the download

The QUICKSTART.txt in the download — the same steps your delivery email carries.

EXTRACTA — QUICKSTART
=====================

REQUIREMENTS
------------
  - PHP 8.0+ with extensions: pdo, pdo_sqlite (or pdo_mysql), fileinfo, curl
  - MySQL 5.7+ OR SQLite 3 (SQLite requires no extra setup)
  - An API key for OpenAI, Anthropic, or Ollama (set after install, or during)
  - A web server (Apache with mod_rewrite, or Nginx with try_files)

SHARED HOSTING / CPANEL (RECOMMENDED FOR MOST BUYERS)
------------------------------------------------------
1. Upload the contents of the `app/` folder to your web root (e.g. public_html/)
   or a subdirectory (e.g. public_html/extracta/).

2. Make sure these directories are writable by PHP:
     data/
     data/uploads/

   Via cPanel File Manager: right-click → Permissions → set to 755 or 775.

3. Visit https://yourdomain.com/install/ in your browser.

4. Fill in the installer:
     - Database: choose MySQL (fill in host/name/user/pass) or SQLite (no setup)
     - Company name and currency
     - LLM provider and API key (or leave blank to configure later in Settings)
     - Admin email + password

5. The installer writes config.php and redirects you to the login page.

6. Log in and go to Settings to verify or update your LLM provider and API key.

7. Upload an invoice and click Extract to test.


VPS / SELF-HOSTED
-----------------
Requirements same as above. Apache example:

  <VirtualHost *:80>
    DocumentRoot /var/www/extracta/app
    <Directory /var/www/extracta/app>
      AllowOverride All
      Require all granted
    </Directory>
  </VirtualHost>

Run the web installer as above, or use the CLI seeder:

  php bin/demo.php    # loads demo data (login: admin@extracta.app with the one-time password it prints)


DOCKER (QUICK TEST)
-------------------
  docker run --rm -p 8080:8080 \
    -v "$(pwd):/var/www/html" \
    -w /var/www/html \
    php:8.3-cli \
    php -S 0.0.0.0:8080 router.php

  Then visit http://localhost:8080/install/


POST-INSTALL SECURITY CHECKLIST
--------------------------------
  [ ] config.php is protected (the .htaccess does this automatically)
  [ ] data/ is not web-accessible (.htaccess blocks it automatically)
  [ ] Use HTTPS in production
  [ ] Keep PHP updated
  [ ] Change the demo password immediately if you ran bin/demo.php


LOOKING AFTER IT (from 4.0)
---------------------------
  * Updates: open Updates in the menu, save your license key once, press Check for updates.
    Reaching 4.0 from 3.x is the last update by hand: replace the files; config.php and data/ stay.
  * Sample data: the installer offers to start with a sample; remove it later with one click.
  * Backups: "Back up once a day by itself" is on by default (/restore); add an S3-compatible bucket there for
    a copy somewhere else. The Health page (/health) says whether all of this is working.
  * On Nginx: use the server block in the manual ("On Nginx: keep data/ private", https://ownware.io/p/extracta/manual);
    it opens the installer and keeps data/ private.
  * One-line install for technical owners:
    curl -fsSL https://ownware.io/install.sh | sh -s -- extracta <your license key>

NOTES
-----
  * Extraction accuracy depends on the model you choose. GPT-4o and
    Claude 3 Sonnet/Opus give the best results.
  * Images (PNG, JPEG, WebP) work reliably across all providers.
  * PDFs work best with Anthropic (native document support). Other
    providers treat PDFs as best-effort.
  * The review page lets you correct any field before exporting.
  * Export formats: CSV (spreadsheet-ready) and JSON (developer-friendly).
  * No API calls are ever made without your explicit click on "Extract".

← Back to Extracta · Manual · API · Test run