chore: align infrastructure with server
This commit is contained in:
+33
-15
@@ -1,21 +1,39 @@
|
||||
# XFlow Server Configuration
|
||||
# Copy this file to .env and update the values
|
||||
# --- Database Settings ---
|
||||
POSTGRES_USER=admin
|
||||
POSTGRES_PASSWORD=your_secure_password
|
||||
|
||||
# Domain configuration
|
||||
GITEA_DOMAIN=your-domain.com
|
||||
DB_NAME_GITEA=gitea_db
|
||||
DB_NAME_NPB=npb_app_db
|
||||
DB_NAME_XFLOW=xflow_crm_db
|
||||
|
||||
# Gitea Configuration
|
||||
GITEA_TOKEN=your_gitea_api_token_here
|
||||
# --- External Ports ---
|
||||
DB_EXTERNAL_PORT=5432
|
||||
ADMINER_PORT=8080
|
||||
MINIO_API_PORT=9000
|
||||
MINIO_CONSOLE_PORT=9001
|
||||
GITEA_EXTERNAL_PORT=3001
|
||||
XFLOW_PORT=3002
|
||||
NBP_PORT=3000
|
||||
|
||||
# Security
|
||||
JWT_SECRET=your-super-secret-jwt-key-change-in-production
|
||||
# --- MinIO Settings ---
|
||||
MINIO_ROOT_USER=admin
|
||||
MINIO_ROOT_PASSWORD=your_minio_password
|
||||
|
||||
# WebDAV (optional)
|
||||
WEBDAV_USER=admin
|
||||
WEBDAV_PASSWORD=secure_password_here
|
||||
# --- Gitea Settings ---
|
||||
GITEA_RUNNER_TOKEN=your_runner_token
|
||||
GITEA_RUNNER_NAME=avtex-runner
|
||||
GITEA_TOKEN=your_personal_access_token
|
||||
GITEA_ORG=AVTEX
|
||||
GITEA_MINDMAP_REPO=MMAVTEX
|
||||
GITEA_PROJECT_REPO=XFlow
|
||||
|
||||
# Database (change in production!)
|
||||
POSTGRES_PASSWORD=change_this_password
|
||||
# --- Firebase Settings ---
|
||||
FIREBASE_API_KEY=
|
||||
FIREBASE_AUTH_DOMAIN=
|
||||
FIREBASE_PROJECT_ID=
|
||||
FIREBASE_APP_ID=
|
||||
FIREBASE_MESSAGING_SENDER_ID=
|
||||
|
||||
# API Configuration
|
||||
API_PORT=8080
|
||||
# --- AI & External APIs ---
|
||||
GOOGLE_API_KEY=
|
||||
REPLICATE_API_KEY=
|
||||
|
||||
+20
-77
@@ -1,96 +1,39 @@
|
||||
version: '3.8'
|
||||
|
||||
# Инфраструктура AVTEX
|
||||
# FastPanel проксирует порты напрямую — nginx контейнер не нужен
|
||||
# Один postgres для всех проектов организации
|
||||
# XFlow CRM Service Configuration
|
||||
# Этот файл описывает только само приложение.
|
||||
# База данных, Gitea и хранилища являются внешними сервисами.
|
||||
|
||||
services:
|
||||
|
||||
# PostgreSQL — общий для всех проектов
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
container_name: postgres
|
||||
restart: always
|
||||
networks:
|
||||
- infra
|
||||
ports:
|
||||
- "5432:5432"
|
||||
environment:
|
||||
POSTGRES_USER: ${POSTGRES_USER:-admin}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
POSTGRES_DB: postgres
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
|
||||
# Gitea — Git сервер организации AVTEX
|
||||
gitea:
|
||||
image: gitea/gitea:latest
|
||||
container_name: gitea
|
||||
restart: always
|
||||
networks:
|
||||
- infra
|
||||
ports:
|
||||
- "3001:3000"
|
||||
- "2221:22"
|
||||
environment:
|
||||
USER_UID: 1000
|
||||
USER_GID: 1000
|
||||
GITEA__database__DB_TYPE: postgres
|
||||
GITEA__database__HOST: postgres:5432
|
||||
GITEA__database__NAME: gitea
|
||||
GITEA__database__USER: gitea
|
||||
GITEA__database__PASSWD: ${GITEA_DB_PASSWORD:-gitea_password}
|
||||
GITEA__server__DOMAIN: git.a-crm.controlsystem.kz
|
||||
GITEA__server__ROOT_URL: http://git.a-crm.controlsystem.kz/
|
||||
GITEA__server__SSH_DOMAIN: git.a-crm.controlsystem.kz
|
||||
GITEA__server__SSH_PORT: 2221
|
||||
GITEA__server__SSH_LISTEN_PORT: 22
|
||||
GITEA__security__INSTALL_LOCK: "true"
|
||||
GITEA__service__DISABLE_REGISTRATION: "false"
|
||||
volumes:
|
||||
- gitea-data:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
depends_on:
|
||||
- postgres
|
||||
|
||||
# XFlow — Mind Map приложение
|
||||
xflow:
|
||||
image: node:20-alpine
|
||||
container_name: xflow
|
||||
xflow_crm:
|
||||
image: node:22-alpine
|
||||
container_name: xflow_crm
|
||||
restart: always
|
||||
working_dir: /app
|
||||
command: node .output/server/index.mjs
|
||||
networks:
|
||||
- infra
|
||||
ports:
|
||||
- "3002:3000"
|
||||
- "${XFLOW_PORT:-3002}:3000"
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
PORT: 3000
|
||||
NUXT_JWT_SECRET: ${NUXT_JWT_SECRET}
|
||||
GITEA_URL: http://gitea:3000
|
||||
GITEA_URL: http://xflow_gitea:3000
|
||||
GITEA_TOKEN: ${GITEA_TOKEN}
|
||||
GITEA_ORG: ${GITEA_ORG:-AVTEX}
|
||||
GITEA_MINDMAP_REPO: ${GITEA_MINDMAP_REPO:-MMAVTEX}
|
||||
GITEA_PROJECT_REPO: ${GITEA_PROJECT_REPO:-XFlow}
|
||||
DATABASE_URL: postgresql://xflow:${XFLOW_DB_PASSWORD:-xflow_pass}@postgres:5432/xflow
|
||||
NUXT_PUBLIC_FIREBASE_API_KEY: ${NUXT_PUBLIC_FIREBASE_API_KEY:-${FIREBASE_API_KEY}}
|
||||
NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN: ${NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN:-${FIREBASE_AUTH_DOMAIN}}
|
||||
NUXT_PUBLIC_FIREBASE_PROJECT_ID: ${NUXT_PUBLIC_FIREBASE_PROJECT_ID:-${FIREBASE_PROJECT_ID}}
|
||||
NUXT_PUBLIC_FIREBASE_APP_ID: ${NUXT_PUBLIC_FIREBASE_APP_ID:-${FIREBASE_APP_ID}}
|
||||
NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: ${NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID:-${FIREBASE_MESSAGING_SENDER_ID}}
|
||||
DATABASE_URL: postgresql://${POSTGRES_USER:-admin}:${POSTGRES_PASSWORD}@xflow_db:5432/${DB_NAME_XFLOW:-xflow_crm_db}
|
||||
NUXT_PUBLIC_FIREBASE_API_KEY: ${FIREBASE_API_KEY}
|
||||
NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN: ${FIREBASE_AUTH_DOMAIN}
|
||||
NUXT_PUBLIC_FIREBASE_PROJECT_ID: ${FIREBASE_PROJECT_ID}
|
||||
NUXT_PUBLIC_FIREBASE_APP_ID: ${FIREBASE_APP_ID}
|
||||
NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: ${FIREBASE_MESSAGING_SENDER_ID}
|
||||
volumes:
|
||||
- /opt/xflow/.output:/app/.output
|
||||
- /opt/xflow/prisma:/app/prisma:ro
|
||||
- /opt/xflow/prisma.config.ts:/app/prisma.config.ts:ro
|
||||
- /opt/xflow/node_modules:/app/node_modules:ro
|
||||
- .:/app # Монтируем текущую папку проекта
|
||||
networks:
|
||||
- xflow_infra
|
||||
|
||||
networks:
|
||||
infra:
|
||||
xflow_infra:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
gitea-data:
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Подключаемся к postgres под суперпользователем и создаем базы
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "postgres" <<-EOSQL
|
||||
CREATE DATABASE "$DB_NAME_GITEA";
|
||||
CREATE DATABASE "$DB_NAME_NPB";
|
||||
CREATE DATABASE "$DB_NAME_XFLOW";
|
||||
EOSQL
|
||||
Reference in New Issue
Block a user