FAQ & troubleshooting
General
Is MyDrive really free?
Yes. MyDrive is licensed under AGPLv3 and free to self-host. There’s no vendor fee — what you charge your own users, if anything, is entirely up to you.
Can I run MyDrive without any payment method enabled?
Yes. Leave MYDRIVE_PAYMENTS_ENABLED empty and assign fixed quotas per user or plan — this is the common setup for internal company drives.
Does MyDrive have mobile apps?
Not yet as a native app; the web interface is responsive and works well on mobile browsers. Track native app progress on the changelog and roadmap.
Installation issues
The container exits immediately after docker compose up
Check the logs first:
docker compose logs mydriveThe most common cause is a missing required variable (MYDRIVE_DOMAIN, MYDRIVE_DATABASE_URL, or MYDRIVE_SECRET_KEY) or the database not being ready yet — add a depends_on with a health check, or restart the mydrive service after db is up.
I can’t reach MyDrive over HTTPS
Confirm your reverse proxy is actually running and pointed at the right port, and that DNS for your domain resolves to the server. Certificate issuance (Let’s Encrypt) requires port 80 and 443 to be reachable from the internet.
Storage and quotas
A user’s files stayed after I lowered their quota below their usage
MyDrive never deletes files automatically. The user will be blocked from new uploads until they free up space or you raise the quota again.
Deleted files still count against quota
By design, until the trash retention period (MYDRIVE_TRASH_RETENTION_DAYS) expires or the user empties trash manually. This gives a safety window for accidental deletions.
Payments
A Stripe payment succeeded but the user’s plan didn’t upgrade
Check Admin → Billing → Webhooks for delivery failures. This usually means MYDRIVE_STRIPE_WEBHOOK_SECRET doesn’t match the endpoint configured in your Stripe dashboard, or the webhook URL isn’t reachable from the internet.
Can I combine multiple payment methods for the same user base?
Yes — enable as many providers as you like in MYDRIVE_PAYMENTS_ENABLED; users choose which one to pay with at checkout.
Getting more help
If this page doesn’t cover your issue, search or open a discussion on GitHub, or ask in the community Discord linked in the footer.