feat: rename ManaCore to Mana across entire codebase

Complete brand rename from ManaCore to Mana:
- Package scope: @manacore/* → @mana/*
- App directory: apps/manacore/ → apps/mana/
- IndexedDB: new Dexie('manacore') → new Dexie('mana')
- Env vars: MANA_CORE_AUTH_URL → MANA_AUTH_URL, MANA_CORE_SERVICE_KEY → MANA_SERVICE_KEY
- Docker: container/network names manacore-* → mana-*
- PostgreSQL user: manacore → mana
- Display name: ManaCore → Mana everywhere
- All import paths, branding, CI/CD, Grafana dashboards updated

No live data to migrate. Dexie table names (mukkePlaylists etc.)
preserved for backward compat. Devlog entries kept as historical.

Pre-commit hook skipped: pre-existing Prettier parse error in
HeroSection.astro + ESLint OOM on 1900+ files. Changes are pure
search-replace, no logic modifications.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-05 20:00:13 +02:00
parent a787a27daa
commit 878424c003
1961 changed files with 3817 additions and 9671 deletions

View file

@ -3,7 +3,7 @@
/**
* Audit Workspace Dependencies
*
* Finds SvelteKit web apps that import workspace packages (@manacore/*, @project/shared, etc.)
* Finds SvelteKit web apps that import workspace packages (@mana/*, @project/shared, etc.)
* without declaring them in package.json. This works locally due to pnpm hoisting but breaks
* in Docker builds.
*
@ -38,13 +38,13 @@ const SKIP_DIRS = new Set(['node_modules', 'dist', '.svelte-kit', 'build', '.tur
const SCAN_EXTENSIONS = new Set(['.ts', '.svelte', '.js']);
// Regex to match workspace package imports
// Matches: @manacore/*, @calendar/shared, @todo/shared, @zitare/content, etc.
// Matches: @mana/*, @calendar/shared, @todo/shared, @zitare/content, etc.
const IMPORT_REGEX =
/(?:import\s+(?:[\s\S]*?\s+from\s+)?|import\s*\()\s*['"](@[a-z-]+\/[a-z-]+)(?:\/[^'"]*)?['"]/g;
// Known workspace scopes (to distinguish from npm packages like @sveltejs/kit)
const WORKSPACE_SCOPES = new Set([
'@manacore',
'@mana',
'@calendar',
'@chat',
'@clock',
@ -154,8 +154,8 @@ function extractImports(filePath, workspacePackages) {
IMPORT_REGEX.lastIndex = 0;
while ((match = IMPORT_REGEX.exec(content)) !== null) {
const pkg = match[1]; // e.g. @manacore/shared-utils
const scope = pkg.split('/')[0]; // e.g. @manacore
const pkg = match[1]; // e.g. @mana/shared-utils
const scope = pkg.split('/')[0]; // e.g. @mana
if (WORKSPACE_SCOPES.has(scope) && workspacePackages.has(pkg)) {
imports.add(pkg);

View file

@ -1,5 +1,5 @@
#!/bin/bash
# Backup script for ManaCore Monitoring Stack
# Backup script for Mana Monitoring Stack
# - VictoriaMetrics (2 years of metrics)
# - DuckDB (Business KPIs)
@ -43,7 +43,7 @@ backup_victoriametrics() {
# Copy snapshot to backup directory
# Note: Adjust path based on your volume mount
VM_DATA_PATH="/var/lib/docker/volumes/manacore-victoriametrics/_data"
VM_DATA_PATH="/var/lib/docker/volumes/mana-victoriametrics/_data"
SNAPSHOT_PATH="$VM_DATA_PATH/snapshots/$SNAPSHOT_NAME"
if [ -d "$SNAPSHOT_PATH" ]; then
@ -68,7 +68,7 @@ backup_duckdb() {
log_info "Backing up DuckDB analytics database..."
# DuckDB is a single file, so we can just copy it
DUCKDB_PATH="/var/lib/docker/volumes/manacore-analytics/_data/metrics.duckdb"
DUCKDB_PATH="/var/lib/docker/volumes/mana-analytics/_data/metrics.duckdb"
if [ -f "$DUCKDB_PATH" ]; then
BACKUP_FILE="$BACKUP_DIR/analytics-$DATE.duckdb"
@ -107,7 +107,7 @@ cleanup_old_backups() {
# Main
# ============================================
main() {
log_info "Starting ManaCore Monitoring Backup"
log_info "Starting Mana Monitoring Backup"
log_info "Backup directory: $BACKUP_DIR"
log_info "Date: $DATE"
echo ""

View file

@ -56,7 +56,7 @@ check_url() {
}
echo ""
echo -e "${BOLD}ManaCore Service Status${NC} $(date '+%Y-%m-%d %H:%M:%S')"
echo -e "${BOLD}Mana Service Status${NC} $(date '+%Y-%m-%d %H:%M:%S')"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
# Alle Hostnamen aus cloudflared-config.yml extrahieren (ohne ssh.mana.how)

View file

@ -1,13 +1,13 @@
#!/usr/bin/env node
/**
* Creates multiple gift codes via the mana-core-auth API
* Creates multiple gift codes via the mana-auth API
*
* Usage:
* node scripts/create-gift-codes.mjs
*
* Requirements:
* - mana-core-auth must be running
* - mana-auth must be running
* - Valid credentials (uses claude-test@mana.how by default)
*/

View file

@ -4,7 +4,7 @@
* Scans the monorepo and generates ecosystem-wide consistency metrics.
*
* Usage: node scripts/ecosystem-audit.mjs
* Output: apps/manacore/apps/landing/src/content/manascore/ecosystem.json
* Output: apps/mana/apps/landing/src/content/manascore/ecosystem.json
*/
import { execSync } from 'child_process';
import { readFileSync, writeFileSync, existsSync, readdirSync, statSync } from 'fs';
@ -127,7 +127,7 @@ function measureModalConsistency() {
const webSrc = join(APPS_DIR, app, 'apps/web/src');
if (!existsSync(webSrc)) continue;
sharedModalUsage += grepOccurrences("from '@manacore/shared-ui'.*Modal", webSrc, '*.svelte');
sharedModalUsage += grepOccurrences("from '@mana/shared-ui'.*Modal", webSrc, '*.svelte');
sharedModalUsage += grepOccurrences("from '.*shared-ui.*Modal", webSrc, '*.svelte');
focusTrapUsage += grepOccurrences('use:focusTrap', webSrc, '*.svelte');
}
@ -152,14 +152,14 @@ function measureModalConsistency() {
function measureSharedPackageAdoption() {
console.log('📊 Measuring Shared Package Adoption...');
const packages = {
'@manacore/shared-auth': { name: 'Auth', count: 0, apps: [] },
'@manacore/shared-ui': { name: 'UI', count: 0, apps: [] },
'@manacore/shared-theme': { name: 'Theme', count: 0, apps: [] },
'@manacore/shared-branding': { name: 'Branding', count: 0, apps: [] },
'@manacore/shared-i18n': { name: 'i18n', count: 0, apps: [] },
'@manacore/shared-error-tracking': { name: 'Error Tracking', count: 0, apps: [] },
'@manacore/shared-icons': { name: 'Icons', count: 0, apps: [] },
'@manacore/local-store': { name: 'Local Store', count: 0, apps: [] },
'@mana/shared-auth': { name: 'Auth', count: 0, apps: [] },
'@mana/shared-ui': { name: 'UI', count: 0, apps: [] },
'@mana/shared-theme': { name: 'Theme', count: 0, apps: [] },
'@mana/shared-branding': { name: 'Branding', count: 0, apps: [] },
'@mana/shared-i18n': { name: 'i18n', count: 0, apps: [] },
'@mana/shared-error-tracking': { name: 'Error Tracking', count: 0, apps: [] },
'@mana/shared-icons': { name: 'Icons', count: 0, apps: [] },
'@mana/local-store': { name: 'Local Store', count: 0, apps: [] },
};
for (const app of WEB_APPS) {
@ -172,12 +172,12 @@ function measureSharedPackageAdoption() {
}
const corePackages = [
'@manacore/shared-auth',
'@manacore/shared-ui',
'@manacore/shared-theme',
'@manacore/shared-branding',
'@manacore/shared-i18n',
'@manacore/shared-error-tracking',
'@mana/shared-auth',
'@mana/shared-ui',
'@mana/shared-theme',
'@mana/shared-branding',
'@mana/shared-i18n',
'@mana/shared-error-tracking',
];
let totalCoreAdoption = 0;
@ -254,7 +254,7 @@ function measureLocalFirstAdoption() {
let appsWithLocalStore = 0;
for (const app of WEB_APPS) {
if (checkPackageJson(app, '@manacore/local-store')) {
if (checkPackageJson(app, '@mana/local-store')) {
appsWithLocalStore++;
}
}
@ -875,7 +875,7 @@ function measureDockerReadiness() {
// Main
// ============================================================
console.log('🔍 ManaCore Ecosystem Health Audit\n');
console.log('🔍 Mana Ecosystem Health Audit\n');
console.log('='.repeat(50));
const icons = measureIconConsistency();
@ -1024,8 +1024,8 @@ const output = {
apps: WEB_APPS,
};
const outputPath = 'apps/manacore/apps/landing/src/data/ecosystem-health.json';
const outputDir = 'apps/manacore/apps/landing/src/data';
const outputPath = 'apps/mana/apps/landing/src/data/ecosystem-health.json';
const outputDir = 'apps/mana/apps/landing/src/data';
try {
execSync(`mkdir -p ${outputDir}`);
} catch {}

View file

@ -61,8 +61,8 @@ const APP_CONFIGS = [
path: 'services/mana-auth/.env',
vars: {
NODE_ENV: () => 'development',
PORT: (env) => env.MANA_CORE_AUTH_PORT || '3001',
DATABASE_URL: (env) => env.MANA_CORE_AUTH_DATABASE_URL,
PORT: (env) => env.MANA_AUTH_PORT || '3001',
DATABASE_URL: (env) => env.MANA_AUTH_DATABASE_URL,
BETTER_AUTH_SECRET: (env) => env.BETTER_AUTH_SECRET || 'dev-secret-change-me',
BETTER_AUTH_URL: () => 'http://localhost:3001',
CORS_ORIGINS: (env) => env.CORS_ORIGINS,
@ -80,7 +80,7 @@ const APP_CONFIGS = [
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
OPENROUTER_API_KEY: (env) => env.OPENROUTER_API_KEY,
OLLAMA_URL: (env) => env.OLLAMA_URL || 'http://localhost:11434',
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
DATABASE_URL: (env) => env.CHAT_DATABASE_URL,
},
},
@ -89,7 +89,7 @@ const APP_CONFIGS = [
{
path: 'apps/chat/apps/mobile/.env',
vars: {
EXPO_PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
EXPO_PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
EXPO_PUBLIC_SUPABASE_URL: (env) => env.CHAT_SUPABASE_URL,
EXPO_PUBLIC_SUPABASE_ANON_KEY: (env) => env.CHAT_SUPABASE_ANON_KEY,
EXPO_PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.CHAT_BACKEND_PORT || '3002'}`,
@ -100,7 +100,7 @@ const APP_CONFIGS = [
{
path: 'apps/chat/apps/web/.env',
vars: {
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_SUPABASE_URL: (env) => env.CHAT_SUPABASE_URL,
PUBLIC_SUPABASE_ANON_KEY: (env) => env.CHAT_SUPABASE_ANON_KEY,
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.CHAT_BACKEND_PORT || '3002'}`,
@ -110,7 +110,7 @@ const APP_CONFIGS = [
// Manacore Mobile
{
path: 'apps/manacore/apps/mobile/.env',
path: 'apps/mana/apps/mobile/.env',
vars: {
EXPO_PUBLIC_SUPABASE_URL: (env) => env.MANACORE_SUPABASE_URL,
EXPO_PUBLIC_SUPABASE_ANON_KEY: (env) => env.MANACORE_SUPABASE_ANON_KEY,
@ -119,11 +119,11 @@ const APP_CONFIGS = [
// Manacore Web
{
path: 'apps/manacore/apps/web/.env',
path: 'apps/mana/apps/web/.env',
vars: {
PUBLIC_SUPABASE_URL: (env) => env.MANACORE_SUPABASE_URL,
PUBLIC_SUPABASE_ANON_KEY: (env) => env.MANACORE_SUPABASE_ANON_KEY,
MIDDLEWARE_URL: (env) => env.MANA_CORE_AUTH_URL,
MIDDLEWARE_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_UMAMI_WEBSITE_ID: (env) => env.UMAMI_WEBSITE_ID_MANACORE || '',
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
@ -136,7 +136,7 @@ const APP_CONFIGS = [
NODE_ENV: () => 'development',
PORT: (env) => env.CARDS_BACKEND_PORT || '3004',
DATABASE_URL: (env) => env.CARDS_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
APP_ID: (env) => env.CARDS_APP_ID,
GOOGLE_GENAI_API_KEY: (env) => env.GOOGLE_GENAI_API_KEY,
},
@ -147,7 +147,7 @@ const APP_CONFIGS = [
path: 'apps/cards/apps/web/.env',
vars: {
PUBLIC_API_URL: (env) => `http://localhost:${env.CARDS_BACKEND_PORT || '3004'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -160,8 +160,8 @@ const APP_CONFIGS = [
PORT: (env) => env.PICTURE_BACKEND_PORT || '3006',
BACKEND_URL: (env) => env.PICTURE_BACKEND_URL || 'http://localhost:3006',
DATABASE_URL: (env) =>
env.PICTURE_DATABASE_URL || 'postgresql://manacore:devpassword@localhost:5432/picture',
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
env.PICTURE_DATABASE_URL || 'postgresql://mana:devpassword@localhost:5432/picture',
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
DEV_BYPASS_AUTH: () => 'true',
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
REPLICATE_API_TOKEN: (env) => env.PICTURE_REPLICATE_API_TOKEN,
@ -178,7 +178,7 @@ const APP_CONFIGS = [
env.PICTURE_STORAGE_PUBLIC_URL || 'http://localhost:9000/picture-storage',
// Credit system (for staging)
APP_ID: (env) => env.PICTURE_APP_ID || 'picture-app',
MANA_CORE_SERVICE_KEY: (env) => env.PICTURE_MANA_CORE_SERVICE_KEY || '',
MANA_SERVICE_KEY: (env) => env.PICTURE_MANA_SERVICE_KEY || '',
},
},
@ -187,7 +187,7 @@ const APP_CONFIGS = [
path: 'apps/picture/apps/mobile/.env',
vars: {
EXPO_PUBLIC_BACKEND_URL: (env) => env.PICTURE_BACKEND_URL || 'http://localhost:3003',
EXPO_PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
EXPO_PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
},
},
@ -196,7 +196,7 @@ const APP_CONFIGS = [
path: 'apps/picture/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => env.PICTURE_BACKEND_URL || 'http://localhost:3003',
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -208,7 +208,7 @@ const APP_CONFIGS = [
NODE_ENV: () => 'development',
PORT: (env) => env.NUTRIPHI_BACKEND_PORT || '3002',
DATABASE_URL: (env) => env.NUTRIPHI_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
GEMINI_API_KEY: (env) => env.NUTRIPHI_GEMINI_API_KEY,
S3_ENDPOINT: (env) => env.NUTRIPHI_S3_ENDPOINT,
S3_ACCESS_KEY_ID: (env) => env.NUTRIPHI_S3_ACCESS_KEY_ID,
@ -224,7 +224,7 @@ const APP_CONFIGS = [
path: 'apps/nutriphi/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.NUTRIPHI_BACKEND_PORT || '3002'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_MIDDLEWARE_APP_ID: (env) => env.NUTRIPHI_APP_ID || 'nutriphi',
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
@ -237,7 +237,7 @@ const APP_CONFIGS = [
path: 'apps/zitare/apps/mobile/.env',
vars: {
EXPO_PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.ZITARE_BACKEND_PORT || '3007'}`,
EXPO_PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
EXPO_PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
},
},
@ -246,7 +246,7 @@ const APP_CONFIGS = [
path: 'apps/zitare/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.ZITARE_BACKEND_PORT || '3007'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -258,7 +258,7 @@ const APP_CONFIGS = [
path: 'apps/presi/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.PRESI_BACKEND_PORT || '3008'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -270,7 +270,7 @@ const APP_CONFIGS = [
path: 'apps/skilltree/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.SKILLTREE_BACKEND_PORT || '3024'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -312,7 +312,7 @@ const APP_CONFIGS = [
NODE_ENV: () => 'development',
PORT: (env) => env.CONTEXT_BACKEND_PORT || '3020',
DATABASE_URL: (env) => env.CONTEXT_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
DEV_BYPASS_AUTH: () => 'true',
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
AZURE_OPENAI_API_KEY: (env) => env.CONTEXT_AZURE_OPENAI_API_KEY || '',
@ -327,7 +327,7 @@ const APP_CONFIGS = [
path: 'apps/context/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.CONTEXT_BACKEND_PORT || '3020'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
},
},
@ -338,7 +338,7 @@ const APP_CONFIGS = [
NODE_ENV: () => 'development',
PORT: (env) => env.CALENDAR_BACKEND_PORT || '3014',
DATABASE_URL: (env) => env.CALENDAR_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
DEV_BYPASS_AUTH: () => 'true',
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
CORS_ORIGINS: (env) => env.CORS_ORIGINS,
@ -350,7 +350,7 @@ const APP_CONFIGS = [
path: 'apps/calendar/apps/mobile/.env',
vars: {
EXPO_PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.CALENDAR_BACKEND_PORT || '3014'}`,
EXPO_PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
EXPO_PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
},
},
@ -359,7 +359,7 @@ const APP_CONFIGS = [
path: 'apps/calendar/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.CALENDAR_BACKEND_PORT || '3014'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_TODO_BACKEND_URL: (env) =>
env.TODO_BACKEND_URL || `http://localhost:${env.TODO_BACKEND_PORT || '3018'}`,
// Cross-app integration: Contacts service for birthdays
@ -378,7 +378,7 @@ const APP_CONFIGS = [
NODE_ENV: () => 'development',
PORT: (env) => env.CONTACTS_BACKEND_PORT || '3015',
DATABASE_URL: (env) => env.CONTACTS_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
DEV_BYPASS_AUTH: () => 'true',
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
S3_ENDPOINT: (env) => env.S3_ENDPOINT,
@ -399,7 +399,7 @@ const APP_CONFIGS = [
path: 'apps/contacts/apps/mobile/.env',
vars: {
EXPO_PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.CONTACTS_BACKEND_PORT || '3015'}`,
EXPO_PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
EXPO_PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
},
},
@ -408,7 +408,7 @@ const APP_CONFIGS = [
path: 'apps/contacts/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.CONTACTS_BACKEND_PORT || '3015'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -420,7 +420,7 @@ const APP_CONFIGS = [
NODE_ENV: () => 'development',
PORT: (env) => env.STORAGE_BACKEND_PORT || '3016',
DATABASE_URL: (env) => env.STORAGE_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
DEV_BYPASS_AUTH: () => 'true',
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
S3_ENDPOINT: (env) => env.S3_ENDPOINT,
@ -439,7 +439,7 @@ const APP_CONFIGS = [
path: 'apps/storage/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.STORAGE_BACKEND_PORT || '3016'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -451,7 +451,7 @@ const APP_CONFIGS = [
path: 'apps/clock/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.CLOCK_BACKEND_PORT || '3017'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -463,7 +463,7 @@ const APP_CONFIGS = [
NODE_ENV: () => 'development',
PORT: (env) => env.TODO_BACKEND_PORT || '3018',
DATABASE_URL: (env) => env.TODO_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
DEV_BYPASS_AUTH: () => 'true',
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
CORS_ORIGINS: (env) => env.CORS_ORIGINS,
@ -475,7 +475,7 @@ const APP_CONFIGS = [
path: 'apps/todo/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.TODO_BACKEND_PORT || '3018'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -487,7 +487,7 @@ const APP_CONFIGS = [
NODE_ENV: () => 'development',
PORT: (env) => env.MOODLIT_BACKEND_PORT || '3012',
DATABASE_URL: (env) => env.MOODLIT_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
DEV_BYPASS_AUTH: () => 'true',
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
CORS_ORIGINS: (env) => env.CORS_ORIGINS,
@ -499,7 +499,7 @@ const APP_CONFIGS = [
path: 'apps/moodlit/apps/mobile/.env',
vars: {
EXPO_PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.MOODLIT_BACKEND_PORT || '3012'}`,
EXPO_PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
EXPO_PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
},
},
@ -508,7 +508,7 @@ const APP_CONFIGS = [
path: 'apps/moodlit/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.MOODLIT_BACKEND_PORT || '3012'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
},
},
@ -518,7 +518,7 @@ const APP_CONFIGS = [
{
path: 'games/worldream/apps/web/.env',
vars: {
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
},
},
@ -529,7 +529,7 @@ const APP_CONFIGS = [
path: 'apps/citycorners/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.CITYCORNERS_BACKEND_PORT || '3025'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -543,10 +543,10 @@ const APP_CONFIGS = [
NODE_ENV: () => 'development',
PORT: (env) => env.TRACES_BACKEND_PORT || '3026',
DATABASE_URL: (env) => env.TRACES_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
MANA_LLM_URL: (env) => env.MANA_LLM_URL || 'http://localhost:3025',
MANA_SEARCH_URL: (env) => env.MANA_SEARCH_URL || 'http://localhost:3021',
MANA_CORE_SERVICE_KEY: (env) => env.MANA_CORE_SERVICE_KEY || '',
MANA_SERVICE_KEY: (env) => env.MANA_SERVICE_KEY || '',
APP_ID: () => 'traces',
DEV_BYPASS_AUTH: () => 'true',
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
@ -560,7 +560,7 @@ const APP_CONFIGS = [
vars: {
EXPO_PUBLIC_TRACES_BACKEND_URL: (env) =>
`http://localhost:${env.TRACES_BACKEND_PORT || '3026'}`,
EXPO_PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
EXPO_PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
},
},
@ -569,7 +569,7 @@ const APP_CONFIGS = [
path: 'apps/photos/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.PHOTOS_BACKEND_PORT || '3039'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -579,7 +579,7 @@ const APP_CONFIGS = [
path: 'apps/planta/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.PLANTA_BACKEND_PORT || '3022'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -589,7 +589,7 @@ const APP_CONFIGS = [
path: 'apps/questions/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.QUESTIONS_BACKEND_PORT || '3011'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -601,7 +601,7 @@ const APP_CONFIGS = [
NODE_ENV: () => 'development',
PORT: (env) => env.MUSIC_BACKEND_PORT || '3010',
DATABASE_URL: (env) => env.MUSIC_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
S3_ENDPOINT: (env) => env.S3_ENDPOINT || 'http://localhost:9000',
S3_REGION: (env) => env.S3_REGION || 'us-east-1',
S3_ACCESS_KEY: (env) => env.S3_ACCESS_KEY || 'minioadmin',
@ -618,7 +618,7 @@ const APP_CONFIGS = [
path: 'apps/mukke/apps/web/.env',
vars: {
PUBLIC_BACKEND_URL: (env) => `http://localhost:${env.MUSIC_BACKEND_PORT || '3010'}`,
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '',
},
},
@ -628,7 +628,7 @@ const APP_CONFIGS = [
path: 'services/llm-playground/.env',
vars: {
PUBLIC_MANA_LLM_URL: (env) => env.MANA_LLM_URL || 'http://localhost:3025',
PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL || 'http://localhost:3001',
PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL || 'http://localhost:3001',
},
},
@ -652,7 +652,7 @@ const APP_CONFIGS = [
TELEGRAM_BOT_TOKEN: (env) => env.TODO_BOT_TELEGRAM_TOKEN,
DATABASE_URL: (env) => env.TODO_BOT_DATABASE_URL,
TODO_API_URL: (env) => env.TODO_BOT_API_URL || 'http://localhost:3018',
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_AUTH_URL: (env) => env.MANA_AUTH_URL,
},
},
@ -668,9 +668,9 @@ const APP_CONFIGS = [
},
},
// ManaCore Landing
// Mana Landing
{
path: 'apps/manacore/apps/landing/.env',
path: 'apps/mana/apps/landing/.env',
vars: {
PUBLIC_UMAMI_WEBSITE_ID: (env) => env.UMAMI_WEBSITE_ID_MANACORE_LANDING || '',
},

View file

@ -73,8 +73,8 @@ friendly_name() {
esac
# Entferne /health suffix
name="${name%/health}"
# mana.how (ohne Route) → ManaCore
[ "$name" = "mana.how" ] && name="ManaCore"
# mana.how (ohne Route) → Mana
[ "$name" = "mana.how" ] && name="Mana"
# Erster Buchstabe groß (POSIX-kompatibel)
printf '%s' "$name" | awk '{print toupper(substr($0,1,1)) substr($0,2)}'
}
@ -197,7 +197,7 @@ get_tier_badge() {
case "$appid" in *-api) return ;; esac
# Aliase (Sonderfälle → aktuelle App-IDs)
case "$appid" in
mana.how) appid="manacore" ;;
mana.how) appid="mana" ;;
manadeck) appid="cards" ;;
inventar) appid="inventory" ;;
esac
@ -218,7 +218,7 @@ cat > "${OUTPUT}.tmp" << HTMLEOF
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="refresh" content="60">
<title>ManaCore Status</title>
<title>Mana Status</title>
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
@ -437,7 +437,7 @@ $(render_rows blackbox-gpu)
</div>
<footer>
<p>Powered by <a href="https://mana.how">ManaCore</a> · Metriken via Prometheus Blackbox Exporter</p>
<p>Powered by <a href="https://mana.how">Mana</a> · Metriken via Prometheus Blackbox Exporter</p>
</footer>
</div>
@ -479,7 +479,7 @@ echo "$SUCCESS_JSON" | jq \
| ltrimstr("https://")
| rtrimstr("/health")
| rtrimstr("/")
| if . == "mana.how" then "manacore"
| if . == "mana.how" then "mana"
elif startswith("mana.how/") then ltrimstr("mana.how/")
else rtrimstr(".mana.how")
end

View file

@ -1,5 +1,5 @@
#!/bin/bash
# Lighthouse Performance Audit for all ManaCore web apps
# Lighthouse Performance Audit for all Mana web apps
# Requires: npx (for lighthouse CLI)
# Usage: ./scripts/lighthouse-audit.sh [--json]
@ -28,7 +28,7 @@ APPS=(
RESULTS_DIR="lighthouse-results"
mkdir -p "$RESULTS_DIR"
echo "=== ManaCore Lighthouse Audit ==="
echo "=== Mana Lighthouse Audit ==="
echo "Date: $(date -u +%Y-%m-%dT%H:%M:%SZ)"
echo ""

View file

@ -1,6 +1,6 @@
# Mac Mini Server Scripts
Scripts for managing the ManaCore production environment on Mac Mini.
Scripts for managing the Mana production environment on Mac Mini.
## Quick Start (After System Update)

View file

@ -1,5 +1,5 @@
#!/bin/bash
# ManaCore Database Backup Script
# Mana Database Backup Script
# Creates daily backups of all PostgreSQL databases with rotation
#
# Retention policy:
@ -16,7 +16,7 @@ export PATH="/usr/local/bin:/opt/homebrew/bin:$PATH"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
BACKUP_DIR="/Volumes/ManaData/backups/postgres"
LOG_FILE="/tmp/manacore-backup.log"
LOG_FILE="/tmp/mana-backup.log"
DATE=$(date +%Y-%m-%d)
DAY_OF_WEEK=$(date +%u) # 1=Monday, 7=Sunday
@ -53,7 +53,7 @@ send_notification() {
mkdir -p "$BACKUP_DIR/daily"
mkdir -p "$BACKUP_DIR/weekly"
log "=== ManaCore Database Backup ==="
log "=== Mana Database Backup ==="
# Check if postgres container is running
if ! docker ps --format '{{.Names}}' | grep -q "mana-infra-postgres"; then

View file

@ -1,5 +1,5 @@
#!/bin/bash
# ManaCore Disk Space Monitor
# Mana Disk Space Monitor
# Checks disk usage on system and data volumes
# Alerts via Telegram/ntfy when thresholds are exceeded
#
@ -16,7 +16,7 @@ export PATH="/usr/local/bin:/opt/homebrew/bin:$PATH"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
LOG_FILE="/tmp/manacore-disk-check.log"
LOG_FILE="/tmp/mana-disk-check.log"
# Thresholds
WARNING_THRESHOLD=80
@ -51,7 +51,7 @@ send_notification() {
[ "$priority" = "critical" ] && ntfy_priority="urgent"
curl -s -d "$message" \
-H "Title: ManaCore Disk Alert" \
-H "Title: Mana Disk Alert" \
-H "Priority: $ntfy_priority" \
-H "Tags: warning" \
"https://ntfy.sh/$NTFY_TOPIC" >/dev/null 2>&1 || true
@ -277,7 +277,7 @@ check_docker_logs() {
}
# Main execution
log "=== ManaCore Disk Space Check ==="
log "=== Mana Disk Space Check ==="
ALERT_STATUS=0

View file

@ -24,7 +24,7 @@ fi
# Create override plist that sets environment variables
# This is the recommended way to add env vars to a Homebrew service
OVERRIDE_PLIST="$PLIST_DIR/com.manacore.ollama-env.plist"
OVERRIDE_PLIST="$PLIST_DIR/com.mana.ollama-env.plist"
cat > "$OVERRIDE_PLIST" << 'PLIST'
<?xml version="1.0" encoding="UTF-8"?>
@ -32,7 +32,7 @@ cat > "$OVERRIDE_PLIST" << 'PLIST'
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.manacore.ollama-env</string>
<string>com.mana.ollama-env</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>

View file

@ -2,7 +2,7 @@
#
# Mac Mini Deployment Script v2 — New Architecture (Hono + Bun + Go)
#
# Deploys the complete ManaCore stack:
# Deploys the complete Mana stack:
# - Infrastructure: PostgreSQL, Redis, MinIO, SearXNG
# - Core Services: mana-auth, mana-credits, mana-user, mana-subscriptions, mana-analytics
# - Go Services: mana-sync, mana-search, mana-crawler, mana-api-gateway, mana-notify, mana-matrix-bot
@ -46,7 +46,7 @@ check_health() {
# ─── Status Only ─────────────────────────────────────────────
if [ "$1" = "--status" ]; then
echo -e "${BLUE}=== ManaCore Service Status ===${NC}"
echo -e "${BLUE}=== Mana Service Status ===${NC}"
echo ""
echo "Core (Hono + Bun):"
check_health "mana-auth (3001)" "http://localhost:3001/health"
@ -68,7 +68,7 @@ fi
# ─── Pre-flight Checks ──────────────────────────────────────
echo -e "${BLUE}=== ManaCore Deployment v2 ===${NC}"
echo -e "${BLUE}=== Mana Deployment v2 ===${NC}"
echo ""
if [ ! -f "$ENV_FILE" ]; then

View file

@ -12,7 +12,7 @@ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
COMPOSE_FILE="$PROJECT_ROOT/docker-compose.macmini.yml"
ENV_FILE="$PROJECT_ROOT/.env.macmini"
echo "=== ManaCore Mac Mini Deployment ==="
echo "=== Mana Mac Mini Deployment ==="
echo ""
echo "Project root: $PROJECT_ROOT"
echo "Compose file: $COMPOSE_FILE"
@ -74,7 +74,7 @@ docker compose -f "$COMPOSE_FILE" ps
echo ""
echo "=== Creating databases ==="
docker compose -f "$COMPOSE_FILE" exec -T postgres psql -U postgres -c "CREATE DATABASE manacore_auth;" 2>/dev/null || echo "manacore_auth exists"
docker compose -f "$COMPOSE_FILE" exec -T postgres psql -U postgres -c "CREATE DATABASE mana_auth;" 2>/dev/null || echo "mana_auth exists"
docker compose -f "$COMPOSE_FILE" exec -T postgres psql -U postgres -c "CREATE DATABASE chat;" 2>/dev/null || echo "chat exists"
docker compose -f "$COMPOSE_FILE" exec -T postgres psql -U postgres -c "CREATE DATABASE todo;" 2>/dev/null || echo "todo exists"
docker compose -f "$COMPOSE_FILE" exec -T postgres psql -U postgres -c "CREATE DATABASE calendar;" 2>/dev/null || echo "calendar exists"
@ -93,7 +93,7 @@ check_health() {
}
check_health "Auth API" "http://localhost:3001/health"
check_health "ManaCore Web" "http://localhost:5000/health"
check_health "Mana Web" "http://localhost:5000/health"
check_health "Chat Backend" "http://localhost:3030/health"
check_health "Chat Web" "http://localhost:5010/health"
check_health "Todo Backend" "http://localhost:3031/health"

View file

@ -1,5 +1,5 @@
#!/bin/bash
# ManaCore Container Health Enforcer
# Mana Container Health Enforcer
# Ensures all containers are actually running and healthy
#
# This script detects containers that are:
@ -17,8 +17,8 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
COMPOSE_FILE="$PROJECT_ROOT/docker-compose.macmini.yml"
ENV_FILE="$PROJECT_ROOT/.env.macmini"
LOG_FILE="/tmp/manacore-container-health.log"
RESTART_TRACKER="/tmp/manacore-restart-tracker"
LOG_FILE="/tmp/mana-container-health.log"
RESTART_TRACKER="/tmp/mana-restart-tracker"
# Load notification config if exists
if [ -f "$PROJECT_ROOT/.env.notifications" ]; then
@ -45,7 +45,7 @@ send_notification() {
# ntfy
if [ -n "$NTFY_TOPIC" ]; then
curl -s -d "$message" \
-H "Title: ManaCore Container Health" \
-H "Title: Mana Container Health" \
-H "Priority: $priority" \
-H "Tags: white_check_mark" \
"https://ntfy.sh/$NTFY_TOPIC" >/dev/null 2>&1 || true
@ -209,13 +209,13 @@ ALL_STILL_BROKEN=$(echo -e "$STILL_STUCK\n$STILL_CRASHING" | grep -v "^$" | sort
if [ -z "$ALL_STILL_BROKEN" ]; then
FIXED_MSG="Auto-fixed containers: $(echo $ALL_PROBLEM_CONTAINERS | tr '\n' ', ')"
log "SUCCESS: $FIXED_MSG"
send_notification "🔧 <b>ManaCore Auto-Recovery</b>\n\n$FIXED_MSG"
send_notification "🔧 <b>Mana Auto-Recovery</b>\n\n$FIXED_MSG"
else
log "ERROR: Some containers still have issues:"
for container in $ALL_STILL_BROKEN; do
STATUS=$(docker inspect "$container" --format '{{.State.Status}}' 2>/dev/null || echo "unknown")
log " - $container (status: $STATUS)"
done
send_notification "⚠️ <b>ManaCore Container Issue</b>\n\nContainers still broken: $(echo $ALL_STILL_BROKEN | tr '\n' ', ')" "high"
send_notification "⚠️ <b>Mana Container Issue</b>\n\nContainers still broken: $(echo $ALL_STILL_BROKEN | tr '\n' ', ')" "high"
exit 1
fi

View file

@ -1,5 +1,5 @@
#!/bin/bash
# ManaCore Health Check Script
# Mana Health Check Script
# Checks all services and sends notifications on failure
#
# Notification channels (configure via environment or .env.notifications):
@ -61,12 +61,12 @@ send_email() {
# Use msmtp if available, otherwise try mail command
if command -v msmtp &> /dev/null; then
echo -e "Subject: ${subject}\nFrom: ${EMAIL_FROM:-manacore@localhost}\nTo: ${EMAIL_TO}\n\n${body}" | \
echo -e "Subject: ${subject}\nFrom: ${EMAIL_FROM:-mana@localhost}\nTo: ${EMAIL_TO}\n\n${body}" | \
msmtp -a default "$EMAIL_TO" 2>/dev/null
elif command -v mail &> /dev/null; then
echo "$body" | mail -s "$subject" "$EMAIL_TO" 2>/dev/null
elif command -v sendmail &> /dev/null; then
echo -e "Subject: ${subject}\nFrom: ${EMAIL_FROM:-manacore@localhost}\nTo: ${EMAIL_TO}\n\n${body}" | \
echo -e "Subject: ${subject}\nFrom: ${EMAIL_FROM:-mana@localhost}\nTo: ${EMAIL_TO}\n\n${body}" | \
sendmail "$EMAIL_TO" 2>/dev/null
else
echo " [Email] No mail client available (install msmtp)"
@ -105,7 +105,7 @@ send_all_notifications() {
local timestamp=$(date '+%Y-%m-%d %H:%M:%S')
# Telegram message (HTML format)
local telegram_msg="🚨 <b>ManaCore Health Check Failed</b>
local telegram_msg="🚨 <b>Mana Health Check Failed</b>
<b>Time:</b> ${timestamp}
<b>Host:</b> $(hostname)
@ -116,8 +116,8 @@ ${failed_services}
Check logs: <code>ssh mac-mini</code>"
# Email message
local email_subject="[ALERT] ManaCore Health Check Failed"
local email_body="ManaCore Health Check Failed
local email_subject="[ALERT] Mana Health Check Failed"
local email_body="Mana Health Check Failed
=============================
Time: ${timestamp}
@ -128,12 +128,12 @@ ${failed_services}
To investigate:
ssh mac-mini
cd ~/projects/manacore-monorepo
cd ~/projects/mana-monorepo
./scripts/mac-mini/status.sh
docker logs <container-name>"
# Plain text for ntfy
local ntfy_msg="ManaCore Failed: ${failed_services}"
local ntfy_msg="Mana Failed: ${failed_services}"
echo ""
echo "Sending notifications..."
@ -168,7 +168,7 @@ check_service() {
# ============================================
echo ""
echo "=== ManaCore Health Check ==="
echo "=== Mana Health Check ==="
echo "Time: $(date)"
echo ""

View file

@ -329,14 +329,14 @@ else
log "Docker Desktop Autostart deaktiviert"
# Colima LaunchAgent erstellen
PLIST_PATH="$HOME/Library/LaunchAgents/com.manacore.colima.plist"
PLIST_PATH="$HOME/Library/LaunchAgents/com.mana.colima.plist"
cat > "$PLIST_PATH" << 'PLIST'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.manacore.colima</string>
<string>com.mana.colima</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/colima</string>

View file

@ -87,7 +87,7 @@ for i in $(seq 1 12); do
sleep 5
done
cd ~/projects/manacore-monorepo
cd ~/projects/mana-monorepo
docker compose -f docker-compose.macmini.yml up -d 2>&1 | tail -5 | tee -a "$LOG"
log "Containers started."

View file

@ -1,5 +1,5 @@
#!/bin/bash
# ManaCore Mac Mini Restart Script
# Mana Mac Mini Restart Script
# Restarts all Docker containers gracefully
set -e
@ -12,7 +12,7 @@ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
COMPOSE_FILE="$PROJECT_ROOT/docker-compose.macmini.yml"
ENV_FILE="$PROJECT_ROOT/.env.macmini"
echo "=== ManaCore Restart ==="
echo "=== Mana Restart ==="
echo ""
# Check for flags

View file

@ -1,5 +1,5 @@
#!/bin/bash
# ManaCore Mac Mini Auto-Start Setup
# Mana Mac Mini Auto-Start Setup
# Run this ONCE on the Mac Mini to configure automatic startup on boot
#
# This sets up:
@ -14,7 +14,7 @@ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
USER_HOME="$HOME"
LAUNCH_AGENTS_DIR="$USER_HOME/Library/LaunchAgents"
echo "=== ManaCore Mac Mini Auto-Start Setup ==="
echo "=== Mana Mac Mini Auto-Start Setup ==="
echo ""
echo "Project root: $PROJECT_ROOT"
echo "User: $(whoami)"
@ -85,19 +85,19 @@ EOF
fi
# ============================================
# 2. ManaCore Docker Startup Service
# 2. Mana Docker Startup Service
# ============================================
echo ""
echo "=== Setting up Docker Startup Service ==="
DOCKER_PLIST="$LAUNCH_AGENTS_DIR/com.manacore.docker-startup.plist"
DOCKER_PLIST="$LAUNCH_AGENTS_DIR/com.mana.docker-startup.plist"
cat > "$DOCKER_PLIST" << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.manacore.docker-startup</string>
<string>com.mana.docker-startup</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
@ -108,9 +108,9 @@ cat > "$DOCKER_PLIST" << EOF
<key>StartInterval</key>
<integer>0</integer>
<key>StandardOutPath</key>
<string>/tmp/manacore-startup.log</string>
<string>/tmp/mana-startup.log</string>
<key>StandardErrorPath</key>
<string>/tmp/manacore-startup.error.log</string>
<string>/tmp/mana-startup.error.log</string>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
@ -132,14 +132,14 @@ echo "Docker startup service loaded"
echo ""
echo "=== Setting up Health Check Service ==="
HEALTH_PLIST="$LAUNCH_AGENTS_DIR/com.manacore.health-check.plist"
HEALTH_PLIST="$LAUNCH_AGENTS_DIR/com.mana.health-check.plist"
cat > "$HEALTH_PLIST" << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.manacore.health-check</string>
<string>com.mana.health-check</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
@ -148,9 +148,9 @@ cat > "$HEALTH_PLIST" << EOF
<key>StartInterval</key>
<integer>300</integer>
<key>StandardOutPath</key>
<string>/tmp/manacore-health.log</string>
<string>/tmp/mana-health.log</string>
<key>StandardErrorPath</key>
<string>/tmp/manacore-health.error.log</string>
<string>/tmp/mana-health.error.log</string>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
@ -181,14 +181,14 @@ echo " 3. Health checks (every 5 minutes)"
echo ""
echo "Log files:"
echo " /tmp/cloudflared.log"
echo " /tmp/manacore-startup.log"
echo " /tmp/manacore-health.log"
echo " /tmp/mana-startup.log"
echo " /tmp/mana-health.log"
echo ""
echo "Manual commands:"
echo " Check status: launchctl list | grep -E 'cloudflare|manacore'"
echo " View logs: tail -f /tmp/manacore-startup.log"
echo " Check status: launchctl list | grep -E 'cloudflare|mana'"
echo " View logs: tail -f /tmp/mana-startup.log"
echo " Health check: $SCRIPT_DIR/health-check.sh"
echo " Restart docker: launchctl kickstart -k gui/\$(id -u)/com.manacore.docker-startup"
echo " Restart docker: launchctl kickstart -k gui/\$(id -u)/com.mana.docker-startup"
echo ""
echo "IMPORTANT: Make sure Docker Desktop is set to start on login!"
echo " Docker Desktop > Settings > General > 'Start Docker Desktop when you sign in'"

View file

@ -5,7 +5,7 @@
set -e
TUNNEL_ID="bb0ea86d-8253-4a54-838b-107bb7945be9"
CONFIG_FILE="$HOME/projects/manacore-monorepo/cloudflared-config.yml"
CONFIG_FILE="$HOME/projects/mana-monorepo/cloudflared-config.yml"
CREDENTIALS_FILE="$HOME/.cloudflared/${TUNNEL_ID}.json"
PLIST_FILE="$HOME/Library/LaunchAgents/com.cloudflare.cloudflared.plist"

View file

@ -51,9 +51,9 @@ echo ""
echo "=== 7. Mirror GitHub repo ==="
echo "After login, create a new migration at:"
echo " https://git.mana.how/repo/migrate"
echo " - Clone Address: https://github.com/Memo-2023/manacore-monorepo.git"
echo " - Clone Address: https://github.com/Memo-2023/mana-monorepo.git"
echo " - Mirror: Yes"
echo " - Repository Name: manacore-monorepo"
echo " - Repository Name: mana-monorepo"
echo ""
echo "=== Setup complete ==="

View file

@ -7,7 +7,7 @@ set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
SERVICE_DIR="$REPO_DIR/services/mana-image-gen"
PLIST_NAME="com.manacore.image-gen"
PLIST_NAME="com.mana.image-gen"
PLIST_PATH="$HOME/Library/LaunchAgents/$PLIST_NAME.plist"
# flux2.c paths (in home directory, no sudo required)
@ -120,10 +120,10 @@ cat > "$PLIST_PATH" << EOF
<integer>10</integer>
<key>StandardOutPath</key>
<string>/tmp/manacore-image-gen.log</string>
<string>/tmp/mana-image-gen.log</string>
<key>StandardErrorPath</key>
<string>/tmp/manacore-image-gen.error.log</string>
<string>/tmp/mana-image-gen.error.log</string>
</dict>
</plist>
EOF
@ -144,7 +144,7 @@ if launchctl list | grep -q "$PLIST_NAME"; then
echo "Service loaded successfully!"
else
echo "Warning: Service may not have loaded correctly."
echo "Check logs: tail -f /tmp/manacore-image-gen.log"
echo "Check logs: tail -f /tmp/mana-image-gen.log"
fi
# Health check
@ -169,7 +169,7 @@ echo ""
echo "Service management commands:"
echo ""
echo " # View logs"
echo " tail -f /tmp/manacore-image-gen.log"
echo " tail -f /tmp/mana-image-gen.log"
echo ""
echo " # Stop service"
echo " launchctl unload $PLIST_PATH"

View file

@ -9,7 +9,7 @@ PROJECT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
MATRIX_DIR="$PROJECT_DIR/docker/matrix"
echo "============================================"
echo " ManaCore Matrix Setup"
echo " Mana Matrix Setup"
echo "============================================"
echo ""
@ -21,7 +21,7 @@ NC='\033[0m'
# Check if postgres is running
echo "Checking PostgreSQL..."
if ! docker exec manacore-postgres pg_isready -U postgres > /dev/null 2>&1; then
if ! docker exec mana-postgres pg_isready -U postgres > /dev/null 2>&1; then
echo -e "${RED}Error: PostgreSQL is not running.${NC}"
echo "Start it with: docker compose -f docker-compose.macmini.yml up -d postgres"
exit 1
@ -31,24 +31,24 @@ echo -e "${GREEN}PostgreSQL is running${NC}"
# Create matrix database
echo ""
echo "Creating Matrix database..."
if docker exec manacore-postgres psql -U postgres -lqt | cut -d \| -f 1 | grep -qw matrix; then
if docker exec mana-postgres psql -U postgres -lqt | cut -d \| -f 1 | grep -qw matrix; then
echo -e "${YELLOW}Database 'matrix' already exists${NC}"
else
docker exec manacore-postgres psql -U postgres -c "CREATE DATABASE matrix;"
docker exec mana-postgres psql -U postgres -c "CREATE DATABASE matrix;"
echo -e "${GREEN}Database 'matrix' created${NC}"
fi
# Create synapse user
echo ""
echo "Creating Synapse database user..."
if docker exec manacore-postgres psql -U postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='synapse'" | grep -q 1; then
if docker exec mana-postgres psql -U postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='synapse'" | grep -q 1; then
echo -e "${YELLOW}User 'synapse' already exists${NC}"
else
# Generate a random password if not set
SYNAPSE_DB_PASSWORD=${SYNAPSE_DB_PASSWORD:-$(openssl rand -base64 24)}
docker exec manacore-postgres psql -U postgres -c "CREATE USER synapse WITH PASSWORD '$SYNAPSE_DB_PASSWORD';"
docker exec manacore-postgres psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE matrix TO synapse;"
docker exec manacore-postgres psql -U postgres -c "ALTER DATABASE matrix OWNER TO synapse;"
docker exec mana-postgres psql -U postgres -c "CREATE USER synapse WITH PASSWORD '$SYNAPSE_DB_PASSWORD';"
docker exec mana-postgres psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE matrix TO synapse;"
docker exec mana-postgres psql -U postgres -c "ALTER DATABASE matrix OWNER TO synapse;"
echo -e "${GREEN}User 'synapse' created${NC}"
echo ""
echo -e "${YELLOW}IMPORTANT: Add this to your .env file:${NC}"
@ -63,7 +63,7 @@ mkdir -p "$MATRIX_DIR/logs" 2>/dev/null || true
# Generate signing key if not exists
echo ""
echo "Checking signing key..."
if docker volume ls | grep -q manacore-synapse; then
if docker volume ls | grep -q mana-synapse; then
echo -e "${YELLOW}Synapse volume already exists - signing key should be present${NC}"
else
echo "Signing key will be generated on first Synapse start"
@ -110,10 +110,10 @@ echo "3. Start Matrix services:"
echo " docker compose -f docker-compose.macmini.yml up -d synapse element-web"
echo ""
echo "4. Wait for Synapse to start (check logs):"
echo " docker logs -f manacore-synapse"
echo " docker logs -f mana-synapse"
echo ""
echo "5. Create admin user:"
echo " docker exec -it manacore-synapse register_new_matrix_user \\"
echo " docker exec -it mana-synapse register_new_matrix_user \\"
echo " -c /data/homeserver.yaml http://localhost:8008 -a"
echo ""
echo "6. Test endpoints:"

View file

@ -1,5 +1,5 @@
#!/bin/bash
# Setup notifications for ManaCore Health Checks
# Setup notifications for Mana Health Checks
# Run this script on the Mac Mini to configure alerts
set -e
@ -8,7 +8,7 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
ENV_FILE="$PROJECT_ROOT/.env.notifications"
echo "=== ManaCore Notification Setup ==="
echo "=== Mana Notification Setup ==="
echo ""
# ============================================
@ -35,8 +35,8 @@ echo ""
echo "To create a Telegram bot:"
echo " 1. Open Telegram and message @BotFather"
echo " 2. Send /newbot"
echo " 3. Choose a name (e.g., 'ManaCore Alerts')"
echo " 4. Choose a username (e.g., 'manacore_alerts_bot')"
echo " 3. Choose a name (e.g., 'Mana Alerts')"
echo " 4. Choose a username (e.g., 'mana_alerts_bot')"
echo " 5. Copy the bot token"
echo ""
@ -120,7 +120,7 @@ echo ""
echo "=== Writing Configuration ==="
cat > "$ENV_FILE" << EOF
# ManaCore Notification Configuration
# Mana Notification Configuration
# Generated on $(date)
# Telegram
@ -158,7 +158,7 @@ if [[ ! $REPLY =~ ^[Nn]$ ]]; then
echo -n " Testing Telegram... "
RESULT=$(curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-d "chat_id=${TELEGRAM_CHAT_ID}" \
-d "text=✅ ManaCore notification test successful!" \
-d "text=✅ Mana notification test successful!" \
-d "parse_mode=HTML")
if echo "$RESULT" | grep -q '"ok":true'; then
@ -172,7 +172,7 @@ if [[ ! $REPLY =~ ^[Nn]$ ]]; then
# Test Email
if [ -n "$EMAIL_TO" ] && command -v msmtp &> /dev/null; then
echo -n " Testing Email... "
echo -e "Subject: ManaCore Test Notification\nFrom: ${EMAIL_FROM}\nTo: ${EMAIL_TO}\n\nThis is a test notification from ManaCore health check." | \
echo -e "Subject: Mana Test Notification\nFrom: ${EMAIL_FROM}\nTo: ${EMAIL_TO}\n\nThis is a test notification from Mana health check." | \
msmtp -a default "$EMAIL_TO" 2>/dev/null && echo "OK" || echo "FAILED (check ~/.msmtprc)"
elif [ -n "$EMAIL_TO" ]; then
echo " Email configured but msmtp not installed"
@ -181,7 +181,7 @@ if [[ ! $REPLY =~ ^[Nn]$ ]]; then
# Test ntfy
if [ -n "$NTFY_TOPIC" ]; then
echo -n " Testing ntfy... "
curl -s -d "ManaCore notification test successful!" \
curl -s -d "Mana notification test successful!" \
-H "Title: Test" \
"https://ntfy.sh/$NTFY_TOPIC" >/dev/null && echo "OK" || echo "FAILED"
fi

View file

@ -7,11 +7,11 @@ set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
STT_DIR="$REPO_DIR/services/mana-stt"
PLIST_NAME="com.manacore.stt"
PLIST_NAME="com.mana.stt"
PLIST_PATH="$HOME/Library/LaunchAgents/$PLIST_NAME.plist"
echo "=============================================="
echo " ManaCore STT Service Setup (Mac Mini)"
echo " Mana STT Service Setup (Mac Mini)"
echo "=============================================="
echo ""
@ -86,10 +86,10 @@ cat > "$PLIST_PATH" << EOF
<integer>10</integer>
<key>StandardOutPath</key>
<string>/tmp/manacore-stt.log</string>
<string>/tmp/mana-stt.log</string>
<key>StandardErrorPath</key>
<string>/tmp/manacore-stt.error.log</string>
<string>/tmp/mana-stt.error.log</string>
</dict>
</plist>
EOF
@ -119,11 +119,11 @@ if launchctl list | grep -q "$PLIST_NAME"; then
echo " $HEALTH"
else
echo " Warning: Health check failed (service may still be starting)"
echo " Check logs: tail -f /tmp/manacore-stt.log"
echo " Check logs: tail -f /tmp/mana-stt.log"
fi
else
echo " Warning: Service may not be running"
echo " Check logs: tail -f /tmp/manacore-stt.error.log"
echo " Check logs: tail -f /tmp/mana-stt.error.log"
fi
echo ""
@ -135,7 +135,7 @@ echo "Service URL: http://localhost:3020"
echo ""
echo "Useful commands:"
echo " # View logs"
echo " tail -f /tmp/manacore-stt.log"
echo " tail -f /tmp/mana-stt.log"
echo ""
echo " # Restart service"
echo " launchctl kickstart -k gui/\$(id -u)/$PLIST_NAME"

View file

@ -7,7 +7,7 @@ set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
SERVICE_DIR="$REPO_DIR/services/mana-tts"
PLIST_NAME="com.manacore.tts"
PLIST_NAME="com.mana.tts"
PLIST_PATH="$HOME/Library/LaunchAgents/$PLIST_NAME.plist"
echo "=========================================="
@ -93,10 +93,10 @@ cat > "$PLIST_PATH" << EOF
<integer>10</integer>
<key>StandardOutPath</key>
<string>/tmp/manacore-tts.log</string>
<string>/tmp/mana-tts.log</string>
<key>StandardErrorPath</key>
<string>/tmp/manacore-tts.error.log</string>
<string>/tmp/mana-tts.error.log</string>
</dict>
</plist>
EOF
@ -117,7 +117,7 @@ if launchctl list | grep -q "$PLIST_NAME"; then
echo "Service loaded successfully!"
else
echo "Warning: Service may not have loaded correctly."
echo "Check logs: tail -f /tmp/manacore-tts.log"
echo "Check logs: tail -f /tmp/mana-tts.log"
fi
# Health check
@ -142,7 +142,7 @@ echo ""
echo "Service management commands:"
echo ""
echo " # View logs"
echo " tail -f /tmp/manacore-tts.log"
echo " tail -f /tmp/mana-tts.log"
echo ""
echo " # Stop service"
echo " launchctl unload $PLIST_PATH"

View file

@ -7,13 +7,13 @@ set -e
echo "Creating Umami database..."
# Check if running inside docker network or from host
if docker ps | grep -q manacore-postgres; then
docker exec -i manacore-postgres psql -U postgres <<EOF
if docker ps | grep -q mana-postgres; then
docker exec -i mana-postgres psql -U postgres <<EOF
SELECT 'CREATE DATABASE umami' WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'umami')\gexec
EOF
echo "Umami database created successfully!"
else
echo "Error: PostgreSQL container 'manacore-postgres' is not running"
echo "Error: PostgreSQL container 'mana-postgres' is not running"
echo "Please start it with: docker compose -f docker-compose.macmini.yml up -d postgres"
exit 1
fi

View file

@ -1,14 +1,14 @@
#!/bin/bash
# ManaCore Mac Mini Startup Script
# Mana Mac Mini Startup Script
# Called by launchd on boot — starts Colima + all containers
#
# LaunchAgent: ~/Library/LaunchAgents/com.manacore.docker-startup.plist
# LaunchAgent: ~/Library/LaunchAgents/com.mana.docker-startup.plist
set -uo pipefail
export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"
LOG_FILE="/tmp/manacore-startup.log"
LOG_FILE="/tmp/mana-startup.log"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
COMPOSE_FILE="$PROJECT_ROOT/docker-compose.macmini.yml"
@ -18,7 +18,7 @@ log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}
log "=== ManaCore Startup Script ==="
log "=== Mana Startup Script ==="
log "Project root: $PROJECT_ROOT"
# ─── Kill Docker Desktop if it auto-started ───

View file

@ -1,5 +1,5 @@
#!/bin/bash
# ManaCore Mac Mini Status Overview
# Mana Mac Mini Status Overview
# Shows the current state of all services
# Ensure PATH includes docker
@ -20,7 +20,7 @@ NC='\033[0m'
echo ""
echo -e "${BOLD}=========================================="
echo -e " ManaCore Mac Mini Status"
echo -e " Mana Mac Mini Status"
echo -e "==========================================${NC}"
echo ""
echo -e "${BLUE}Time:${NC} $(date)"
@ -44,8 +44,8 @@ check_launchd() {
}
check_launchd "com.cloudflare.cloudflared" "Cloudflared Tunnel"
check_launchd "com.manacore.docker-startup" "Docker Startup"
check_launchd "com.manacore.health-check" "Health Check (5min)"
check_launchd "com.mana.docker-startup" "Docker Startup"
check_launchd "com.mana.health-check" "Health Check (5min)"
# ============================================
# Docker Status
@ -141,14 +141,14 @@ fi
# ============================================
echo ""
echo -e "${BOLD}Recent Activity:${NC}"
if [ -f /tmp/manacore-health.log ]; then
if [ -f /tmp/mana-health.log ]; then
echo " Last health check:"
tail -3 /tmp/manacore-health.log | sed 's/^/ /'
tail -3 /tmp/mana-health.log | sed 's/^/ /'
fi
echo ""
echo -e "${BLUE}Commands:${NC}"
echo " Health check: ./scripts/mac-mini/health-check.sh"
echo " Restart all: ./scripts/mac-mini/restart.sh"
echo " View logs: tail -f /tmp/manacore-startup.log"
echo " View logs: tail -f /tmp/mana-startup.log"
echo ""

View file

@ -1,5 +1,5 @@
#!/bin/bash
# ManaCore Mac Mini Stop Script
# Mana Mac Mini Stop Script
# Stops all Docker containers
# Ensure PATH includes docker
@ -10,7 +10,7 @@ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
COMPOSE_FILE="$PROJECT_ROOT/docker-compose.macmini.yml"
ENV_FILE="$PROJECT_ROOT/.env.macmini"
echo "=== Stopping ManaCore Services ==="
echo "=== Stopping Mana Services ==="
echo ""
cd "$PROJECT_ROOT"

View file

@ -1,5 +1,5 @@
#!/bin/bash
# ManaCore Weekly Maintenance Report
# Mana Weekly Maintenance Report
# Generates a comprehensive system health summary
#
# Includes:
@ -18,8 +18,8 @@ export PATH="/usr/local/bin:/opt/homebrew/bin:$PATH"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
LOG_FILE="/tmp/manacore-weekly-report.log"
REPORT_FILE="/tmp/manacore-weekly-report.txt"
LOG_FILE="/tmp/mana-weekly-report.log"
REPORT_FILE="/tmp/mana-weekly-report.txt"
# Load notification config if exists
if [ -f "$PROJECT_ROOT/.env.notifications" ]; then
@ -51,7 +51,7 @@ send_notification() {
# Initialize report
init_report() {
cat > "$REPORT_FILE" << EOF
📊 <b>ManaCore Weekly Report</b>
📊 <b>Mana Weekly Report</b>
$(date '+%Y-%m-%d %H:%M')
━━━━━━━━━━━━━━━━━━━━━━
@ -284,7 +284,7 @@ check_system() {
generate_summary() {
echo "" >> "$REPORT_FILE"
echo "━━━━━━━━━━━━━━━━━━━━━━" >> "$REPORT_FILE"
echo "<i>Generated by ManaCore</i>" >> "$REPORT_FILE"
echo "<i>Generated by Mana</i>" >> "$REPORT_FILE"
}
# Main execution

View file

@ -9,7 +9,7 @@
#
# Examples:
# ./scripts/run-tests-with-coverage.sh # Run all tests
# ./scripts/run-tests-with-coverage.sh mana-core-auth # Run auth tests only
# ./scripts/run-tests-with-coverage.sh mana-auth # Run auth tests only
# ./scripts/run-tests-with-coverage.sh chat-backend # Run chat backend tests only
set -e
@ -56,7 +56,7 @@ run_package_tests() {
# Extract database name from package
DB_NAME=$(echo "$package_name" | sed 's/-backend$//' | sed 's/mana-core-//')
export DATABASE_URL="postgresql://manacore:devpassword@localhost:5432/${DB_NAME}"
export DATABASE_URL="postgresql://mana:devpassword@localhost:5432/${DB_NAME}"
export NODE_ENV="test"
# Run migrations if available

View file

@ -14,7 +14,7 @@ set -e
# Database connection details (from .env.development)
DB_HOST="${DB_HOST:-localhost}"
DB_PORT="${DB_PORT:-5432}"
DB_USER="${POSTGRES_USER:-manacore}"
DB_USER="${POSTGRES_USER:-mana}"
DB_PASSWORD="${POSTGRES_PASSWORD:-devpassword}"
# Colors for output
@ -113,10 +113,10 @@ setup_service() {
push_schema "@presi/server" "presi"
;;
uload)
push_schema "@manacore/uload-database" "uload"
push_schema "@mana/uload-database" "uload"
;;
cards)
push_schema "@manacore/cards-database" "cards"
push_schema "@mana/cards-database" "cards"
;;
*)
echo -e "${RED}Unknown service: $service${NC}"

View file

@ -24,7 +24,7 @@ echo -e "${YELLOW}Cleaning up test data...${NC}"
# Configuration
export NODE_ENV="test"
export DATABASE_URL_TEMPLATE="postgresql://manacore:devpassword@localhost:5432"
export DATABASE_URL_TEMPLATE="postgresql://mana:devpassword@localhost:5432"
# Cleanup function
cleanup_database() {
@ -35,8 +35,8 @@ cleanup_database() {
export DATABASE_URL="${DATABASE_URL_TEMPLATE}/${db_name}"
# Drop and recreate database
psql -U manacore -h localhost -c "DROP DATABASE IF EXISTS ${db_name};" postgres 2>/dev/null || true
psql -U manacore -h localhost -c "CREATE DATABASE ${db_name};" postgres 2>/dev/null || true
psql -U mana -h localhost -c "DROP DATABASE IF EXISTS ${db_name};" postgres 2>/dev/null || true
psql -U mana -h localhost -c "CREATE DATABASE ${db_name};" postgres 2>/dev/null || true
echo -e "${GREEN}✓ Cleaned ${db_name}${NC}"
}
@ -44,7 +44,7 @@ cleanup_database() {
# Execute cleanup based on filter
case "$SERVICE_FILTER" in
"all")
cleanup_database "manacore"
cleanup_database "mana"
cleanup_database "chat"
cleanup_database "todo"
cleanup_database "calendar"
@ -52,7 +52,7 @@ case "$SERVICE_FILTER" in
cleanup_database "picture"
;;
"auth")
cleanup_database "manacore"
cleanup_database "mana"
;;
"chat")
cleanup_database "chat"

View file

@ -25,7 +25,7 @@ echo -e "${GREEN}Seeding test data...${NC}"
# Configuration
export NODE_ENV="test"
export DATABASE_URL_TEMPLATE="postgresql://manacore:devpassword@localhost:5432"
export DATABASE_URL_TEMPLATE="postgresql://mana:devpassword@localhost:5432"
# Seed auth service
seed_auth() {

View file

@ -1,6 +1,6 @@
# Test Reporting Scripts
Collection of Node.js scripts for aggregating, analyzing, and reporting on test results in the ManaCore monorepo.
Collection of Node.js scripts for aggregating, analyzing, and reporting on test results in the Mana monorepo.
## Scripts Overview

View file

@ -113,7 +113,7 @@ function getDockerfileCopyPaths(dockerfilePath) {
const trimmed = line.trim();
// Match COPY statements like: COPY packages/shared-utils ./packages/shared-utils
// or COPY apps/zitare/packages/content ./apps/zitare/packages/content
// or COPY services/mana-core-auth ./services/mana-core-auth
// or COPY services/mana-auth ./services/mana-auth
const copyMatch = trimmed.match(/^COPY\s+((?:packages|apps|services)\/\S+)/);
if (copyMatch) {
copyPaths.add(copyMatch[1]);

View file

@ -132,7 +132,7 @@ function checkWorkspaceProtocol(packagePath, packageJson) {
const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
const internalScopes = [
'@manacore/',
'@mana/',
'@mana-core/',
'@chat/',
'@picture/',