Official docs recommend SQLite for single-user/limited-user use and a server database for larger multi-user deployments.
Teams sharing a 2FAuth service.Configuration matérielle requise pour 2FAuth : RAM, PHP, base de données et sauvegarde
Découvrez les exigences de 2FAuth — PHP 8.4+, SQLite/base de données, mémoire nécessaire pour l’importation de QR codes et les sauvegardes — puis choisissez un matériel ZimaOS adapté.
2FAuth requirements at a glance
2FAuth's current v8 documentation describes it as a very light application with minimal needs and few concurrent connections. It does not publish a numerical host CPU/RAM minimum. Current self-hosted requirements include PHP 8.4+ and a supported SQL database; SQLite is explicitly recommended for single-user or limited-user deployments. In the official Docker image, normal PHP processing uses a 256 MB memory limit, while QR-code detection can temporarily use a 512 MB override—these are PHP process limits, not host RAM minimums.
- CPU
- No numerical official minimum. TOTP/HOTP generation, CRUD and normal web requests are lightweight.
- RAM
- No numerical host minimum. The official Docker image uses a 256 MB PHP memory limit for normal processing.
- QR import memory
- Current v8 adds PHP_MEMORY_LIMIT_TEMP_OVERRIDE, default 512 MB, for QR-code detection only.
- PHP
- PHP 8.4+ is required for current self-hosted installation.
- Database
- SQLite 3.26+ is supported and explicitly recommended for single-user or limited-user deployments; MariaDB, MySQL, PostgreSQL and SQL Server are also supported.
- Critical backup item
- Back up both the database and APP_KEY/previous keys. Losing the encryption key can make encrypted data unrecoverable.
From official requirements to the right setup
2FAuth sizing is easy; recovery and key management matter more than compute.
-
Official requirements
Use SQLite for a personal or small-user deployment unless there is a clear reason to operate an external SQL server.
-
Confirm your needs
Keep the 2FAuth database on reliable persistent storage and back it up before upgrades.
-
Leave room to grow
Protect APP_KEY and APP_PREVIOUS_KEYS separately from the database. Current docs warn that losing encryption keys can make encrypted database content unusable.
-
Run it on ZimaOS
Install 2FAuth from ZimaOS, import a representative QR/OTP set and verify backup/restore before considering hardware upgrades.
Check every playback client
- PHP 8.4+
- SQLite or server SQL database
- Persistent database storage
- APP_KEY backup
- APP_PREVIOUS_KEYS after rotations
- HTTPS/public URL
- QR-code import memory
- Database restore test
Official minimum requirements
2FAuth publishes software requirements and explicitly calls the application very light, but does not publish numerical host CPU/RAM minimums.
Do not confuse PHP's 256 MB normal limit or 512 MB QR-import override with a host-memory requirement.
| Requirement | Official minimum | What this supports |
|---|---|---|
| CPU | No numerical minimum published | 2FAuth is documented as a very light app. |
| Host RAM | No numerical minimum published | No system-memory floor is documented. |
| PHP | 8.4+ | Current v8 requirement. |
| Normal Docker PHP memory limit | 256 MB | Process-level limit, not host RAM minimum. |
| QR detection temporary limit | 512 MB default | Temporary PHP override for QR-code detection. |
| GPU | Not required | OTP generation and QR processing do not require a dedicated GPU. |
When to upgrade your hardware
2FAuth itself should almost never drive a hardware upgrade.
Many users justify a server-based SQL database
Large QR imports hit PHP memory errors
The host runs many other security/productivity apps
Current v8 exposes a temporary QR-detection memory override because image analysis can exceed the normal PHP memory limit.
Users importing large or complex QR-code images.Upgrade for the combined ZimaOS workload, not because OTP generation itself is resource intensive.
Multi-container home servers.Plan hardware growth with confidence
Improve 2FAuth reliability through key/database protection before adding compute.
Keep SQLite for simple deployments
2FAuth explicitly recommends SQLite for single-user or limited-user deployments.
Reduces operational overhead and keeps the app lightweight.Move to PostgreSQL/MariaDB only when multi-user needs justify it
2FAuth supports server-based SQL databases for larger deployments.
Size and back up the database service separately.Back up APP_KEY with the database
Sensitive data can be encrypted with APP_KEY; losing it can make encrypted records unrecoverable.
Store key backups securely and separately.Use the QR memory override only when needed
PHP_MEMORY_LIMIT_TEMP_OVERRIDE raises memory temporarily for QR-code detection instead of increasing all PHP processing limits.
Useful for problematic imports without over-sizing the whole host.Can it run on ZimaOS?
2FAuth is currently available in the ZimaOS App Store under Productivity.
Install 2FAuth from ZimaOS
Use the packaged self-hosted OTP manager with persistent application/database data.
Open 2FAuth in the ZimaOS App StoreUse current v8 software requirements
Current self-hosted docs require PHP 8.4+ and list supported databases, with SQLite recommended for small deployments.
Read 2FAuth self-hosted requirementsProtect encryption keys during deployment and upgrades
Current configuration docs warn that lost APP_KEY/previous keys can make encrypted data unusable.
Read 2FAuth environment variablesChoose Zima hardware for 2FAuth
2FAuth is far too lightweight to justify high-end hardware on its own. Choose Zima hardware for the other apps that share the server.
Is 2FAuth standalone or part of a larger self-hosted server?
ZimaBoard 2 832 provides enormous headroom.
- Normal 2FAuth hostZimaBoard 2 832
- Larger shared productivity/security stackZimaBoard 2 1664
Choose ZimaCube for the surrounding storage/application platform, not 2FAuth compute.
- Integrated home-cloud hostZimaCube 2 Standard
No authentication-service availability guarantee is implied. Backups, key protection, HTTPS and host resilience matter more than raw compute.
| Zima hardware | Best for | Example workload | Core configuration | Recommended boundary | Next step |
|---|---|---|---|---|---|
| ZimaBoard 2 832 | 2FAuth plus lightweight self-hosted services. | OTP management, SQLite and normal QR imports. |
|
2FAuth will not be the hardware bottleneck. | Get Now |
| ZimaBoard 2 1664 | A larger shared productivity/security server. | 2FAuth plus many other containers. |
|
16 GB is for the wider stack, not 2FAuth. | Get Now |
| ZimaCube 2 Standard | A home-cloud/NAS that also hosts 2FAuth. | Storage, backups and applications with 2FAuth as a tiny service. |
|
Choose it for the broader platform. | Get Now |
What the Press Says
Highlights from trusted reviewers worldwide.
“ZimaCube 2: Not just another NAS, tested with 25TB storage, local AI agents, 4K transcoding, and real homelab workflows.”Read full review
“The ZimaBoard 2 is a compact x86 server board that can be turned into a mini NAS, home server, media box, or self-hosting hub.”Read full review
“ZimaCube 2: A modern, high-performance NAS with plenty of room to grow—built for users who want more than basic storage.”Read full review
“Coverage focused on ZimaCube 2's open hardware foundation, no monthly fee, and self-hosting flexibility.”Read full review
Loved by the Community
Stories and reviews from people who build with Zima every day.
Zima Blade Little yet Powerful
Maybe I am not digital natives but I live with PCs since 12 years old in 1984 when IBM PC clone come to my home. Many years have passed and many operating system I've tried. For me Zima blade and CasaOS was a quantum leap for home PC enthusiast and server lab machine to make me stay curious and relevant for this era.
Very good!!
I use ZimaCube Pro as 5th Proxmox cluster node. It runs several VMs and containers, including a VM with GPU passthrough to run a self-hosted LLM. A specific LXC container runs a Samba server for NAS capabilities using four of six RAID 6 SATA HDDs with ZFS.
Great innovation for mini server!
It is very useful and makes a powerful mini server for many purposes, including university and college students in engineering and electronics. Thank you so much for making this server.
Avaliação ZimaBoard 2
Construí um servidor de uso pessoal. O desempenho está muito bom e funciona perfeitamente onde quer que eu esteja. A surpresa é não dependermos de grandes estruturas para termos nosso próprio servidor de dados. Como iniciante, estou gostando bastante do ZimaOS, pois ele é simples e eficiente.
Frequently asked questions
FAQ topics cover RAM, SQLite, PHP 8.4, QR-import memory, Docker architectures, APP_KEY and backup recovery.
How much RAM does 2FAuth need?
2FAuth does not publish a host RAM minimum and describes itself as a very light application with minimal needs.
Is 256 MB RAM the 2FAuth minimum?
No. 256 MB is the normal PHP memory limit in the official Docker image, not the host's required system RAM.
Why does 2FAuth mention 512 MB for QR codes?
Current v8 uses a temporary PHP memory override, default 512 MB, specifically for QR-code detection because image processing can exceed the normal limit.
Should 2FAuth use SQLite?
Yes for single-user or limited-user deployments; current docs explicitly call SQLite the best choice for that use case.
What PHP version does current 2FAuth require?
The current v8 self-hosted server documentation requires PHP 8.4 or newer.
What happens if I lose APP_KEY?
Current docs warn that encrypted data must be considered lost if the required encryption key is lost. Back up APP_KEY and previous keys securely.
Can ZimaBoard 2 832 run 2FAuth?
Easily. Its N150 and 8 GB RAM are far above the application's normal needs.
What should I back up before upgrading 2FAuth?
At minimum back up the SQLite database when using SQLite, and preserve APP_KEY/APP_PREVIOUS_KEYS because encrypted data depends on them.
What sources and further reading informed this 2FAuth hardware guide?
Current 2FAuth v8 self-hosted, Docker, environment-variable and upgrade docs define PHP/database support, process memory limits, key handling and backup requirements; ZimaOS confirms the app listing.
