Hi, I'm encountering issues with the FoF Upload extension after a clean reinstallation.
How can I solve this?
I want to set the forum so that all uploaded attachments are automatically stored in cloudflare R2, and no attachments are placed locally on the server, so that the capacity limit is more flexible.
Problem Description:
1.I successfully enabled FoF Upload v1.8.3 on Flarum v1.8.10, but the storage configuration section (where API Key, Secret, Bucket, etc. should be entered) does not appear in the admin panel.
2.Under “Upload Method” and MIME Type settings, only "Imgur" and "Local" are shown — "aws-s3" is missing.
3.I manually injected fof-upload.storages and fof-upload.mimeTypes into the database using CLI. The JSON structure is correct, and matches what FoF Upload expects. However, the UI still doesn't show the storage block.
4.I also tried:Removing or relaxing the Content-Security-Policy (CSP) headers、Clearing Flarum's cache、Restarting PHP-FPM
5.Even with all this, the UI remains broken — the storage section does not show up.
6.On the frontend, uploading an image results in:“You do not have permission to do that.”
Confirmed:
1.fof_upload_files and related tables exist.
2.php flarum migrate executed successfully.
3.Permissions and ownership of storage/ and bootstrap/cache/ are correctly set to www-data.
4.PHP extensions like fileinfo, mbstring, json are all installed and active.
5.CSP was fully removed during testing, no change.
6.Using PHP 8.3 and MySQL 8.0.42.
Questions:
1.Is FoF Upload expected to auto-create storages and mimeTypes on first install?
2.If not, why doesn't the UI show the S3 storage adapter, even with valid settings present?
3.What could be causing the "no permission" error on the frontend upload?
Environment Info:
1.Upload version: 1.8.3
2.Web Server: Nginx + PHP-FPM
3.All data injected manually (storages + mimeTypes)
Flarum core: 1.8.10
PHP version: 8.3.6
MySQL version: 8.0.42-0ubuntu0.24.04.1
Loaded extensions: Core, date, libxml, openssl, pcre, zlib, filter, hash, json, pcntl, random, Reflection, SPL, session, standard, sodium, mysqlnd, PDO, xml, bcmath, calendar, ctype, curl, dom, mbstring, FFI, fileinfo, ftp, gd, gettext, iconv, imagick, intl, exif, mysqli, pdo_mysql, Phar, posix, readline, shmop, SimpleXML, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, xmlreader, xmlwriter, xsl, zip, Zend OPcache
+---------------------------------+---------+--------+
| Flarum Extensions | | |
+---------------------------------+---------+--------+
| ID | Version | Commit |
+---------------------------------+---------+--------+
| flarum-flags | v1.8.2 | |
| flarum-approval | v1.8.2 | |
| flarum-tags | v1.8.4 | |
| fof-upload | 1.8.3 | |
| flarum-suspend | v1.8.4 | |
| flarum-subscriptions | v1.8.1 | |
| flarum-sticky | v1.8.2 | |
| flarum-statistics | v1.8.1 | |
| flarum-mentions | v1.8.5 | |
| flarum-markdown | v1.8.1 | |
| flarum-lock | v1.8.2 | |
| flarum-likes | v1.8.1 | |
| flarum-lang-chinese-traditional | v1.8.0 | |
| flarum-emoji | v1.8.1 | |
| flarum-bbcode | v1.8.0 | |
+---------------------------------+---------+--------+
Base URL: REDACTED
Installation path: /var/www/flarum
Queue driver: sync
Session driver: file
Mail driver: mail
Debug mode: off