
I am running Appwrite on a DigitalOcean Droplet with 160GB, with my buckets running on DO Spaces so they're not included at all here. I have ended up hitting the limit of storage on the Droplet and am looking to connect block storage volumes to the Droplet as a way to expand the capacity without having to essentially double the cost of the Droplet but wasn't sure how that would work with getting the Appwrite containers to use the block storage mounted path

That can be a bit tricky,
First, try to spot the over-sized folder, meaning, find what causes that you're out of space.
Second, after you've spotted it you'll need to mount that folder using fstab

It looks like it's my appwrite-cache container that's using ~105GB, I don't support there would be a way to set just that container up to use the mounted storage instead?

Yes, you can

You'll need to make a few changes

But, why is it takes so much space?

We've got about 60-70k users on a very image heavy website, so I'm expecting it'll be a lot of image preview caches

Alright

There are few ways to tackle it

Having a look at docker-compose.yml
I'm assuming that it should just be the case of adding the mounted drive as the local driver options for the appwrite-cache
volume that's defined in docker-compose.yml
?

The fastest way would be:
- Add object storage drive
- Create a symlink of it
You new drive would be inside
/mnt/drivename
Create the symlink like so, for exmaple insidehome/cache
ln -s /mnt/drivename /home/cache
- Change volume to mounted, to a local folder in your server, like so
volumes:
appwrite-mariadb:
appwrite-redis:
appwrite-cache:
driver: local
driver_opts:
type: volume
o: "bind"
device: "/home/cache"
And reload your docker compose, From now one all files would be created inside that folder that it's actually the attached object one.
Notes.
- You might need to delete the old volume manually, find is location by running
docker volume inspect appwrite-cache
- All of the current cache would be irelevant, again you can move it manually.

That's perfect, thank you! I'm going to give this a go later tonight and will let you know how it goes
Recommended threads
- Function delayed execution does not exec...
Hi, I’m having issues with scheduled function executions. Sometimes the delayed function triggers, but a lot of the time it doesn’t. For example the status just...
- Deployment Error After Migrating from 1....
Hi Everyone, After recently migrating my self-hosted Appwrite instance from version 1.6.0 to 1.6.2, I’m encountering an issue while deploying a function. The d...
- Cannot use R2 for storage
I setup the environment variables including s3 endpoint to use R2 as my storage provider but I'm unable to upload any files. Got this from docker logs appwrite
