FAQ & troubleshooting
General
Is LibreDrive really free?
Yes. LibreDrive 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 LibreDrive without any payment method enabled?
Yes. Leave LIBREDRIVE_PAYMENTS_ENABLED empty and assign fixed quotas per user or plan — this is the common setup for internal company drives.
Does LibreDrive 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 libredriveThe most common cause is a missing required variable in .env — LIBREDRIVE_DOMAIN, POSTGRES_PASSWORD, LIBREDRIVE_SECRET_KEY (32+ characters), and LIBREDRIVE_ENCRYPTION_KEY (32 bytes, base64) are all mandatory. The bundled docker-compose.yml already waits for the db service’s health check before starting libredrive, so this is rarely a timing issue.
I can’t reach LibreDrive 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
LibreDrive 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 (LIBREDRIVE_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 the webhook delivery log in your Stripe dashboard for failures against https://your-domain/api/payments/webhooks/stripe. This usually means LIBREDRIVE_STRIPE_WEBHOOK_SECRET doesn’t match the endpoint configured in Stripe, or the webhook URL isn’t reachable from the internet. As a fallback, an administrator can always mark the invoice paid manually from Admin → Billing.
Can I combine multiple payment methods for the same user base?
Yes — enable as many providers as you like in LIBREDRIVE_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.