Compare commits
3 Commits
7e00b4d71b
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| e62263622f | |||
| 79098f59c6 | |||
| 345761da87 |
@@ -3,7 +3,7 @@ import { ChangeDetectorRef, Component } from '@angular/core';
|
|||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
import { APP_ICONS } from '../../../utils/fontawesome-icons';
|
import { APP_ICONS } from '../../../utils/fontawesome-icons';
|
||||||
import { NgSelectModule } from '@ng-select/ng-select';
|
import { NgSelectModule } from '@ng-select/ng-select';
|
||||||
import { QuillModule, provideQuillConfig } from 'ngx-quill';
|
import { QuillModule } from 'ngx-quill';
|
||||||
import { lastValueFrom } from 'rxjs';
|
import { lastValueFrom } from 'rxjs';
|
||||||
import { User } from '../../../../../../bizmatch-server/src/models/db.model';
|
import { User } from '../../../../../../bizmatch-server/src/models/db.model';
|
||||||
import { AutoCompleteCompleteEvent, Invoice, UploadParams, ValidationMessage, emailToDirName } from '../../../../../../bizmatch-server/src/models/main.model';
|
import { AutoCompleteCompleteEvent, Invoice, UploadParams, ValidationMessage, emailToDirName } from '../../../../../../bizmatch-server/src/models/main.model';
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import { QuillModule } from 'ngx-quill';
|
|||||||
|
|
||||||
import { NgSelectModule } from '@ng-select/ng-select';
|
import { NgSelectModule } from '@ng-select/ng-select';
|
||||||
import { NgxCurrencyDirective } from 'ngx-currency';
|
import { NgxCurrencyDirective } from 'ngx-currency';
|
||||||
import { provideQuillConfig } from 'ngx-quill';
|
|
||||||
import { BusinessListing, CommercialPropertyListing, User } from '../../../../../../bizmatch-server/src/models/db.model';
|
import { BusinessListing, CommercialPropertyListing, User } from '../../../../../../bizmatch-server/src/models/db.model';
|
||||||
import { AutoCompleteCompleteEvent, ImageProperty, createDefaultBusinessListing, emailToDirName } from '../../../../../../bizmatch-server/src/models/main.model';
|
import { AutoCompleteCompleteEvent, ImageProperty, createDefaultBusinessListing, emailToDirName } from '../../../../../../bizmatch-server/src/models/main.model';
|
||||||
|
|
||||||
@@ -48,20 +47,6 @@ import { TOOLBAR_OPTIONS } from '../../utils/defaults';
|
|||||||
ValidatedTextareaComponent,
|
ValidatedTextareaComponent,
|
||||||
ValidatedLocationComponent,
|
ValidatedLocationComponent,
|
||||||
],
|
],
|
||||||
providers: [
|
|
||||||
provideQuillConfig({
|
|
||||||
modules: {
|
|
||||||
syntax: true,
|
|
||||||
toolbar: [
|
|
||||||
['bold', 'italic', 'underline'],
|
|
||||||
[{ header: [1, 2, 3, false] }],
|
|
||||||
[{ list: 'ordered' }, { list: 'bullet' }],
|
|
||||||
[{ color: [] }],
|
|
||||||
['clean'],
|
|
||||||
],
|
|
||||||
},
|
|
||||||
}) as any,
|
|
||||||
],
|
|
||||||
templateUrl: './edit-business-listing.component.html',
|
templateUrl: './edit-business-listing.component.html',
|
||||||
styleUrls: [
|
styleUrls: [
|
||||||
'./edit-business-listing.component.scss',
|
'./edit-business-listing.component.scss',
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import { APP_ICONS } from '../../../utils/fontawesome-icons';
|
|||||||
import { NgSelectModule } from '@ng-select/ng-select';
|
import { NgSelectModule } from '@ng-select/ng-select';
|
||||||
import { NgxCurrencyDirective } from 'ngx-currency';
|
import { NgxCurrencyDirective } from 'ngx-currency';
|
||||||
import { ImageCropperComponent } from 'ngx-image-cropper';
|
import { ImageCropperComponent } from 'ngx-image-cropper';
|
||||||
import { QuillModule, provideQuillConfig } from 'ngx-quill';
|
import { QuillModule } from 'ngx-quill';
|
||||||
import { BusinessListing, CommercialPropertyListing, User } from '../../../../../../bizmatch-server/src/models/db.model';
|
import { BusinessListing, CommercialPropertyListing, User } from '../../../../../../bizmatch-server/src/models/db.model';
|
||||||
import { AutoCompleteCompleteEvent, ImageProperty, UploadParams, createDefaultCommercialPropertyListing, emailToDirName } from '../../../../../../bizmatch-server/src/models/main.model';
|
import { AutoCompleteCompleteEvent, ImageProperty, UploadParams, createDefaultCommercialPropertyListing, emailToDirName } from '../../../../../../bizmatch-server/src/models/main.model';
|
||||||
|
|
||||||
@@ -53,20 +53,6 @@ import { TOOLBAR_OPTIONS } from '../../utils/defaults';
|
|||||||
ValidatedLocationComponent,
|
ValidatedLocationComponent,
|
||||||
ImageCropAndUploadComponent,
|
ImageCropAndUploadComponent,
|
||||||
],
|
],
|
||||||
providers: [
|
|
||||||
provideQuillConfig({
|
|
||||||
modules: {
|
|
||||||
syntax: true,
|
|
||||||
toolbar: [
|
|
||||||
['bold', 'italic', 'underline'],
|
|
||||||
[{ header: [1, 2, 3, false] }],
|
|
||||||
[{ list: 'ordered' }, { list: 'bullet' }],
|
|
||||||
[{ color: [] }],
|
|
||||||
['clean'],
|
|
||||||
],
|
|
||||||
},
|
|
||||||
}) as any,
|
|
||||||
],
|
|
||||||
templateUrl: './edit-commercial-property-listing.component.html',
|
templateUrl: './edit-commercial-property-listing.component.html',
|
||||||
styleUrls: [
|
styleUrls: [
|
||||||
'./edit-commercial-property-listing.component.scss',
|
'./edit-commercial-property-listing.component.scss',
|
||||||
|
|||||||
@@ -1,39 +1,37 @@
|
|||||||
services:
|
services:
|
||||||
# --- FRONTEND ---
|
# --- FRONTEND (SSR) ---
|
||||||
bizmatch-ssr:
|
bizmatch-ssr:
|
||||||
build:
|
build:
|
||||||
context: . # Pfad zum Angular Ordner
|
context: .
|
||||||
dockerfile: bizmatch/Dockerfile
|
dockerfile: bizmatch/Dockerfile
|
||||||
image: bizmatch-ssr
|
|
||||||
container_name: bizmatch-ssr
|
container_name: bizmatch-ssr
|
||||||
extra_hosts:
|
|
||||||
- "localhost:host-gateway"
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
# In der Produktion brauchen wir keine Ports nach außen (Caddy regelt das intern)
|
||||||
- '4200:4000' # Extern 4200 -> Intern 4000 (SSR)
|
networks:
|
||||||
environment:
|
- bizmatch
|
||||||
NODE_ENV: production
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./bizmatch-server/pictures:/app/pictures
|
- ./bizmatch-server/pictures:/app/pictures
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
# WICHTIG: Die URL, unter der das SSR-Frontend die API intern erreicht
|
||||||
|
API_INTERNAL_URL: http://bizmatch-app:3001
|
||||||
|
|
||||||
# --- BACKEND ---
|
# --- BACKEND ---
|
||||||
app:
|
app:
|
||||||
build:
|
build:
|
||||||
context: ./bizmatch-server # Pfad zum NestJS Ordner
|
context: ./bizmatch-server
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
image: bizmatch-server:latest
|
|
||||||
container_name: bizmatch-app
|
container_name: bizmatch-app
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
|
||||||
- '3001:3001'
|
|
||||||
env_file:
|
env_file:
|
||||||
- ./bizmatch-server/.env # Pfad zur .env Datei
|
- ./bizmatch-server/.env
|
||||||
depends_on:
|
depends_on:
|
||||||
- postgres
|
- postgres
|
||||||
networks:
|
networks:
|
||||||
- bizmatch
|
- bizmatch
|
||||||
# WICHTIG: Kein Volume Mapping für node_modules im Prod-Modus!
|
volumes:
|
||||||
# Das Image bringt alles fertig mit.
|
# Das Backend braucht ebenfalls Zugriff auf den Bilder-Ordner zum Speichern!
|
||||||
|
- ./bizmatch-server/pictures:/app/dist/pictures
|
||||||
|
|
||||||
# --- DATABASE ---
|
# --- DATABASE ---
|
||||||
postgres:
|
postgres:
|
||||||
@@ -44,19 +42,12 @@ services:
|
|||||||
- bizmatch-db-data:/var/lib/postgresql/data
|
- bizmatch-db-data:/var/lib/postgresql/data
|
||||||
env_file:
|
env_file:
|
||||||
- ./bizmatch-server/.env
|
- ./bizmatch-server/.env
|
||||||
environment:
|
|
||||||
POSTGRES_DB: ${POSTGRES_DB}
|
|
||||||
POSTGRES_USER: ${POSTGRES_USER}
|
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
||||||
ports:
|
|
||||||
- '5434:5432'
|
|
||||||
networks:
|
networks:
|
||||||
- bizmatch
|
- bizmatch
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
bizmatch-db-data:
|
bizmatch-db-data:
|
||||||
driver: local
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
bizmatch:
|
bizmatch:
|
||||||
external: false # Oder true, falls du es manuell erstellt hast
|
external: true # Wir nutzen das gleiche Netzwerk wie für Caddy
|
||||||
Reference in New Issue
Block a user