filesystem admin over HTTP https://www.betternas.com
Find a file
Harivansh Rathi 540313016b add local dev setup
Co-authored-by: Codex <noreply@openai.com>
2026-03-31 21:25:57 +00:00
.codex/skills init openspec 2026-03-31 20:05:41 +00:00
apps/ainas-controlplane style the shell app 2026-03-31 21:25:53 +00:00
docker add local dev setup 2026-03-31 21:25:57 +00:00
docs add local dev setup 2026-03-31 21:25:57 +00:00
exapps/control-plane add control plane service 2026-03-31 21:25:42 +00:00
openspec init specification 1 2026-03-31 20:18:08 +00:00
packages/contracts add shared contracts 2026-03-31 21:25:38 +00:00
scripts add local dev setup 2026-03-31 21:25:57 +00:00
.gitignore add workspace base 2026-03-31 21:25:35 +00:00
nextcloud.txt update 2026-03-31 20:09:23 +00:00
package-lock.json add control plane service 2026-03-31 21:25:42 +00:00
package.json add workspace base 2026-03-31 21:25:35 +00:00
README.md add local dev setup 2026-03-31 21:25:57 +00:00
tsconfig.base.json add workspace base 2026-03-31 21:25:35 +00:00

aiNAS

aiNAS is a storage control-plane project that uses vanilla Nextcloud as an upstream backend instead of forking the core server. This repository starts with the foundational pieces we need to build our own product surfaces while keeping file primitives, sync compatibility, and existing client integrations delegated to Nextcloud.

Repository Layout

  • docker/: local development runtime for Nextcloud and aiNAS services
  • apps/ainas-controlplane/: thin Nextcloud shell app
  • exapps/control-plane/: aiNAS-owned control-plane service
  • packages/contracts/: shared API contracts used by aiNAS services and adapters
  • docs/: architecture and development notes
  • scripts/: repeatable developer workflows

Local Development

Requirements:

  • Docker with Compose support
  • Node.js 22+
  • npm 10+

Bootstrap the JavaScript workspace:

npm install

Start the local stack:

./scripts/dev-up

Stop the local stack:

./scripts/dev-down

Once the stack is up:

  • Nextcloud: http://localhost:8080
  • aiNAS control plane: http://localhost:3001

The dev-up script waits for Nextcloud installation to finish and then enables the ainascontrolplane custom app inside the container.

Architecture

The intended boundary is documented in docs/architecture.md. The short version is:

  • Nextcloud remains an upstream storage and client-compatibility backend.
  • The custom Nextcloud app is a shell and adapter layer.
  • aiNAS business logic lives in the control-plane service.