Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# ignores all .nx files - generated due a bug in dependencies - see https://github.com/nrwl/nx-console/issues/1975
.nx

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/
dist/

# TypeScript v1 declaration files
typings/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env

# next.js build output
.next

# gnomi.txt
Gnomi.txt
29 changes: 23 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,29 @@
FROM node:20.12.2
FROM node:22.20-alpine3.21 AS ng-build-stage

# node:20.19-alpine3.20
# 22.20-alpine3.21

# Setze das Arbeitsverzeichnis im Container
WORKDIR /usr/src/app

# sourcen kopieren ausser .dockerignore
COPY . /usr/src/app/

# use local sources
RUN npm install && \
npm run build:prod

# fresh small image
FROM node:22.20-alpine3.21 AS webmud3

# Setze das Arbeitsverzeichnis im Container
WORKDIR /usr/src/app

# Kompilat kopieren
COPY backend/dist ./
# kopiere NUR das kompilat
COPY --from=ng-build-stage /usr/src/app/backend/dist /usr/src/app

# Installiere die Abhängigkeiten
RUN npm install --no-package-lock --include=prod
# nondev dependencies mitnehmen
RUN npm install --no-package-lock --omit dev

# Setze die Umgebungsvariable PORT
ENV PORT=5000
Expand All @@ -16,4 +32,5 @@ ENV PORT=5000
EXPOSE 5000

# Starte die Anwendung
CMD ["node", "main.js"]
CMD ["node", "main.js"]
# testing CMD ["/bin/sh"]
10 changes: 5 additions & 5 deletions backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"version": "1.0.0-alpha",
"description": "Webmud3 Backend Service",
"engines": {
"node": "20.12.2"
"node": ">=20.12.2"
},
"repository": {
"type": "git",
Expand Down Expand Up @@ -34,9 +34,11 @@
"express": "~4.19.2",
"socket.io": "~4.7.5",
"socket.io-client": "~4.7.5",
"source-map-support": "~0.5.21",
"telnet-stream": "~1.1.0",
"url": "~0.11.3",
"uuid": "~9.0.1"
"uuid": "~9.0.1",
"winston": "~3.13.0"
},
"devDependencies": {
"@types/cookie-session": "~2.0.49",
Expand All @@ -56,11 +58,9 @@
"jest": "~29.7.0",
"prettier": "~3.2.5",
"rimraf": "~5.0.7",
"source-map-support": "~0.5.21",
"ts-jest": "~29.1.2",
"ts-jest-mock-import-meta": "^1.2.0",
"typescript": "~5.4.5",
"winston": "~3.13.0"
"typescript": "~5.4.5"
},
"type": "module",
"author": "Myonara",
Expand Down
4 changes: 4 additions & 0 deletions dockerfiles/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@

### To build the docker images

docker build -f Dockerfile -t myonara/webmud3:develop .

docker build -f Dockerfile -t myonara/webmud3:latest .

docker build -f dockerfiles/ng_unitopia_test.dockerfile -t myonara/webmud3:unitopiatest .
Expand Down Expand Up @@ -32,6 +34,8 @@ docker run -d -p 50000:80 --name helloplain -P nginxdemos/hello:plain-text
### Alternative podman compose
#### to start

docker compose -f dockerfiles/wm_dev_mystiker.yml -p webmud3dev up -d

podman-compose -f dockerfiles/w3_docker_compose.yml -p webmud_unitopia up -d

podman-compose -f dockerfiles/w3_docker_compose_sb.yml -p webmud_seifenblase up -d
Expand Down
38 changes: 38 additions & 0 deletions dockerfiles/wm3_test_mystiker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
version: "3.7"
services:
web:
image: myonara/webmud3:develop
environment:
NODE_ENV: 'production'
HOST: '0.0.0.0'
PORT: 5000
TELNET_HOST: 'unitopia.de'
TELNET_PORT: 9988
TELNET_TLS: 'true'
SOCKET_ROOT: '/mysocket-test.io'
SOCKET_TIMEOUT: 900000
CORS_ALLOWED_ORIGINS: 'unitopia.de,www.unitopia.de'
# volumes:
# - "/UNItopia/ftpwww/webmud3/run:/run"
deploy:
replicas: 1
resources:
limits:
cpus: "0.1"
memory: 50M
labels:
com.docker.lb.hosts: www.unitopia.de
com.docker.lb.network: webnet
com.docker.lb.port: 2019
restart_policy:
condition: on-failure
delay: 20s
max_attempts: 2
window: 3600s
ports:
- "2019:5000"
networks:
- webnet
networks:
webnet:
attachable: true
33 changes: 33 additions & 0 deletions dockerfiles/wm_dev_mystiker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
services:
web:
# docker build -f Dockerfile -t myonara/webmud3:develop .
# docker compose -f dockerfiles/wm_dev_mystiker.yml -p webmud3dev up -d
image: myonara/webmud3:develop
environment:
NODE_ENV: 'production'
HOST: '0.0.0.0'
PORT: 5000
TELNET_HOST: 'unitopia.de'
TELNET_PORT: 9988
TELNET_TLS: 'true'
SOCKET_ROOT: '/mysocket.io'
SOCKET_TIMEOUT: 900000
# command: --tls-cert=/run/secrets/cert.pem --tls-key=/run/secrets/privkey.pem
deploy:
replicas: 1
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
delay: 20s
max_attempts: 2
window: 3600s
ports:
- "5000:5000"
networks:
- webnet
networks:
webnet:
driver: bridge
2 changes: 1 addition & 1 deletion frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"version": "1.0.0-alpha",
"description": "Webmud3 Frontend",
"engines": {
"node": "20.12.2"
"node": ">=20.12.2"
},
"scripts": {
"format": "prettier --write \"src/**/*.ts\"",
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/environments/environment.prod.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ import { Environment } from './environment.interface';

export const environment: Environment = {
production: true,
backendUrl: () => window.location.origin,
backendUrl: () => window.location.href,
};
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "webmud3",
"version": "1.0.0-alpha",
"engines": {
"node": "20.12.2"
"node": ">=20.12.2"
},
"workspaces": [
"frontend",
Expand Down