I had a similar issue and it was all permissions.
Create a group for the users that are going to need access to the media
sudo groupadd mediausers
(use whatever group name is appropriate in the place of "mediausers")
Add a media admin user to manage the media, you should use this user to FTP media to the media folder
sudo useradd --ingroup mediausers mediaadmin
Store your media on a non-system partition and mount that partition in a non-system default folder, we'll make one, assign ownership, and fix permissions on it
sudo cd /media
sudo mkdir servedmedia
sudo mount /path/to/partition /media/servedmedia
sudo chown -R mediaadmin:mediausers servedmedia
sudo chmod -R 775 servedmedia
"-R" means to recurse into the folders, so that everything is changed. 775 is Read/Write/Execute for the owner and group and read and execute for the generic users. It's advisable to go through and only assign execute to the folders and not the files. For a file, it should be "chmod 774 -filename-" and for a folder, "chmod 775 -folder name-" or use FileZilla's properties to fix the folders and files separately. "Execute" must be allowed on folders for users that need to browse or change to that folder. It is inadvisable and bad form to allow Execute to generic users to all files, so that last line is really poor, but will work.
To make that mount point persist across boots, look up how to add that partition to /etc/fstab
Check to see if the minidlna user exists
sudo id -u minidlna
If it comes back with "no such user", add a user minidlna can use and add it to the mediausers group and disallow logins from it as it is a system user and doesn't need a login (-L) or a home folder (-M)
sudo useradd -M --ingroup mediausers minidlna
sudo usermod -L minidlna
You'll have to verify that minidlna is configured to use that user
sudo nano /etc/minidlna.conf
Find the line that says
# Specify the user name or uid to run as (root by default).
# On Debian system command line option (from /etc/default/minidlna) overrides this.
Change that (or leave it if your user is "minidlna")
While you're in that file, look for
# Path to the directory you want scanned for media files.
# This option can be specified more than once if you want multiple directories
# If you want to restrict a media_dir to a specific content type, you can
# prepend the directory name with a letter representing the type (A, P or V),
# followed by a comma, as so:
# * "A" for audio (eg. media_dir=A,/var/lib/minidlna/music)
# * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
# * "V" for video (eg. media_dir=V,/var/lib/minidlna/videos)
# * "PV" for pictures and video (eg. media_dir=PV,/var/lib/minidlna/digital_camera)
Make sure "media_dir" reads the path to your media (/media/servedmedia)
Before you close it, look for
# Automatic discovery of new files in the media_dir directory.
Un-remark "#inotify=yes" so that it says "inotify=yes"
Close and save it with Ctrl-X / Y / [enter]
Make sure minidlna starts at boot-time
systemctl enable minidlna
Start (or restart) the minidlna daemon
systemctl restart minidlna
There are some issues with iNotify, but those can be a different google search. The default max is 1000 so it should only be an issue if you are flooding your server with file changes.