“When in doubt, docker ps it out.” – Ancient Hacker Proverb
It was a sunny Sunday—too peaceful, really. I needed something to break the monotony. That’s when I decided to summon the mighty beast of self-hosted file storage: FileCloud. But not just any setup—I wanted it Dockerized, clean-ish on every reboot, with storage rooted in my sacred /mnt/shared/cloud-server
.
⚙️ Enter the Void: The First Invocation
I ran the FileCloud Docker container like a true sysadmin of the arcane:
1
2
3
4
5
6
7
8
9
sudo docker run --privileged -d \
-p 443:443 -p 80:80 \
-v fcdata:/opt/fileclouddata \
-v dbdata:/var/lib/mongodb \
-v solrdata:/opt/solrfcdata/var/solr \
-v htmldata:/var/www/html \
--name filecloud \
filecloud/fileclouddocker:latest \
/lib/systemd/systemd
Boom. The container spawned like a summoned daemon, bound to ports 80 and 443. FileCloud came alive… almost.
🤯 The Path of Pain: Storage Path Not Set
As the dashboard loaded, it greeted me with a cryptic complaint:
❌ Storage Path Not Set. Invalid Path.
I double-checked everything. My volumes were mounted, my paths were blessed with chmod 777
, and yet FileCloud whispered: “Try again, mortal.”
Turns out FileCloud wanted a real path, not a Docker volume abstraction. The container needed to see /mnt/shared/cloud-server
like a physical realm, not a volume spell.
🧙♂️ The Hackening: Binding Shared Storage
So I banished the old container to the nether realms:
1
2
sudo docker stop filecloud
sudo docker rm filecloud
Then I bound /mnt/shared/cloud-server
directly to /opt/fileclouddata
, where FileCloud likes to nap:
1
2
3
4
5
6
7
8
9
sudo docker run --privileged -d \
-p 443:443 -p 80:80 \
-v /mnt/shared/cloud-server:/opt/fileclouddata \
-v dbdata:/var/lib/mongodb \
-v solrdata:/opt/solrfcdata/var/solr \
-v htmldata:/var/www/html \
--name filecloud \
filecloud/fileclouddocker:latest \
/lib/systemd/systemd
I also gave ownership to the web server deities:
1
chown -R www-data:www-data /mnt/shared/cloud-server
Like magic, FileCloud accepted the offering. Files placed inside /mnt/shared/cloud-server
started appearing in the UI like ghosts in the machine.
🔁 Summon and Banish: My Ritual Script
I needed a non-clean (persistent) way to start and stop the container. So I crafted the sacred incantations:
1
2
3
4
5
# Start the beast
sudo docker start filecloud
# Send it to slumber
sudo docker stop filecloud
No data loss. Just a clean nap and wake-up for the daemon. The volumes stay. My files remain untouched. Bliss.
🎉 Conclusion: I Tamed the Cloud
FileCloud now lives happily inside Docker, chilling with my shared mount point. If you’re trying the same and getting hit with “Storage path invalid”, don’t argue with the daemon. Just feed it the path it can see.
Pro tip: Volumes are cool, but mounted folders are real enough to please the cloud gods.
Happy hacking, and may your /mnt
be ever mounted.
“Storage was a mess. Containers were chaos. But I came, I saw, I docker run
‘d it.”
— ArenRedd