Skip to content

Self-Hosting Overview

With self-hosting, you run Paragrafy entirely yourself — on your own hardware or your own VPS. The feature set is identical to Managed Cloud, but you’re responsible for the server, updates, backups, and cron jobs yourself.

Two deployment options are available:

  • Apache: classic deployment directly on a web server.
  • Docker: container-based deployment via Docker Compose, the fastest way to a working instance.
/var/www/paragrafy/
├── index.php # Public router, viewer, JSON API & cron handler
├── admin.php # Admin dashboard, compliance matrix, webhook logs & settings
├── editor.php # Language-tabs editor with scheduled publishing & version history
├── install.php # Interactive setup wizard for initial installation
├── db.php # SQLite database layer, migrations, webhooks, SMTP client & theme
├── Dockerfile # Container image definition
├── docker-compose.yaml # Docker Compose setup for container-based operation
├── docker-entrypoint.sh # Sets file permissions on the data volume at container start
├── WEBHOOKS.md # Detailed webhook documentation, specification & payloads
├── paragrafy.svg # Vector logo
├── .htaccess # Apache routing & protection of sensitive files
├── .gitignore # Git exclusion rules
├── config.php # Admin password hash & cron secret (generated at setup)
├── .env.local # Optional: DEEPL_API_KEY as fallback
├── backups/ # Rolling 7-day backups (created automatically)
└── paragrafy_data.sqlite # SQLite database (created automatically)

With Docker, config.php, .env.local, backups/, and paragrafy_data.sqlite instead live under PARAGRAFY_DATA_DIR (/var/www/html/data, mounted to ./data).

  1. Installation: Apache or Installation: Docker
  2. Configuration & Environment Variables
  3. Setting up Cron Jobs
  4. Later: Upgrade Guide