diff --git a/apps/ainas-controlplane/appinfo/info.xml b/apps/betternascontrolplane/appinfo/info.xml
similarity index 67%
rename from apps/ainas-controlplane/appinfo/info.xml
rename to apps/betternascontrolplane/appinfo/info.xml
index 5d459ca..7753e20 100644
--- a/apps/ainas-controlplane/appinfo/info.xml
+++ b/apps/betternascontrolplane/appinfo/info.xml
@@ -1,30 +1,30 @@
- ainascontrolplane
+ betternascontrolplane
betterNAS Control Plane
Thin betterNAS shell app for Nextcloud integration
Provides betterNAS-branded entry points inside Nextcloud while delegating business logic to the betterNAS control plane.
0.1.0
AGPL-3.0-or-later
- betterNAS
- AinasControlplane
+ betterNAS
+ BetterNasControlplane
integration
- ainascontrolplane
+ betternascontrolplane
betterNAS
- ainascontrolplane.page.index
+ betternascontrolplane.page.index
app.svg
link
- OCA\AinasControlplane\Settings\Admin
- OCA\AinasControlplane\Settings\AdminSection
+ OCA\BetterNasControlplane\Settings\Admin
+ OCA\BetterNasControlplane\Settings\AdminSection
diff --git a/apps/ainas-controlplane/composer.json b/apps/betternascontrolplane/composer.json
similarity index 71%
rename from apps/ainas-controlplane/composer.json
rename to apps/betternascontrolplane/composer.json
index 54e49f8..20a25ab 100644
--- a/apps/ainas-controlplane/composer.json
+++ b/apps/betternascontrolplane/composer.json
@@ -1,10 +1,10 @@
{
- "name": "ainas/ainascontrolplane",
+ "name": "betternas/betternascontrolplane",
"description": "betterNAS Nextcloud shell app",
"license": "AGPL-3.0-or-later",
"autoload": {
"psr-4": {
- "OCA\\AinasControlplane\\": "lib/"
+ "OCA\\BetterNasControlplane\\": "lib/"
}
},
"require": {
diff --git a/apps/ainas-controlplane/css/ainascontrolplane.css b/apps/betternascontrolplane/css/betternascontrolplane.css
similarity index 73%
rename from apps/ainas-controlplane/css/ainascontrolplane.css
rename to apps/betternascontrolplane/css/betternascontrolplane.css
index d5aec9e..e4b2840 100644
--- a/apps/ainas-controlplane/css/ainascontrolplane.css
+++ b/apps/betternascontrolplane/css/betternascontrolplane.css
@@ -1,10 +1,10 @@
-.ainas-shell {
+.betternas-shell {
max-width: 1100px;
margin: 0 auto;
padding: 32px;
}
-.ainas-shell__hero {
+.betternas-shell__hero {
margin-bottom: 28px;
padding: 28px;
border-radius: 24px;
@@ -12,7 +12,7 @@
color: #f6fafc;
}
-.ainas-shell__eyebrow {
+.betternas-shell__eyebrow {
margin: 0 0 12px;
font-size: 12px;
letter-spacing: 0.12em;
@@ -20,26 +20,26 @@
opacity: 0.8;
}
-.ainas-shell__title {
+.betternas-shell__title {
margin: 0 0 12px;
font-size: 32px;
line-height: 1.1;
}
-.ainas-shell__copy {
+.betternas-shell__copy {
margin: 0;
max-width: 70ch;
font-size: 15px;
line-height: 1.6;
}
-.ainas-shell__grid {
+.betternas-shell__grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
}
-.ainas-shell__card {
+.betternas-shell__card {
padding: 24px;
border: 1px solid rgba(16, 33, 45, 0.12);
border-radius: 20px;
@@ -47,38 +47,38 @@
box-shadow: 0 20px 40px rgba(16, 33, 45, 0.06);
}
-.ainas-shell__card h2 {
+.betternas-shell__card h2 {
margin-top: 0;
}
-.ainas-shell__card dl {
+.betternas-shell__card dl {
display: grid;
grid-template-columns: minmax(120px, 160px) 1fr;
gap: 8px 16px;
margin: 0;
}
-.ainas-shell__card dt {
+.betternas-shell__card dt {
font-weight: 600;
}
-.ainas-shell__card dd {
+.betternas-shell__card dd {
margin: 0;
}
-.ainas-shell__card code {
+.betternas-shell__card code {
display: inline-block;
padding: 4px 8px;
border-radius: 999px;
background: #eef4f7;
}
-.ainas-shell__card ul {
+.betternas-shell__card ul {
margin: 0;
padding-left: 20px;
}
-.ainas-shell__error {
+.betternas-shell__error {
margin-top: 16px;
color: #b42318;
}
diff --git a/apps/ainas-controlplane/img/app-dark.svg b/apps/betternascontrolplane/img/app-dark.svg
similarity index 100%
rename from apps/ainas-controlplane/img/app-dark.svg
rename to apps/betternascontrolplane/img/app-dark.svg
diff --git a/apps/ainas-controlplane/img/app.svg b/apps/betternascontrolplane/img/app.svg
similarity index 100%
rename from apps/ainas-controlplane/img/app.svg
rename to apps/betternascontrolplane/img/app.svg
diff --git a/apps/ainas-controlplane/lib/AppInfo/Application.php b/apps/betternascontrolplane/lib/AppInfo/Application.php
similarity index 83%
rename from apps/ainas-controlplane/lib/AppInfo/Application.php
rename to apps/betternascontrolplane/lib/AppInfo/Application.php
index 6a6dbd2..90167f5 100644
--- a/apps/ainas-controlplane/lib/AppInfo/Application.php
+++ b/apps/betternascontrolplane/lib/AppInfo/Application.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace OCA\AinasControlplane\AppInfo;
+namespace OCA\BetterNasControlplane\AppInfo;
use OCP\AppFramework\App;
use OCP\AppFramework\Bootstrap\IBootContext;
@@ -10,7 +10,7 @@ use OCP\AppFramework\Bootstrap\IBootstrap;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
class Application extends App implements IBootstrap {
- public const APP_ID = 'ainascontrolplane';
+ public const APP_ID = 'betternascontrolplane';
public function __construct() {
parent::__construct(self::APP_ID);
diff --git a/apps/ainas-controlplane/lib/Controller/ApiController.php b/apps/betternascontrolplane/lib/Controller/ApiController.php
similarity index 80%
rename from apps/ainas-controlplane/lib/Controller/ApiController.php
rename to apps/betternascontrolplane/lib/Controller/ApiController.php
index 78e52d9..528ae03 100644
--- a/apps/ainas-controlplane/lib/Controller/ApiController.php
+++ b/apps/betternascontrolplane/lib/Controller/ApiController.php
@@ -2,10 +2,10 @@
declare(strict_types=1);
-namespace OCA\AinasControlplane\Controller;
+namespace OCA\BetterNasControlplane\Controller;
-use OCA\AinasControlplane\AppInfo\Application;
-use OCA\AinasControlplane\Service\ControlPlaneClient;
+use OCA\BetterNasControlplane\AppInfo\Application;
+use OCA\BetterNasControlplane\Service\ControlPlaneClient;
use OCP\AppFramework\Http\Attribute\ApiRoute;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\DataResponse;
diff --git a/apps/ainas-controlplane/lib/Controller/PageController.php b/apps/betternascontrolplane/lib/Controller/PageController.php
similarity index 82%
rename from apps/ainas-controlplane/lib/Controller/PageController.php
rename to apps/betternascontrolplane/lib/Controller/PageController.php
index f7f7b8d..f88c076 100644
--- a/apps/ainas-controlplane/lib/Controller/PageController.php
+++ b/apps/betternascontrolplane/lib/Controller/PageController.php
@@ -2,11 +2,11 @@
declare(strict_types=1);
-namespace OCA\AinasControlplane\Controller;
+namespace OCA\BetterNasControlplane\Controller;
-use OCA\AinasControlplane\AppInfo\Application;
-use OCA\AinasControlplane\Service\ControlPlaneClient;
-use OCA\AinasControlplane\Service\ControlPlaneConfig;
+use OCA\BetterNasControlplane\AppInfo\Application;
+use OCA\BetterNasControlplane\Service\ControlPlaneClient;
+use OCA\BetterNasControlplane\Service\ControlPlaneConfig;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\Attribute\FrontpageRoute;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
diff --git a/apps/ainas-controlplane/lib/Service/ControlPlaneClient.php b/apps/betternascontrolplane/lib/Service/ControlPlaneClient.php
similarity index 97%
rename from apps/ainas-controlplane/lib/Service/ControlPlaneClient.php
rename to apps/betternascontrolplane/lib/Service/ControlPlaneClient.php
index e60ca22..81fa93d 100644
--- a/apps/ainas-controlplane/lib/Service/ControlPlaneClient.php
+++ b/apps/betternascontrolplane/lib/Service/ControlPlaneClient.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace OCA\AinasControlplane\Service;
+namespace OCA\BetterNasControlplane\Service;
use OCP\Http\Client\IClientService;
use OCP\Http\Client\IResponse;
diff --git a/apps/ainas-controlplane/lib/Service/ControlPlaneConfig.php b/apps/betternascontrolplane/lib/Service/ControlPlaneConfig.php
similarity index 76%
rename from apps/ainas-controlplane/lib/Service/ControlPlaneConfig.php
rename to apps/betternascontrolplane/lib/Service/ControlPlaneConfig.php
index 0b443d0..f167152 100644
--- a/apps/ainas-controlplane/lib/Service/ControlPlaneConfig.php
+++ b/apps/betternascontrolplane/lib/Service/ControlPlaneConfig.php
@@ -2,9 +2,9 @@
declare(strict_types=1);
-namespace OCA\AinasControlplane\Service;
+namespace OCA\BetterNasControlplane\Service;
-use OCA\AinasControlplane\AppInfo\Application;
+use OCA\BetterNasControlplane\AppInfo\Application;
use OCP\IAppConfig;
class ControlPlaneConfig {
@@ -14,7 +14,7 @@ class ControlPlaneConfig {
}
public function getBaseUrl(): string {
- $environmentUrl = getenv('AINAS_CONTROL_PLANE_URL');
+ $environmentUrl = getenv('BETTERNAS_CONTROL_PLANE_URL');
if (is_string($environmentUrl) && $environmentUrl !== '') {
return rtrim($environmentUrl, '/');
}
diff --git a/apps/ainas-controlplane/lib/Settings/Admin.php b/apps/betternascontrolplane/lib/Settings/Admin.php
similarity index 76%
rename from apps/ainas-controlplane/lib/Settings/Admin.php
rename to apps/betternascontrolplane/lib/Settings/Admin.php
index 927bfb4..e900e4e 100644
--- a/apps/ainas-controlplane/lib/Settings/Admin.php
+++ b/apps/betternascontrolplane/lib/Settings/Admin.php
@@ -2,11 +2,11 @@
declare(strict_types=1);
-namespace OCA\AinasControlplane\Settings;
+namespace OCA\BetterNasControlplane\Settings;
-use OCA\AinasControlplane\AppInfo\Application;
-use OCA\AinasControlplane\Service\ControlPlaneClient;
-use OCA\AinasControlplane\Service\ControlPlaneConfig;
+use OCA\BetterNasControlplane\AppInfo\Application;
+use OCA\BetterNasControlplane\Service\ControlPlaneClient;
+use OCA\BetterNasControlplane\Service\ControlPlaneConfig;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\Settings\ISettings;
diff --git a/apps/ainas-controlplane/lib/Settings/AdminSection.php b/apps/betternascontrolplane/lib/Settings/AdminSection.php
similarity index 85%
rename from apps/ainas-controlplane/lib/Settings/AdminSection.php
rename to apps/betternascontrolplane/lib/Settings/AdminSection.php
index 2b2346f..5a3ab0b 100644
--- a/apps/ainas-controlplane/lib/Settings/AdminSection.php
+++ b/apps/betternascontrolplane/lib/Settings/AdminSection.php
@@ -2,9 +2,9 @@
declare(strict_types=1);
-namespace OCA\AinasControlplane\Settings;
+namespace OCA\BetterNasControlplane\Settings;
-use OCA\AinasControlplane\AppInfo\Application;
+use OCA\BetterNasControlplane\AppInfo\Application;
use OCP\IL10N;
use OCP\IURLGenerator;
use OCP\Settings\IIconSection;
diff --git a/apps/ainas-controlplane/templates/admin.php b/apps/betternascontrolplane/templates/admin.php
similarity index 56%
rename from apps/ainas-controlplane/templates/admin.php
rename to apps/betternascontrolplane/templates/admin.php
index 465542a..57f4395 100644
--- a/apps/ainas-controlplane/templates/admin.php
+++ b/apps/betternascontrolplane/templates/admin.php
@@ -2,27 +2,27 @@
declare(strict_types=1);
-use OCA\AinasControlplane\AppInfo\Application;
+use OCA\BetterNasControlplane\AppInfo\Application;
use OCP\Util;
-Util::addStyle(Application::APP_ID, 'ainascontrolplane');
+Util::addStyle(Application::APP_ID, 'betternascontrolplane');
$snapshot = $_['snapshot'];
$reachable = !empty($snapshot['available']) ? 'yes' : 'no';
$version = $snapshot['version']['version'] ?? 'unreachable';
?>
-
-
-
Admin settings
-
betterNAS control-plane wiring
-
- The local scaffold wires this app to the control plane through the AINAS_CONTROL_PLANE_URL environment variable in the Nextcloud container.
+
+
+
Admin settings
+
betterNAS control-plane wiring
+
+ The local scaffold wires this app to the control plane through the BETTERNAS_CONTROL_PLANE_URL environment variable in the Nextcloud container.
-
-
+
+
Current wiring
- Control-plane URL
@@ -34,7 +34,7 @@ $version = $snapshot['version']['version'] ?? 'unreachable';
-
+
Next step
Keep storage policy, sharing logic, and orchestration in the control-plane service. This page should remain a thin integration surface.
diff --git a/apps/ainas-controlplane/templates/index.php b/apps/betternascontrolplane/templates/index.php
similarity index 64%
rename from apps/ainas-controlplane/templates/index.php
rename to apps/betternascontrolplane/templates/index.php
index 17f5a19..f27317e 100644
--- a/apps/ainas-controlplane/templates/index.php
+++ b/apps/betternascontrolplane/templates/index.php
@@ -2,10 +2,10 @@
declare(strict_types=1);
-use OCA\AinasControlplane\AppInfo\Application;
+use OCA\BetterNasControlplane\AppInfo\Application;
use OCP\Util;
-Util::addStyle(Application::APP_ID, 'ainascontrolplane');
+Util::addStyle(Application::APP_ID, 'betternascontrolplane');
$snapshot = $_['snapshot'];
$version = $snapshot['version']['version'] ?? 'unreachable';
@@ -13,17 +13,17 @@ $status = !empty($snapshot['available']) ? 'Connected' : 'Unavailable';
$error = $snapshot['error'] ?? null;
?>
-
-
-
betterNAS inside Nextcloud
-
-
+
+
+
betterNAS inside Nextcloud
+
+
This shell app stays intentionally thin. It exposes betterNAS entry points inside Nextcloud and delegates business logic to the external control-plane service.
-
-
+
+
Control plane
- Configured URL
@@ -34,11 +34,11 @@ $error = $snapshot['error'] ?? null;
-
+
-
+
Boundary
- Nextcloud provides file and client primitives.
diff --git a/docker/compose.dev.yml b/docker/compose.dev.yml
index fd21281..12ed203 100644
--- a/docker/compose.dev.yml
+++ b/docker/compose.dev.yml
@@ -30,7 +30,7 @@ services:
dockerfile: exapps/control-plane/Dockerfile
environment:
PORT: 3000
- AINAS_VERSION: local-dev
+ BETTERNAS_VERSION: local-dev
NEXTCLOUD_BASE_URL: http://nextcloud
ports:
- "3001:3000"
@@ -61,7 +61,7 @@ services:
REDIS_HOST: redis
NEXTCLOUD_ADMIN_USER: admin
NEXTCLOUD_ADMIN_PASSWORD: admin
- AINAS_CONTROL_PLANE_URL: http://control-plane:3000
+ BETTERNAS_CONTROL_PLANE_URL: http://control-plane:3000
ports:
- "8080:80"
volumes:
diff --git a/docs/architecture.md b/docs/architecture.md
index 56e0ec9..5171619 100644
--- a/docs/architecture.md
+++ b/docs/architecture.md
@@ -6,7 +6,7 @@ betterNAS treats Nextcloud as an upstream backend, not as the place where better
That leads to three explicit boundaries:
-1. `apps/ainas-controlplane/` is a thin shell inside Nextcloud.
+1. `apps/betternascontrolplane/` is a thin shell inside Nextcloud.
2. `exapps/control-plane/` owns betterNAS business logic and internal APIs.
3. `packages/contracts/` defines the interface between the shell app and the control plane.
diff --git a/exapps/control-plane/package.json b/exapps/control-plane/package.json
index 80db795..040ca65 100644
--- a/exapps/control-plane/package.json
+++ b/exapps/control-plane/package.json
@@ -1,5 +1,5 @@
{
- "name": "@ainas/control-plane",
+ "name": "@betternas/control-plane",
"version": "0.1.0",
"private": true,
"type": "module",
@@ -11,7 +11,7 @@
"typecheck": "tsc --noEmit -p tsconfig.json"
},
"dependencies": {
- "@ainas/contracts": "file:../../packages/contracts"
+ "@betternas/contracts": "file:../../packages/contracts"
},
"devDependencies": {
"@types/node": "^22.18.6",
diff --git a/exapps/control-plane/src/adapters/nextcloud-backend.ts b/exapps/control-plane/src/adapters/nextcloud-backend.ts
index ea2befd..8c892c0 100644
--- a/exapps/control-plane/src/adapters/nextcloud-backend.ts
+++ b/exapps/control-plane/src/adapters/nextcloud-backend.ts
@@ -1,4 +1,4 @@
-import type { NextcloudBackendStatus } from "@ainas/contracts";
+import type { NextcloudBackendStatus } from "@betternas/contracts";
export class NextcloudBackendAdapter {
constructor(private readonly baseUrl: string) {}
diff --git a/exapps/control-plane/src/app.ts b/exapps/control-plane/src/app.ts
index e32f556..7f30e1e 100644
--- a/exapps/control-plane/src/app.ts
+++ b/exapps/control-plane/src/app.ts
@@ -3,7 +3,7 @@ import {
CONTROL_PLANE_ROUTES,
type ControlPlaneHealthResponse,
type ControlPlaneVersionResponse
-} from "@ainas/contracts";
+} from "@betternas/contracts";
import type { ControlPlaneConfig } from "./config.js";
import { NextcloudBackendAdapter } from "./adapters/nextcloud-backend.js";
diff --git a/exapps/control-plane/src/config.ts b/exapps/control-plane/src/config.ts
index d3e3381..5be23d0 100644
--- a/exapps/control-plane/src/config.ts
+++ b/exapps/control-plane/src/config.ts
@@ -14,7 +14,7 @@ export function loadConfig(env: NodeJS.ProcessEnv = process.env): ControlPlaneCo
return {
port,
- version: env.AINAS_VERSION ?? "0.1.0-dev",
+ version: env.BETTERNAS_VERSION ?? "0.1.0-dev",
nextcloudBaseUrl: normalizeBaseUrl(env.NEXTCLOUD_BASE_URL ?? "http://nextcloud")
};
}
diff --git a/nextcloud.txt b/nextcloud.txt
index a63f81b..c40637e 100644
--- a/nextcloud.txt
+++ b/nextcloud.txt
@@ -17,7 +17,7 @@ docker/
nextcloud/
CADDY/
apps/
- ainas-controlplane/ #generate from nextcloud tempalte
+ betternascontrolplane/ #generate from nextcloud tempalte
exapps/
sharing-service/ #golang/python
policy-service/
diff --git a/package-lock.json b/package-lock.json
index fa88499..f1bdc02 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,20 +1,20 @@
{
- "name": "ainas",
+ "name": "betternas",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "ainas",
+ "name": "betternas",
"workspaces": [
"packages/*",
"exapps/*"
]
},
"exapps/control-plane": {
- "name": "@ainas/control-plane",
+ "name": "@betternas/control-plane",
"version": "0.1.0",
"dependencies": {
- "@ainas/contracts": "file:../../packages/contracts"
+ "@betternas/contracts": "file:../../packages/contracts"
},
"devDependencies": {
"@types/node": "^22.18.6",
@@ -22,11 +22,11 @@
"typescript": "^5.9.3"
}
},
- "node_modules/@ainas/contracts": {
+ "node_modules/@betternas/contracts": {
"resolved": "packages/contracts",
"link": true
},
- "node_modules/@ainas/control-plane": {
+ "node_modules/@betternas/control-plane": {
"resolved": "exapps/control-plane",
"link": true
},
@@ -604,7 +604,7 @@
"license": "MIT"
},
"packages/contracts": {
- "name": "@ainas/contracts",
+ "name": "@betternas/contracts",
"version": "0.1.0"
}
}
diff --git a/package.json b/package.json
index 39c245f..94bf31f 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "ainas",
+ "name": "betternas",
"private": true,
"packageManager": "npm@10.9.7",
"workspaces": [
@@ -7,9 +7,9 @@
"exapps/*"
],
"scripts": {
- "build": "npm run build --workspace @ainas/contracts && npm run build --workspace @ainas/control-plane",
- "typecheck": "npm run typecheck --workspace @ainas/contracts && npm run typecheck --workspace @ainas/control-plane",
- "dev:control-plane": "npm run dev --workspace @ainas/control-plane"
+ "build": "npm run build --workspace @betternas/contracts && npm run build --workspace @betternas/control-plane",
+ "typecheck": "npm run typecheck --workspace @betternas/contracts && npm run typecheck --workspace @betternas/control-plane",
+ "dev:control-plane": "npm run dev --workspace @betternas/control-plane"
}
}
diff --git a/packages/contracts/package.json b/packages/contracts/package.json
index 428dbc6..c4c57e8 100644
--- a/packages/contracts/package.json
+++ b/packages/contracts/package.json
@@ -1,5 +1,5 @@
{
- "name": "@ainas/contracts",
+ "name": "@betternas/contracts",
"version": "0.1.0",
"private": true,
"type": "module",
diff --git a/packages/contracts/schemas/control-plane-health.schema.json b/packages/contracts/schemas/control-plane-health.schema.json
index 803bb10..c43bda2 100644
--- a/packages/contracts/schemas/control-plane-health.schema.json
+++ b/packages/contracts/schemas/control-plane-health.schema.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
- "$id": "https://ainas.local/schemas/control-plane-health.schema.json",
+ "$id": "https://betternas.local/schemas/control-plane-health.schema.json",
"type": "object",
"additionalProperties": false,
"required": [
diff --git a/packages/contracts/schemas/control-plane-version.schema.json b/packages/contracts/schemas/control-plane-version.schema.json
index 15b10da..1133e53 100644
--- a/packages/contracts/schemas/control-plane-version.schema.json
+++ b/packages/contracts/schemas/control-plane-version.schema.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
- "$id": "https://ainas.local/schemas/control-plane-version.schema.json",
+ "$id": "https://betternas.local/schemas/control-plane-version.schema.json",
"type": "object",
"additionalProperties": false,
"required": [
diff --git a/phase1.txt b/phase1.txt
index 7e58baf..4fd9c5f 100644
--- a/phase1.txt
+++ b/phase1.txt
@@ -1,9 +1,9 @@
betterNAS repo
- │ apps/ainas-controlplane
+ │ apps/betternascontrolplane
│ PHP Nextcloud app
│ - nav entry: "betterNAS"
- │ - page route: /index.php/apps/ainascontrolplane/
- │ - OCS route: /ocs/v2.php/apps/ainascontrolplane/api/status
+ │ - page route: /index.php/apps/betternascontrolplane/
+ │ - OCS route: /ocs/v2.php/apps/betternascontrolplane/api/status
│ - job today: call control-plane and render a thin shell
│
│ exapps/control-plane
diff --git a/scripts/dev-up b/scripts/dev-up
index e611d11..c42ad65 100755
--- a/scripts/dev-up
+++ b/scripts/dev-up
@@ -4,7 +4,7 @@ set -euo pipefail
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
compose_file="$repo_root/docker/compose.dev.yml"
-app_source_dir="$repo_root/apps/ainas-controlplane"
+app_source_dir="$repo_root/apps/betternascontrolplane"
nextcloud_occ() {
docker compose -f "$compose_file" exec -T --user www-data --workdir /var/www/html nextcloud php occ "$@"
@@ -17,13 +17,13 @@ nextcloud_is_installed() {
docker compose -f "$compose_file" up -d --build
docker compose -f "$compose_file" exec -T --user root nextcloud sh -lc '
- mkdir -p /var/www/html/custom_apps/ainascontrolplane
+ mkdir -p /var/www/html/custom_apps/betternascontrolplane
chown -R www-data:www-data /var/www/html/custom_apps
'
-docker compose -f "$compose_file" cp "$app_source_dir/." nextcloud:/var/www/html/custom_apps/ainascontrolplane
+docker compose -f "$compose_file" cp "$app_source_dir/." nextcloud:/var/www/html/custom_apps/betternascontrolplane
docker compose -f "$compose_file" exec -T --user root nextcloud sh -lc '
- chown -R www-data:www-data /var/www/html/custom_apps/ainascontrolplane
+ chown -R www-data:www-data /var/www/html/custom_apps/betternascontrolplane
'
echo "Waiting for Nextcloud command interface..."
@@ -60,7 +60,7 @@ if ! nextcloud_is_installed; then
fi
fi
-nextcloud_occ app:enable --force ainascontrolplane >/dev/null
+nextcloud_occ app:enable --force betternascontrolplane >/dev/null
echo "Nextcloud: http://localhost:8080"
echo "betterNAS control plane: http://localhost:3001"