feat: Add Docker Compose configurations for development and production environments and update TypeScript compiler options.

This commit is contained in:
steinhelge
2025-11-24 11:43:31 +01:00
parent 2264c27032
commit 011434ba56
3 changed files with 135 additions and 7 deletions
@@ -0,0 +1,61 @@
version: "3.9"
networks:
hospitality-dev-net:
name: hospitality-dev-net
driver: bridge
services:
db:
image: postgres:16
container_name: hospitality-dev-db
restart: unless-stopped
environment:
POSTGRES_DB: hospitality_dev
POSTGRES_USER: hospitality_dev
POSTGRES_PASSWORD: devpassword
volumes:
- hospitality-dev-db-data:/var/lib/postgresql/data
networks:
- hospitality-dev-net
api:
image: gitea.theriise.net/steinhelge/hospitality-api:dev
container_name: hospitality-dev-api
restart: unless-stopped
environment:
ASPNETCORE_URLS: http://0.0.0.0:8080
ConnectionStrings__Default: "Host=db;Port=5432;Database=hospitality_dev;Username=hospitality_dev;Password=devpassword"
depends_on:
- db
networks:
- hospitality-dev-net
# ports:
# - "5005:8080"
web:
image: gitea.theriise.net/steinhelge/hospitality-frontend:dev
container_name: hospitality-dev-frontend
restart: unless-stopped
depends_on:
- api
networks:
- hospitality-dev-net
ports:
- "8085:80"
# Eller via Traefik, samme mønster som over:
# networks:
# - hospitality-dev-net
# - edge
# labels:
# - "traefik.enable=true"
# - "traefik.docker.network=edge"
# - "traefik.http.routers.hospitality-dev.rule=Host(`hospitality-dev.theriise.net`)"
# - "traefik.http.routers.hospitality-dev.entrypoints=websecure"
# - "traefik.http.routers.hospitality-dev.tls=true"
volumes:
hospitality-dev-db-data:
#e7a87ddedabda8ee83bb3a246ce725dd9c030cb2
@@ -0,0 +1,61 @@
version: "3.9"
networks:
hospitality-net:
name: hospitality-net
driver: bridge
services:
db:
image: postgres:16
container_name: hospitality-db
restart: unless-stopped
environment:
POSTGRES_DB: hospitality
POSTGRES_USER: hospitality
POSTGRES_PASSWORD: supersecretpassword
volumes:
- hospitality-db-data:/var/lib/postgresql/data
networks:
- hospitality-net
api:
image: gitea.theriise.net/steinhelge/hospitality-api:latest
container_name: hospitality-api
restart: unless-stopped
environment:
ASPNETCORE_URLS: http://0.0.0.0:8080
# ASP.NET Core-style connection string via env:
ConnectionStrings__Default: "Host=db;Port=5432;Database=hospitality;Username=hospitality;Password=supersecretpassword"
depends_on:
- db
networks:
- hospitality-net
# Hvis du vil nå API direkte uten Traefik:
# ports:
# - "5004:8080"
web:
image: gitea.theriise.net/steinhelge/hospitality-frontend:latest
container_name: hospitality-frontend
restart: unless-stopped
depends_on:
- api
networks:
- hospitality-net
# Ekstern tilgang (uten Traefik):
ports:
- "8084:80"
# Hvis du vil kjøre via Traefik i stedet:
# networks:
# - hospitality-net
# - edge
# labels:
# - "traefik.enable=true"
# - "traefik.docker.network=edge"
# - "traefik.http.routers.hospitality.rule=Host(`hospitality.theriise.net`)"
# - "traefik.http.routers.hospitality.entrypoints=websecure"
# - "traefik.http.routers.hospitality.tls=true"
volumes:
hospitality-db-data:
+13 -7
View File
@@ -3,11 +3,16 @@
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
"target": "ES2022",
"useDefineForClassFields": true,
"lib": ["ES2022", "DOM", "DOM.Iterable"],
"lib": [
"ES2022",
"DOM",
"DOM.Iterable"
],
"module": "ESNext",
"types": ["vite/client"],
"types": [
"vite/client"
],
"skipLibCheck": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
@@ -15,14 +20,15 @@
"moduleDetection": "force",
"noEmit": true,
"jsx": "react-jsx",
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"erasableSyntaxOnly": true,
"erasableSyntaxOnly": false,
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true
},
"include": ["src"]
}
"include": [
"src"
]
}