# Image upload limits

The application no longer enforces a hard file-size or dimension limit on Building, Unit, or reservation ID photos. Images are compressed server-side before storage.

However, the web server and PHP runtime still impose their own limits. To allow large uploads (e.g., 15–50 MB originals from modern phones), raise the following values.

## PHP / PHP-FPM

```ini
upload_max_filesize = 50M
post_max_size = 50M
max_execution_time = 120
max_input_time = 120
memory_limit = 512M
```

## nginx

```nginx
client_max_body_size 50M;
```

Apply at the `http`, `server`, or `location` level as appropriate.

## Platform-specific notes

- **Laravel Forge:** Update the site's PHP upload limits in the site settings and add `client_max_body_size` to the nginx configuration, then reload nginx and PHP-FPM.
- **Ploi / Cloudways:** adjust the PHP version settings and web-server config through the UI, then restart services.
- **Docker:** mount or bake a custom `php.ini` and rebuild/restart containers.

## HEIF / HEIC support

Converting iPhone HEIF/HEIC uploads requires the `imagick` PHP extension with libheif support. If only GD is available, HEIF files will fall back to the original upload and a warning will be logged.
