OrchidApp is a self-hosted orchid collection manager for plants, taxonomy, locations, observations, flowering, repotting, photos and lineage. It uses an ASP.NET Core Razor Pages web application (.NET 8) and MariaDB. Packaged Windows releases include a launcher and runtime components; Raspberry Pi/Linux deployments use an externally managed database and web service.
- Users: installation, first-use, backup and recovery guides.
- Developers: development machine and first run, then contributing.
- Maintainers: documentation ownership, database creation contract and open code changes.
- Releases: release notes. Retired instructions and recent superseded deliveries are preserved in documentation history.
Plant records have permanent tags, optional acquisition details, event history and split/propagation lineage. Shared search covers botanical names and active plants. Genus/taxon notes support basic formatting. Images are processed through NetVips/libvips and stored as files; database metadata and upload files must be backed up together.
The data model assigns structural lifecycle work to stored procedures and uses EF Core for other writes. Detailed behaviour and current enforcement limits are in architecture and temporal design. Do not infer universal checksum, temporal ordering, metadata removal, rollback or recovery guarantees from a successful build.
A new database must be built from database/schema/ and required reference seeds alone. Historical migrations are not a creation mechanism. Baseline metadata must permit only subsequent changes to be applied later. The creation contract identifies current automation gaps; do not replay migrations to work around them.
Back up and verify a recovery path before upgrades. Application binaries are replaceable; the database, photos, configuration and settings are durable data. Windows legacy migration and settings restore have known pending fixes; user guides identify those limits rather than promise validated recovery.
OrchidApp assumes trusted local/home-network access. It has no built-in multi-user authentication and is not intended for direct public internet exposure. Keep credentials outside committed shared settings and keep backups private. Network/device access control is the operator's responsibility.
See LICENSE, third-party notices, and the application About/Licences pages. For support, include the app version, platform, attempted action and exact error; provide logs only when requested and review them for secrets.
Screenshots illustrate workflows and may not show every control in the current build.




