This commit is contained in:
Pavel Guzaev
2024-03-09 17:36:50 +05:00
commit 431b4f5cfd
44 changed files with 3239 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
## Требования
- Установленый docker
[Инструкция по установке](https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce)
- Установленый docker-compose => 1.19.0
[Инструкция по установке](https://docs.docker.com/compose/install/#install-compose)
- Авторизация в реестре sd-docker-registry2.naumen.ru
- Авторизация в реестре ncc-75.nau.team
```bash
docker login -u user -p superpaassword sd-docker-registry2.naumen.ru
docker login -u user -p superpaassword ncc-75.nau.team
```
### В папке createdb script для создания пустых БД необходимых для работы:
[Инструкция по установке и базовой настройке пакета](https://start.nau.im/pages/viewpage.action?pageId=50773357)
### Развертывание и запуск приложения осуществляется docker-compose up -d
Перед запуском:
1.
!!! НЕОБХОДИМО проверить что порты на рабочем копьютере свободны, например так:
netstat -nat | grep 8081 (для HOST_PORT)
Прокинутые порты сейчас:
- Консул
- "8301:8301"
- "8400:8400"
- "8500:8500"
- "8600:8600/udp"
- naucore
- "3242:3242"
- chat
- "8081:8081"
- "8444:8444"
- "9000:9000"
Если порт занят, его необходимо поменять на любой свободный, в противном случае, приложение не запустится.
2.
Убедиться в наличии доступа до сети naumen (ВПН поднят, ресурсы доступны) - все данные для работы будут выкачиваться оттуда.
### Запускаем приложение
docker-compose up -d
После сборки и запуска ( если не меняли порты) веб чата доступен по ссылке:
http://localhost:8081/workplace.html#/login

View File

@@ -0,0 +1,5 @@
#!/bin/bash
psql -c "create user ncc_system encrypted password 'ncc_system';"
psql -c "create database ncc_system owner ncc_system encoding 'utf-8';"
psql -c "create database chat owner ncc_system encoding 'utf-8';"
psql -c "create database ncc_report owner ncc_system encoding 'utf-8';"

View File

@@ -0,0 +1,217 @@
version: '2.3'
services:
redis-naumb:
image: ncc-75.nau.team/redis:5.0.6
restart: always
postgres:
image: sd-docker-registry2.naumen.ru/library/postgres:12RU
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_MULTIPLE_DATABASES=ncc_system,chat,ncc_report
volumes:
- ./dbdata:/var/lib/postgresql/data/
- ./createdb:/docker-entrypoint-initdb.d
healthcheck:
test: "pg_isready -q -U ncc_system -d ncc_system && ! pidof pg_restore"
interval: 30s
start_period: 5m
stop_grace_period: 15s
consul-server:
image: "ncc-75.nau.team/consul:1.6"
environment:
CONSUL_LOCAL_CONFIG: "{\"disable_update_check\": true}"
CONSUL_BIND_INTERFACE: "eth0"
hostname: "consul-server"
ports:
- "${CONSUL_PORT:-8500}:8500"
volumes:
- "./consul-data:/consul/data"
command: agent -server -data-dir="/consul/data" -bootstrap -domain="example.com" -client="0.0.0.0" -advertise="127.0.0.1" -ui
naucore:
image: ncc-75.nau.team/naucore:7.5
ports:
- "${NCC_PORT:-3242}:3242"
environment:
HOSTNAME: "naucore"
domain_id: "ncc.net"
node_id: "naucore"
CONSUL_SERVER: "consul-server:8500"
restart: always
depends_on:
postgres:
condition: service_healthy
links:
- consul-server
nauauth:
image: ncc-75.nau.team/nauauth:7.5
tty: yes
environment:
bus.ip: "naucore"
restart: always
depends_on:
postgres:
condition: service_healthy
links:
- consul-server
- naucore
naubuddy:
image: ncc-75.nau.team/naubuddy:7.5
environment:
bus.ip: "naucore"
systemdb.engine: "postgresql"
systemdb.host: "postgres"
systemdb.port: '5432'
systemdb.database: "ncc_system"
systemdb.user: "ncc_system"
systemdb.password: "ncc_system"
reportdb.engine: "postgresql"
reportdb.host: "postgres"
reportdb.port: '5432'
reportdb.database: "ncc_report"
reportdb.user: "ncc_system"
reportdb.password: "ncc_system"
links:
- naucore
- postgres
restart: always
tty: yes
volumes:
- "./spool/naubuddy:/opt/naumen/nauphone/spool/naubuddy"
depends_on:
postgres:
condition: service_healthy
nauconfig:
image: ncc-75.nau.team/nauconfig:7.5
environment:
bus.ip: "naucore"
systemdb.engine: "postgresql"
systemdb.host: "postgres"
systemdb.port: '5432'
systemdb.database: "ncc_system"
systemdb.user: "ncc_system"
systemdb.password: "ncc_system"
reportdb.engine: "postgresql"
reportdb.host: "postgres"
reportdb.port: '5432'
reportdb.database: "ncc_report"
reportdb.user: "ncc_system"
reportdb.password: "ncc_system"
useBuddyListProxy: "true"
links:
- naucore
- postgres
restart: always
tty: yes
depends_on:
postgres:
condition: service_healthy
naufileservice:
image: ncc-75.nau.team/naufileservice:7.5
ports:
- "${NCCF_PORT:-8088}:8088"
environment:
CONSUL_SERVER: "consul-server:8500"
bus.ip: "naucore"
ncc_ip: "naucore"
log_level: "4"
tty: yes
volumes:
- "./spool/recconv:/opt/naumen/nauphone/spool/naurecconv"
- "./spool/naubuddy:/opt/naumen/nauphone/spool/naubuddy"
- "./spool/naumb:/opt/naumen/nauphone/spool/naumb"
- "./spool/nauqpm:/opt/naumen/nauphone/spool/nauqpm"
links:
- naucore
- postgres
depends_on:
postgres:
condition: service_healthy
naumb:
image: ncc-75.nau.team/naumb:7.5
environment:
bus.ip: "naucore"
redis.host: "redis-naumb"
systemdb.engine: "postgresql"
systemdb.host: "postgres"
systemdb.port: '5432'
systemdb.database: "ncc_system"
systemdb.user: "ncc_system"
systemdb.password: "ncc_system"
reportdb.engine: "postgresql"
reportdb.host: "postgres"
reportdb.port: '5432'
reportdb.database: "ncc_report"
reportdb.user: "ncc_system"
reportdb.password: "ncc_system"
gateways.service: "nausd"
NCC_LOG_TYPE: "raw"
volumes:
- "./spool/naubuddy:/opt/naumen/nauphone/spool/naubuddy"
- "./spool/naumb:/opt/naumen/nauphone/spool/naumb"
links:
- naucore
- postgres
- redis-naumb
restart: always
depends_on:
postgres:
condition: service_healthy
naumbstat:
image: ncc-75.nau.team/naumbstat:7.5
tty: yes
environment:
bus.ip: "naucore"
redis.host: "redis-naumb"
links:
- naucore
- postgres
- redis-naumb
depends_on:
postgres:
condition: service_healthy
nauqpm:
image: ncc-75.nau.team/nauqpm:7.5
volumes:
- "./spool/nauqpm:/opt/naumen/nauphone/spool/nauqpm"
environment:
bus.ip: "naucore"
links:
- naucore
- postgres
depends_on:
postgres:
condition: service_healthy
chat:
image: ncc-75.nau.team/chat:7.5
ports:
- "${CHAT_PORT:-8081}:8081"
- "${WS_PORT:-9000}:9000"
environment:
bus.ip: "naucore"
chatdb.engine: postgresql
chatdb.host: postgres
chatdb.port: '5432'
chatdb.database: chat
chatdb.user: "ncc_system"
chatdb.password: "ncc_system"
links:
- naucore
- postgres
restart: always
depends_on:
postgres:
condition: service_healthy