filesystem admin over HTTP https://www.betternas.com
Find a file
2026-04-01 00:03:52 +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 correct dev script 2026-04-01 00:02:16 +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 update tasks 2026-04-01 00:03:52 +00:00
packages/contracts add shared contracts 2026-03-31 21:25:38 +00:00
scripts correct dev script 2026-04-01 00:02:16 +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 correct dev script 2026-04-01 00:02:16 +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

Reset the local stack, including Docker volumes:

./scripts/dev-down --volumes

Once the stack is up:

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

The dev-up script waits for Nextcloud to report a healthy installed state, falls back to the documented occ maintenance:install flow if auto-install has not completed yet, 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.