Hosting

Hosting

LaraPaper runs anywhere Docker is supported: Raspberry Pi, VPS, NAS, or container platforms (Cloud Run, etc.).

Use the production compose file at docker/prod/docker-compose.yml.

For production, generate an application key and set it in your environment:

php artisan key:generate --show

Set APP_KEY= in your environment. For personal use you can disable registration (see Environment variables).

docker ps   # find the LaraPaper container id
docker cp {{CONTAINER_ID}}:/var/www/html/database/storage/database.sqlite database_backup.sqlite
docker compose pull
docker compose down
docker compose up -d

Other hosting

Option Notes
VPS + Dokploy Template search for quick deploy without manual Docker setup.
PikaPods Vote for a template: feedback.pikapods.com
Umbrel Community store: umbrel-store
Laravel Forge / bare metal PHP 8.4+, Nginx or Apache, see Requirements.

Serving under a sub-path

To serve LaraPaper under a path such as https://example.com/larapaper/, have the reverse proxy
strip the path and send it in an X-Forwarded-Prefix header, and add the proxy to
TRUSTED_PROXIES. Links, redirects and assets then include the path. Nginx example:

location /larapaper/ {
    proxy_pass http://127.0.0.1:4567/;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Prefix /larapaper;
}

First login

  • Local: open http://localhost:4567 and sign in with admin@example.com / admin@example.com (after seeding).
  • Production: register a user, or set REGISTRATION_ENABLED=0 to disable public registration.