mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:21:09 +02:00
fix: replace all manacore.app URLs with mana.how
The production domain is mana.how, not manacore.app. Updated all references across shared-branding APP_URLS, app configs, landing pages, docs, help content, calendar iCal UIDs, and deploy scripts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
2d7ca7e387
commit
2c26fce736
34 changed files with 100 additions and 103 deletions
|
|
@ -377,7 +377,7 @@ The pipeline handles deployment for:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# SSH to server
|
# SSH to server
|
||||||
ssh deploy@api.manacore.app
|
ssh deploy@api.mana.how
|
||||||
cd ~/manacore-production
|
cd ~/manacore-production
|
||||||
|
|
||||||
# Find backup
|
# Find backup
|
||||||
|
|
|
||||||
|
|
@ -666,7 +666,7 @@ pnpm cf:projects:list
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Add custom domain to a project
|
# Add custom domain to a project
|
||||||
npx wrangler pages project add-domain chat-landing chat.manacore.app
|
npx wrangler pages project add-domain chat-landing chat.mana.how
|
||||||
```
|
```
|
||||||
|
|
||||||
## Server Access
|
## Server Access
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ The Hive Mind collective has successfully analyzed, designed, and implemented a
|
||||||
**Architecture Highlights**:
|
**Architecture Highlights**:
|
||||||
|
|
||||||
- **Environment Stages**: Development (local) → Staging (Coolify) → Production (Coolify/K8s)
|
- **Environment Stages**: Development (local) → Staging (Coolify) → Production (Coolify/K8s)
|
||||||
- **Domain Strategy**: `{service}.manacore.app` (e.g., `api-chat.manacore.app`)
|
- **Domain Strategy**: `{service}.mana.how` (e.g., `api-chat.mana.how`)
|
||||||
- **Disaster Recovery**: RTO < 1 hour, RPO < 24 hours, automated daily backups
|
- **Disaster Recovery**: RTO < 1 hour, RPO < 24 hours, automated daily backups
|
||||||
- **Resource Requirements**: 15 vCPU, 15 GB RAM, 100 GB SSD (~$150-300/month single-server)
|
- **Resource Requirements**: 15 vCPU, 15 GB RAM, 100 GB SSD (~$150-300/month single-server)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -412,7 +412,7 @@ CORS_ORIGINS=http://localhost:5173,http://localhost:5179,http://localhost:8081
|
||||||
# Notifications (optional)
|
# Notifications (optional)
|
||||||
EXPO_ACCESS_TOKEN=your-expo-access-token
|
EXPO_ACCESS_TOKEN=your-expo-access-token
|
||||||
RESEND_API_KEY=your-resend-api-key
|
RESEND_API_KEY=your-resend-api-key
|
||||||
EMAIL_FROM=calendar@manacore.app
|
EMAIL_FROM=calendar@mana.how
|
||||||
```
|
```
|
||||||
|
|
||||||
### Web (.env)
|
### Web (.env)
|
||||||
|
|
|
||||||
|
|
@ -195,7 +195,7 @@ export class ICalService {
|
||||||
const vevent = new ICAL.Component('vevent');
|
const vevent = new ICAL.Component('vevent');
|
||||||
|
|
||||||
// Required properties
|
// Required properties
|
||||||
vevent.addPropertyWithValue('uid', `${event.id}@manacore.app`);
|
vevent.addPropertyWithValue('uid', `${event.id}@mana.how`);
|
||||||
vevent.addPropertyWithValue('summary', event.title);
|
vevent.addPropertyWithValue('summary', event.title);
|
||||||
|
|
||||||
// Timestamps
|
// Timestamps
|
||||||
|
|
|
||||||
|
|
@ -102,7 +102,7 @@ const links = {
|
||||||
© {currentYear} Kalender. Alle Rechte vorbehalten.
|
© {currentYear} Kalender. Alle Rechte vorbehalten.
|
||||||
</p>
|
</p>
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
Ein <a href="https://manacore.app" class="text-primary-400 hover:underline">Manacore</a> Produkt
|
Ein <a href="https://mana.how" class="text-primary-400 hover:underline">Manacore</a> Produkt
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,6 @@ import tailwind from '@astrojs/tailwind';
|
||||||
import sitemap from '@astrojs/sitemap';
|
import sitemap from '@astrojs/sitemap';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
site: 'https://chat.manacore.app',
|
site: 'https://chat.mana.how',
|
||||||
integrations: [
|
integrations: [tailwind(), sitemap()],
|
||||||
tailwind(),
|
|
||||||
sitemap()
|
|
||||||
]
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -167,7 +167,7 @@ export const centralHelpContent: HelpContent = {
|
||||||
</ul>`,
|
</ul>`,
|
||||||
language: 'en',
|
language: 'en',
|
||||||
order: 1,
|
order: 1,
|
||||||
supportEmail: 'support@manacore.app',
|
supportEmail: 'support@mana.how',
|
||||||
responseTime: 'Usually within 24 hours',
|
responseTime: 'Usually within 24 hours',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -435,7 +435,7 @@
|
||||||
<!-- Contact Options -->
|
<!-- Contact Options -->
|
||||||
<div class="grid gap-4 sm:grid-cols-2">
|
<div class="grid gap-4 sm:grid-cols-2">
|
||||||
<a
|
<a
|
||||||
href="mailto:support@manacore.app"
|
href="mailto:support@mana.how"
|
||||||
class="group flex items-center gap-4 rounded-2xl bg-white/80 p-5 shadow-sm ring-1 ring-gray-200 backdrop-blur-sm transition-all hover:-translate-y-1 hover:shadow-lg dark:bg-white/5 dark:ring-white/10"
|
class="group flex items-center gap-4 rounded-2xl bg-white/80 p-5 shadow-sm ring-1 ring-gray-200 backdrop-blur-sm transition-all hover:-translate-y-1 hover:shadow-lg dark:bg-white/5 dark:ring-white/10"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
|
@ -447,7 +447,7 @@
|
||||||
<p class="font-medium text-gray-900 dark:text-gray-100">
|
<p class="font-medium text-gray-900 dark:text-gray-100">
|
||||||
{t.email}
|
{t.email}
|
||||||
</p>
|
</p>
|
||||||
<p class="text-sm text-gray-600 dark:text-gray-400">support@manacore.app</p>
|
<p class="text-sm text-gray-600 dark:text-gray-400">support@mana.how</p>
|
||||||
</div>
|
</div>
|
||||||
<ArrowRight
|
<ArrowRight
|
||||||
size={18}
|
size={18}
|
||||||
|
|
@ -483,7 +483,7 @@
|
||||||
</h3>
|
</h3>
|
||||||
<div class="space-y-2">
|
<div class="space-y-2">
|
||||||
<a
|
<a
|
||||||
href="https://manacore.app"
|
href="https://mana.how"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
class="flex items-center gap-2 text-sm text-gray-600 transition-colors hover:text-blue-600 dark:text-gray-400 dark:hover:text-blue-400"
|
class="flex items-center gap-2 text-sm text-gray-600 transition-colors hover:text-blue-600 dark:text-gray-400 dark:hover:text-blue-400"
|
||||||
|
|
@ -492,7 +492,7 @@
|
||||||
{$locale === 'de' ? 'Website besuchen' : 'Visit Website'}
|
{$locale === 'de' ? 'Website besuchen' : 'Visit Website'}
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
href="https://manacore.app/docs"
|
href="https://mana.how/docs"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
class="flex items-center gap-2 text-sm text-gray-600 transition-colors hover:text-blue-600 dark:text-gray-400 dark:hover:text-blue-400"
|
class="flex items-center gap-2 text-sm text-gray-600 transition-colors hover:text-blue-600 dark:text-gray-400 dark:hover:text-blue-400"
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import tailwind from '@astrojs/tailwind';
|
||||||
import sitemap from '@astrojs/sitemap';
|
import sitemap from '@astrojs/sitemap';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
site: 'https://docs.manacore.app',
|
site: 'https://docs.mana.how',
|
||||||
integrations: [
|
integrations: [
|
||||||
starlight({
|
starlight({
|
||||||
title: 'Manacore Docs',
|
title: 'Manacore Docs',
|
||||||
|
|
@ -90,7 +90,7 @@ export default defineConfig({
|
||||||
tag: 'meta',
|
tag: 'meta',
|
||||||
attrs: {
|
attrs: {
|
||||||
property: 'og:image',
|
property: 'og:image',
|
||||||
content: 'https://docs.manacore.app/og-image.png',
|
content: 'https://docs.mana.how/og-image.png',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ This section contains API documentation for all Manacore backend services.
|
||||||
All API endpoints (except public ones) require authentication via JWT bearer token:
|
All API endpoints (except public ones) require authentication via JWT bearer token:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -X GET https://api.manacore.app/v1/users/me \
|
curl -X GET https://api.mana.how/v1/users/me \
|
||||||
-H "Authorization: Bearer <your-token>"
|
-H "Authorization: Bearer <your-token>"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -20,7 +20,7 @@ curl -X GET https://api.manacore.app/v1/users/me \
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Login
|
# Login
|
||||||
curl -X POST https://api.manacore.app/v1/auth/login \
|
curl -X POST https://api.mana.how/v1/auth/login \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d '{"email": "user@example.com", "password": "password"}'
|
-d '{"email": "user@example.com", "password": "password"}'
|
||||||
|
|
||||||
|
|
@ -36,10 +36,10 @@ curl -X POST https://api.manacore.app/v1/auth/login \
|
||||||
|
|
||||||
| Service | Development | Production |
|
| Service | Development | Production |
|
||||||
|---------|-------------|------------|
|
|---------|-------------|------------|
|
||||||
| Auth | `http://localhost:3001` | `https://auth.manacore.app` |
|
| Auth | `http://localhost:3001` | `https://auth.mana.how` |
|
||||||
| Chat | `http://localhost:3002` | `https://chat-api.manacore.app` |
|
| Chat | `http://localhost:3002` | `https://chat-api.mana.how` |
|
||||||
| Picture | `http://localhost:3006` | `https://picture-api.manacore.app` |
|
| Picture | `http://localhost:3006` | `https://picture-api.mana.how` |
|
||||||
| Zitare | `http://localhost:3007` | `https://zitare-api.manacore.app` |
|
| Zitare | `http://localhost:3007` | `https://zitare-api.mana.how` |
|
||||||
|
|
||||||
## Common Response Format
|
## Common Response Format
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,12 +13,12 @@ All landing pages and static sites are deployed to **Cloudflare Pages** using Di
|
||||||
|
|
||||||
| Project | Package | Cloudflare Project | URL |
|
| Project | Package | Cloudflare Project | URL |
|
||||||
|---------|---------|-------------------|-----|
|
|---------|---------|-------------------|-----|
|
||||||
| Chat | `@chat/landing` | `chat-landing` | chat.manacore.app |
|
| Chat | `@chat/landing` | `chat-landing` | chat.mana.how |
|
||||||
| Picture | `@picture/landing` | `picture-landing` | picture.manacore.app |
|
| Picture | `@picture/landing` | `picture-landing` | picture.mana.how |
|
||||||
| Manacore | `@manacore/landing` | `manacore-landing` | manacore.app |
|
| Manacore | `@manacore/landing` | `manacore-landing` | mana.how |
|
||||||
| ManaDeck | `@manadeck/landing` | `manadeck-landing` | manadeck.manacore.app |
|
| ManaDeck | `@manadeck/landing` | `manadeck-landing` | manadeck.mana.how |
|
||||||
| Zitare | `@zitare/landing` | `zitare-landing` | zitare.manacore.app |
|
| Zitare | `@zitare/landing` | `zitare-landing` | zitare.mana.how |
|
||||||
| Docs | `@manacore/docs` | `manacore-docs` | docs.manacore.app |
|
| Docs | `@manacore/docs` | `manacore-docs` | docs.mana.how |
|
||||||
|
|
||||||
## Quick Deploy
|
## Quick Deploy
|
||||||
|
|
||||||
|
|
@ -102,11 +102,11 @@ Each project has a deploy script in root `package.json`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Via CLI
|
# Via CLI
|
||||||
npx wrangler pages project add-domain chat-landing chat.manacore.app
|
npx wrangler pages project add-domain chat-landing chat.mana.how
|
||||||
|
|
||||||
# Or via Cloudflare Dashboard:
|
# Or via Cloudflare Dashboard:
|
||||||
# 1. Go to Pages > chat-landing > Custom domains
|
# 1. Go to Pages > chat-landing > Custom domains
|
||||||
# 2. Add domain: chat.manacore.app
|
# 2. Add domain: chat.mana.how
|
||||||
# 3. Configure DNS (automatic if using Cloudflare DNS)
|
# 3. Configure DNS (automatic if using Cloudflare DNS)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -132,7 +132,7 @@ Set in Cloudflare Dashboard or via `wrangler.toml`:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[vars]
|
[vars]
|
||||||
PUBLIC_API_URL = "https://api.manacore.app"
|
PUBLIC_API_URL = "https://api.mana.how"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Via Dashboard
|
### Via Dashboard
|
||||||
|
|
@ -208,7 +208,7 @@ npx wrangler pages deployment promote <deployment-id> --project-name=chat-landin
|
||||||
6. **Add custom domain** (optional)
|
6. **Add custom domain** (optional)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npx wrangler pages project add-domain {project}-landing {project}.manacore.app
|
npx wrangler pages project add-domain {project}-landing {project}.mana.how
|
||||||
```
|
```
|
||||||
</Steps>
|
</Steps>
|
||||||
|
|
||||||
|
|
@ -237,6 +237,6 @@ pnpm --filter @project/landing build
|
||||||
<Aside type="tip">
|
<Aside type="tip">
|
||||||
Use `dig` to check DNS propagation:
|
Use `dig` to check DNS propagation:
|
||||||
```bash
|
```bash
|
||||||
dig chat.manacore.app
|
dig chat.mana.how
|
||||||
```
|
```
|
||||||
</Aside>
|
</Aside>
|
||||||
|
|
|
||||||
|
|
@ -104,8 +104,8 @@ git pull
|
||||||
| Environment | Purpose | URL Pattern |
|
| Environment | Purpose | URL Pattern |
|
||||||
|-------------|---------|-------------|
|
|-------------|---------|-------------|
|
||||||
| **Development** | Local testing | `localhost:*` |
|
| **Development** | Local testing | `localhost:*` |
|
||||||
| **Staging** | Pre-production testing | `staging.*.manacore.app` |
|
| **Staging** | Pre-production testing | `staging.*.mana.how` |
|
||||||
| **Production** | Live users | `*.manacore.app` |
|
| **Production** | Live users | `*.mana.how` |
|
||||||
|
|
||||||
## CI/CD
|
## CI/CD
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -245,7 +245,7 @@ EAS Build für die Traces App konfiguriert, inkl. TestFlight Distribution.
|
||||||
"submit": {
|
"submit": {
|
||||||
"production": {
|
"production": {
|
||||||
"ios": {
|
"ios": {
|
||||||
"appleId": "till@manacore.app",
|
"appleId": "till@mana.how",
|
||||||
"ascAppId": "traces-app-id"
|
"ascAppId": "traces-app-id"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -214,8 +214,8 @@ Die `PUBLIC_TODO_BACKEND_URL` fehlte in der Production-Konfiguration der Contact
|
||||||
|
|
||||||
```diff
|
```diff
|
||||||
# .env.production
|
# .env.production
|
||||||
PUBLIC_CONTACTS_BACKEND_URL=https://contacts-api.manacore.app
|
PUBLIC_CONTACTS_BACKEND_URL=https://contacts-api.mana.how
|
||||||
+ PUBLIC_TODO_BACKEND_URL=https://todo-api.manacore.app
|
+ PUBLIC_TODO_BACKEND_URL=https://todo-api.mana.how
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://chat.manacore.app',
|
website: 'https://chat.mana.how',
|
||||||
},
|
},
|
||||||
|
|
||||||
picture: {
|
picture: {
|
||||||
|
|
@ -143,7 +143,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://picture.manacore.app',
|
website: 'https://picture.mana.how',
|
||||||
},
|
},
|
||||||
|
|
||||||
presi: {
|
presi: {
|
||||||
|
|
@ -181,7 +181,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://presi.manacore.app',
|
website: 'https://presi.mana.how',
|
||||||
},
|
},
|
||||||
|
|
||||||
mail: {
|
mail: {
|
||||||
|
|
@ -220,7 +220,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://mail.manacore.app',
|
website: 'https://mail.mana.how',
|
||||||
},
|
},
|
||||||
|
|
||||||
// ============================================
|
// ============================================
|
||||||
|
|
@ -261,7 +261,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://manadeck.manacore.app',
|
website: 'https://manadeck.mana.how',
|
||||||
},
|
},
|
||||||
|
|
||||||
todo: {
|
todo: {
|
||||||
|
|
@ -299,7 +299,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://todo.manacore.app',
|
website: 'https://todo.mana.how',
|
||||||
},
|
},
|
||||||
|
|
||||||
calendar: {
|
calendar: {
|
||||||
|
|
@ -338,7 +338,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://calendar.manacore.app',
|
website: 'https://calendar.mana.how',
|
||||||
},
|
},
|
||||||
|
|
||||||
contacts: {
|
contacts: {
|
||||||
|
|
@ -376,7 +376,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://contacts.manacore.app',
|
website: 'https://contacts.mana.how',
|
||||||
},
|
},
|
||||||
|
|
||||||
finance: {
|
finance: {
|
||||||
|
|
@ -415,7 +415,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://finance.manacore.app',
|
website: 'https://finance.mana.how',
|
||||||
},
|
},
|
||||||
|
|
||||||
// ============================================
|
// ============================================
|
||||||
|
|
@ -456,7 +456,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://clock.manacore.app',
|
website: 'https://clock.mana.how',
|
||||||
},
|
},
|
||||||
|
|
||||||
zitare: {
|
zitare: {
|
||||||
|
|
@ -494,7 +494,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://zitare.manacore.app',
|
website: 'https://zitare.mana.how',
|
||||||
},
|
},
|
||||||
|
|
||||||
storage: {
|
storage: {
|
||||||
|
|
@ -532,7 +532,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://storage.manacore.app',
|
website: 'https://storage.mana.how',
|
||||||
},
|
},
|
||||||
|
|
||||||
moodlit: {
|
moodlit: {
|
||||||
|
|
@ -571,7 +571,7 @@ export const appConfigs: Record<string, AppConfig> = {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
dashboardRoute: '/dashboard',
|
dashboardRoute: '/dashboard',
|
||||||
website: 'https://moodlit.manacore.app',
|
website: 'https://moodlit.mana.how',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,5 @@ import tailwind from '@astrojs/tailwind';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
integrations: [tailwind()],
|
integrations: [tailwind()],
|
||||||
site: 'https://nutriphi.manacore.app',
|
site: 'https://nutriphi.mana.how',
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@ const faqs = [
|
||||||
<span class="font-semibold text-white">NutriPhi</span>
|
<span class="font-semibold text-white">NutriPhi</span>
|
||||||
</div>
|
</div>
|
||||||
<a
|
<a
|
||||||
href="https://app.nutriphi.manacore.app"
|
href="https://nutriphi.mana.how"
|
||||||
class="px-4 py-2 bg-primary hover:bg-primary-hover text-white font-medium rounded-lg transition-colors"
|
class="px-4 py-2 bg-primary hover:bg-primary-hover text-white font-medium rounded-lg transition-colors"
|
||||||
>
|
>
|
||||||
Jetzt starten
|
Jetzt starten
|
||||||
|
|
@ -144,7 +144,7 @@ const faqs = [
|
||||||
|
|
||||||
<div class="flex flex-col sm:flex-row gap-4 justify-center">
|
<div class="flex flex-col sm:flex-row gap-4 justify-center">
|
||||||
<a
|
<a
|
||||||
href="https://app.nutriphi.manacore.app"
|
href="https://nutriphi.mana.how"
|
||||||
class="px-8 py-4 bg-primary hover:bg-primary-hover text-white font-semibold rounded-xl transition-colors text-lg"
|
class="px-8 py-4 bg-primary hover:bg-primary-hover text-white font-semibold rounded-xl transition-colors text-lg"
|
||||||
>
|
>
|
||||||
Kostenlos starten
|
Kostenlos starten
|
||||||
|
|
@ -240,7 +240,7 @@ const faqs = [
|
||||||
Kostenlos. Ohne Kreditkarte. Sofort loslegen.
|
Kostenlos. Ohne Kreditkarte. Sofort loslegen.
|
||||||
</p>
|
</p>
|
||||||
<a
|
<a
|
||||||
href="https://app.nutriphi.manacore.app"
|
href="https://nutriphi.mana.how"
|
||||||
class="inline-block px-10 py-4 bg-primary hover:bg-primary-hover text-white font-semibold rounded-xl transition-colors text-lg"
|
class="inline-block px-10 py-4 bg-primary hover:bg-primary-hover text-white font-semibold rounded-xl transition-colors text-lg"
|
||||||
>
|
>
|
||||||
Jetzt kostenlos registrieren
|
Jetzt kostenlos registrieren
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,6 @@ import tailwind from '@astrojs/tailwind';
|
||||||
import sitemap from '@astrojs/sitemap';
|
import sitemap from '@astrojs/sitemap';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
site: 'https://presi.manacore.app',
|
site: 'https://presi.mana.how',
|
||||||
integrations: [tailwind(), sitemap()],
|
integrations: [tailwind(), sitemap()],
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ import Container from '@manacore/shared-landing-ui/atoms/Container.astro';
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
href="https://presi.manacore.app"
|
href="https://presi.mana.how"
|
||||||
class="text-text-secondary hover:text-text-primary text-sm transition-colors"
|
class="text-text-secondary hover:text-text-primary text-sm transition-colors"
|
||||||
>
|
>
|
||||||
Web App
|
Web App
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ import Button from '@manacore/shared-landing-ui/atoms/Button.astro';
|
||||||
|
|
||||||
<!-- CTA -->
|
<!-- CTA -->
|
||||||
<div class="flex items-center gap-4">
|
<div class="flex items-center gap-4">
|
||||||
<Button href="https://presi.manacore.app" variant="primary" size="sm"> App öffnen </Button>
|
<Button href="https://presi.mana.how" variant="primary" size="sm"> App öffnen </Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Container>
|
</Container>
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ const faqs = [
|
||||||
variant="centered"
|
variant="centered"
|
||||||
primaryCta={{
|
primaryCta={{
|
||||||
text: 'Kostenlos starten',
|
text: 'Kostenlos starten',
|
||||||
href: 'https://presi.manacore.app',
|
href: 'https://presi.mana.how',
|
||||||
}}
|
}}
|
||||||
secondaryCta={{
|
secondaryCta={{
|
||||||
text: 'Features ansehen',
|
text: 'Features ansehen',
|
||||||
|
|
@ -214,7 +214,7 @@ const faqs = [
|
||||||
subtitle="Starte jetzt kostenlos und erstelle deine erste Präsentation in Minuten."
|
subtitle="Starte jetzt kostenlos und erstelle deine erste Präsentation in Minuten."
|
||||||
primaryCta={{
|
primaryCta={{
|
||||||
text: 'Web App öffnen',
|
text: 'Web App öffnen',
|
||||||
href: 'https://presi.manacore.app',
|
href: 'https://presi.mana.how',
|
||||||
}}
|
}}
|
||||||
secondaryCta={{
|
secondaryCta={{
|
||||||
text: 'Mobile App laden',
|
text: 'Mobile App laden',
|
||||||
|
|
|
||||||
|
|
@ -102,7 +102,7 @@ const links = {
|
||||||
© {currentYear} Todo. Alle Rechte vorbehalten.
|
© {currentYear} Todo. Alle Rechte vorbehalten.
|
||||||
</p>
|
</p>
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
Ein <a href="https://manacore.app" class="text-primary-400 hover:underline">Manacore</a> Produkt
|
Ein <a href="https://mana.how" class="text-primary-400 hover:underline">Manacore</a> Produkt
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -445,8 +445,8 @@ curl -s http://localhost:3002/api/v1/health | jq
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Health check endpoints
|
# Health check endpoints
|
||||||
curl -s https://staging-api-chat.manacore.app/api/v1/health | jq
|
curl -s https://staging-api-chat.mana.how/api/v1/health | jq
|
||||||
curl -s https://staging-api-zitare.manacore.app/api/v1/health | jq
|
curl -s https://staging-api-zitare.mana.how/api/v1/health | jq
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -505,7 +505,7 @@ cp docker/templates/Dockerfile.astro apps/bauntown/Dockerfile
|
||||||
|
|
||||||
1. Add a new "Resource" → "Service"
|
1. Add a new "Resource" → "Service"
|
||||||
2. For each web app/landing:
|
2. For each web app/landing:
|
||||||
- Set domain (e.g., `chat.manacore.app`)
|
- Set domain (e.g., `chat.mana.how`)
|
||||||
- Enable "Generate SSL"
|
- Enable "Generate SSL"
|
||||||
- Set Docker image: `ghcr.io/wuesteon/chat-web:latest`
|
- Set Docker image: `ghcr.io/wuesteon/chat-web:latest`
|
||||||
- Configure environment variables
|
- Configure environment variables
|
||||||
|
|
|
||||||
|
|
@ -231,8 +231,8 @@
|
||||||
### 3.3 Configure Reverse Proxy (Traefik/Nginx)
|
### 3.3 Configure Reverse Proxy (Traefik/Nginx)
|
||||||
|
|
||||||
- [ ] Plan domain structure:
|
- [ ] Plan domain structure:
|
||||||
- `chat.manacore.app` → Chat web app
|
- `chat.mana.how` → Chat web app
|
||||||
- `api-chat.manacore.app` → Chat backend
|
- `api-chat.mana.how` → Chat backend
|
||||||
- `maerchenzauber.com` → Landing page
|
- `maerchenzauber.com` → Landing page
|
||||||
- `app.maerchenzauber.com` → Web app
|
- `app.maerchenzauber.com` → Web app
|
||||||
- etc.
|
- etc.
|
||||||
|
|
|
||||||
|
|
@ -27,12 +27,12 @@ Das ManaCore-Ökosystem besteht aus mehreren unabhängigen SvelteKit-Anwendungen
|
||||||
|
|
||||||
| App | Port (Dev) | Domain (Prod) |
|
| App | Port (Dev) | Domain (Prod) |
|
||||||
|-----|------------|---------------|
|
|-----|------------|---------------|
|
||||||
| Calendar | 5179 | calendar.manacore.app |
|
| Calendar | 5179 | calendar.mana.how |
|
||||||
| Contacts | 5184 | contacts.manacore.app |
|
| Contacts | 5184 | contacts.mana.how |
|
||||||
| Todo | 5188 | todo.manacore.app |
|
| Todo | 5188 | todo.mana.how |
|
||||||
| Chat | 5174 | chat.manacore.app |
|
| Chat | 5174 | chat.mana.how |
|
||||||
| Clock | 5187 | clock.manacore.app |
|
| Clock | 5187 | clock.mana.how |
|
||||||
| Picture | 5185 | picture.manacore.app |
|
| Picture | 5185 | picture.mana.how |
|
||||||
|
|
||||||
Jede App ist eine **eigenständige SvelteKit-Instanz** mit:
|
Jede App ist eine **eigenständige SvelteKit-Instanz** mit:
|
||||||
- Eigenem Dev-Server und Production-Build
|
- Eigenem Dev-Server und Production-Build
|
||||||
|
|
|
||||||
|
|
@ -408,28 +408,28 @@ export const APP_SLIDER_LABELS = {
|
||||||
* Default app URLs for local development and production
|
* Default app URLs for local development and production
|
||||||
*/
|
*/
|
||||||
export const APP_URLS: Record<AppIconId, { dev: string; prod: string }> = {
|
export const APP_URLS: Record<AppIconId, { dev: string; prod: string }> = {
|
||||||
chat: { dev: 'http://localhost:5174', prod: 'https://chat.manacore.app' },
|
chat: { dev: 'http://localhost:5174', prod: 'https://chat.mana.how' },
|
||||||
memoro: { dev: 'http://localhost:5175', prod: 'https://memoro.manacore.app' },
|
memoro: { dev: 'http://localhost:5175', prod: 'https://memoro.mana.how' },
|
||||||
presi: { dev: 'http://localhost:5176', prod: 'https://presi.manacore.app' },
|
presi: { dev: 'http://localhost:5176', prod: 'https://presi.mana.how' },
|
||||||
manadeck: { dev: 'http://localhost:5177', prod: 'https://manadeck.manacore.app' },
|
manadeck: { dev: 'http://localhost:5177', prod: 'https://manadeck.mana.how' },
|
||||||
picture: { dev: 'http://localhost:5185', prod: 'https://picture.manacore.app' },
|
picture: { dev: 'http://localhost:5185', prod: 'https://picture.mana.how' },
|
||||||
zitare: { dev: 'http://localhost:5180', prod: 'https://zitare.manacore.app' },
|
zitare: { dev: 'http://localhost:5180', prod: 'https://zitare.mana.how' },
|
||||||
wisekeep: { dev: 'http://localhost:5181', prod: 'https://wisekeep.manacore.app' },
|
wisekeep: { dev: 'http://localhost:5181', prod: 'https://wisekeep.mana.how' },
|
||||||
nutriphi: { dev: 'http://localhost:5182', prod: 'https://nutriphi.manacore.app' },
|
nutriphi: { dev: 'http://localhost:5182', prod: 'https://nutriphi.mana.how' },
|
||||||
manacore: { dev: 'http://localhost:5173', prod: 'https://manacore.app' },
|
manacore: { dev: 'http://localhost:5173', prod: 'https://mana.how' },
|
||||||
mana: { dev: 'http://localhost:5173', prod: 'https://manacore.app' },
|
mana: { dev: 'http://localhost:5173', prod: 'https://mana.how' },
|
||||||
moodlit: { dev: 'http://localhost:5182', prod: 'https://moodlit.manacore.app' },
|
moodlit: { dev: 'http://localhost:5182', prod: 'https://moodlit.mana.how' },
|
||||||
contacts: { dev: 'http://localhost:5184', prod: 'https://contacts.manacore.app' },
|
contacts: { dev: 'http://localhost:5184', prod: 'https://contacts.mana.how' },
|
||||||
calendar: { dev: 'http://localhost:5179', prod: 'https://calendar.manacore.app' },
|
calendar: { dev: 'http://localhost:5179', prod: 'https://calendar.mana.how' },
|
||||||
storage: { dev: 'http://localhost:5185', prod: 'https://storage.manacore.app' },
|
storage: { dev: 'http://localhost:5185', prod: 'https://storage.mana.how' },
|
||||||
clock: { dev: 'http://localhost:5187', prod: 'https://clock.manacore.app' },
|
clock: { dev: 'http://localhost:5187', prod: 'https://clock.mana.how' },
|
||||||
todo: { dev: 'http://localhost:5189', prod: 'https://todo.manacore.app' },
|
todo: { dev: 'http://localhost:5189', prod: 'https://todo.mana.how' },
|
||||||
mail: { dev: 'http://localhost:5186', prod: 'https://mail.manacore.app' },
|
mail: { dev: 'http://localhost:5186', prod: 'https://mail.mana.how' },
|
||||||
inventory: { dev: 'http://localhost:5188', prod: 'https://inventory.manacore.app' },
|
inventory: { dev: 'http://localhost:5188', prod: 'https://inventory.mana.how' },
|
||||||
questions: { dev: 'http://localhost:5111', prod: 'https://questions.manacore.app' },
|
questions: { dev: 'http://localhost:5111', prod: 'https://questions.mana.how' },
|
||||||
matrix: { dev: 'http://localhost:5180', prod: 'https://matrix.mana.how' },
|
matrix: { dev: 'http://localhost:5180', prod: 'https://matrix.mana.how' },
|
||||||
playground: { dev: 'http://localhost:5190', prod: 'https://playground.mana.how' },
|
playground: { dev: 'http://localhost:5190', prod: 'https://playground.mana.how' },
|
||||||
context: { dev: 'http://localhost:5192', prod: 'https://context.manacore.app' },
|
context: { dev: 'http://localhost:5192', prod: 'https://context.mana.how' },
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
* import { authStore } from '$lib/stores/auth.svelte';
|
* import { authStore } from '$lib/stores/auth.svelte';
|
||||||
*
|
*
|
||||||
* export const feedbackService = createFeedbackService({
|
* export const feedbackService = createFeedbackService({
|
||||||
* apiUrl: 'https://auth.manacore.app',
|
* apiUrl: 'https://auth.mana.how',
|
||||||
* appId: 'chat',
|
* appId: 'chat',
|
||||||
* getAuthToken: async () => authStore.getToken(),
|
* getAuthToken: async () => authStore.getToken(),
|
||||||
* });
|
* });
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ id: contact-support
|
||||||
title: Support kontaktieren
|
title: Support kontaktieren
|
||||||
language: de
|
language: de
|
||||||
order: 1
|
order: 1
|
||||||
supportEmail: support@manacore.app
|
supportEmail: support@mana.how
|
||||||
responseTime: In der Regel innerhalb von 24 Stunden
|
responseTime: In der Regel innerhalb von 24 Stunden
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -19,7 +19,7 @@ Unser Support-Team hilft dir bei allen Fragen oder Problemen.
|
||||||
|
|
||||||
### Kontaktmöglichkeiten
|
### Kontaktmöglichkeiten
|
||||||
|
|
||||||
- **E-Mail**: Schreib uns an support@manacore.app
|
- **E-Mail**: Schreib uns an support@mana.how
|
||||||
- **Antwortzeit**: Wir antworten in der Regel innerhalb von 24 Stunden an Werktagen
|
- **Antwortzeit**: Wir antworten in der Regel innerhalb von 24 Stunden an Werktagen
|
||||||
|
|
||||||
### Was du angeben solltest
|
### Was du angeben solltest
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ id: contact-support
|
||||||
title: Contact Support
|
title: Contact Support
|
||||||
language: en
|
language: en
|
||||||
order: 1
|
order: 1
|
||||||
supportEmail: support@manacore.app
|
supportEmail: support@mana.how
|
||||||
responseTime: Usually within 24 hours
|
responseTime: Usually within 24 hours
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -19,7 +19,7 @@ Our support team is here to help you with any questions or issues.
|
||||||
|
|
||||||
### Contact Options
|
### Contact Options
|
||||||
|
|
||||||
- **Email**: Send us a message at support@manacore.app
|
- **Email**: Send us a message at support@mana.how
|
||||||
- **Response Time**: We typically respond within 24 hours on business days
|
- **Response Time**: We typically respond within 24 hours on business days
|
||||||
|
|
||||||
### What to Include
|
### What to Include
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,9 @@ ENVIRONMENT=${1:-"staging"}
|
||||||
|
|
||||||
# Environment-specific configuration
|
# Environment-specific configuration
|
||||||
if [ "$ENVIRONMENT" == "production" ]; then
|
if [ "$ENVIRONMENT" == "production" ]; then
|
||||||
BASE_URL=${PRODUCTION_API_URL:-"https://api.manacore.app"}
|
BASE_URL=${PRODUCTION_API_URL:-"https://api.mana.how"}
|
||||||
else
|
else
|
||||||
BASE_URL=${STAGING_API_URL:-"https://staging.manacore.app"}
|
BASE_URL=${STAGING_API_URL:-"https://staging.mana.how"}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log_info() {
|
log_info() {
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ CACHE_EXTRACT_TTL=86400
|
||||||
# Content Extraction
|
# Content Extraction
|
||||||
EXTRACT_TIMEOUT=10000
|
EXTRACT_TIMEOUT=10000
|
||||||
EXTRACT_MAX_LENGTH=50000
|
EXTRACT_MAX_LENGTH=50000
|
||||||
EXTRACT_USER_AGENT=Mozilla/5.0 (compatible; ManaSearchBot/1.0; +https://manacore.app)
|
EXTRACT_USER_AGENT=Mozilla/5.0 (compatible; ManaSearchBot/1.0; +https://mana.how)
|
||||||
|
|
||||||
# CORS (comma-separated origins)
|
# CORS (comma-separated origins)
|
||||||
CORS_ORIGINS=http://localhost:3000,http://localhost:5173,http://localhost:8081
|
CORS_ORIGINS=http://localhost:3000,http://localhost:5173,http://localhost:8081
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,6 @@ export default () => ({
|
||||||
maxLength: parseInt(process.env.EXTRACT_MAX_LENGTH || '50000', 10),
|
maxLength: parseInt(process.env.EXTRACT_MAX_LENGTH || '50000', 10),
|
||||||
userAgent:
|
userAgent:
|
||||||
process.env.EXTRACT_USER_AGENT ||
|
process.env.EXTRACT_USER_AGENT ||
|
||||||
'Mozilla/5.0 (compatible; ManaSearchBot/1.0; +https://manacore.app)',
|
'Mozilla/5.0 (compatible; ManaSearchBot/1.0; +https://mana.how)',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue