mirror of
https://github.com/harivansh-afk/betterNAS.git
synced 2026-04-15 14:03:48 +00:00
5.1 KiB
5.1 KiB
betterNAS References
This file tracks the upstream repos, tools, and docs we are likely to reuse, reference, fork from, or borrow ideas from as betterNAS evolves.
The goal is simple: do not lose the external pieces that give us leverage.
NAS node
WebDAV server candidates
-
rclone serve webdav- repo: https://github.com/rclone/rclone
- why: fast way to stand up a WebDAV layer over existing storage
-
hacdias/webdav- repo: https://github.com/hacdias/webdav
- why: small standalone WebDAV server, easy to reason about
-
Apache
mod_dav- docs: https://httpd.apache.org/docs/current/mod/mod_dav.html
- why: standard WebDAV implementation if we want conventional infra
Nix / host configuration
-
NixOS manual
- docs: https://nixos.org/manual/nixos/stable/
- why: host module design, service config, declarative machine setup
-
Nixpkgs
- repo: https://github.com/NixOS/nixpkgs
- why: reference for packaging and service modules
Control plane
Backend and infra references
-
Go routing enhancements
- docs: https://go.dev/blog/routing-enhancements
- why: best low-dependency baseline if we stay with the standard library
-
chi- repo: https://github.com/go-chi/chi
- why: thin stdlib-friendly router if we want middleware and route groups
-
PostgreSQL
- docs: https://www.postgresql.org/docs/
- why: source of truth for product metadata
-
pgx- repo: https://github.com/jackc/pgx
- why: Postgres-first Go driver and toolkit
-
sqlc- repo: https://github.com/sqlc-dev/sqlc
- why: typed query generation for Go
-
Redis
- docs: https://redis.io/docs/latest/
- why: cache, jobs, ephemeral coordination
-
go-redis- repo: https://github.com/redis/go-redis
- why: primary Redis client for Go
-
asynq- repo: https://github.com/hibiken/asynq
- why: practical Redis-backed background jobs
-
koanf- repo: https://github.com/knadh/koanf
- why: layered config if the control plane grows beyond env-only config
-
envconfig- repo: https://github.com/kelseyhightower/envconfig
- why: small env-only config loader
-
log/slog- docs: https://pkg.go.dev/log/slog
- why: structured logging without extra dependencies
-
oapi-codegen- repo: https://github.com/oapi-codegen/oapi-codegen
- why: generate Go and TS surfaces from OpenAPI with less drift
SSH access / gateway reference
sshpiper- repo: https://github.com/tg123/sshpiper
- why: SSH proxy/gateway reference if we add SSH-brokered access later
Local device
macOS native mount references
-
Apple Finder
Connect to Server- docs: https://support.apple.com/en-lamr/guide/mac-help/mchlp3015/mac
- why: baseline native mounting UX on macOS
-
Apple Finder WebDAV mounting
- docs: https://support.apple.com/is-is/guide/mac-help/mchlp1546/mac
- why: direct WebDAV mount behavior in Finder
macOS integration references
-
Apple developer docs
- docs: https://developer.apple.com/documentation/
- why: Keychain, launch agents, desktop helpers, future native integration
-
Keychain data protection
- docs: https://support.apple.com/guide/security/keychain-data-protection-secb0694df1a/web
- why: baseline secret-storage model for device credentials
-
Finder Sync extensions
- docs: https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/Finder.html
- why: future helper-app integration pattern if Finder UX grows
-
WebDAV RFC 4918
- docs: https://www.rfc-editor.org/rfc/rfc4918
- why: protocol semantics and caveats
Cloud / web layer
Nextcloud server and app references
-
Nextcloud server
- repo: https://github.com/nextcloud/server
- why: cloud/web/share substrate
-
Nextcloud app template
- repo: https://github.com/nextcloud/app_template
- why: official starting point for the thin shell app
-
Nextcloud AppAPI / ExApps
- docs: https://docs.nextcloud.com/server/latest/admin_manual/exapps_management/AppAPIAndExternalApps.html
- why: external app integration model
Nextcloud client references
-
Nextcloud desktop
- repo: https://github.com/nextcloud/desktop
- why: Finder/cloud-drive style reference behavior
-
Nextcloud iOS
- repo: https://github.com/nextcloud/ios
- why: mobile reference implementation
Nextcloud storage and protocol references
-
Nextcloud WebDAV access
- docs: https://docs.nextcloud.com/server/latest/user_manual/en/files/access_webdav.html
- why: protocol and client behavior reference
-
Nextcloud external storage
- docs: https://docs.nextcloud.com/server/latest/user_manual/en/external_storage/external_storage.html
- why: storage aggregation reference
-
Nextcloud theming / branded clients
- docs: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/theming.html
- why: future branding path if Nextcloud stays user-facing
Frontend
- Next.js
- repo: https://github.com/vercel/next.js
- why: likely standalone control-plane web UI
Working rule
Use these references in this order:
- steal primitives that already solve boring problems
- adapt them at the control-plane boundary
- only fork or replace when the product meaningfully diverges