This commit is contained in:
2026-04-18 22:21:39 +03:00
parent 9f074ed8a8
commit 2b78bb84d3
11 changed files with 83 additions and 59 deletions
+4 -1
View File
@@ -1,6 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="CompilerConfiguration"> <component name="CompilerConfiguration">
<bytecodeTargetLevel target="24" /> <bytecodeTargetLevel target="17" />
</component>
<component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_STRING" value="-parameters" />
</component> </component>
</project> </project>
+1 -1
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_20" project-jdk-name="18" project-jdk-type="JavaSDK" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="18" project-jdk-type="JavaSDK" />
</project> </project>
+1 -1
View File
@@ -10,7 +10,7 @@ version = '0.0.1-SNAPSHOT'
java { java {
toolchain { toolchain {
languageVersion = JavaLanguageVersion.of(24) languageVersion = JavaLanguageVersion.of(17)
} }
} }
+4
View File
@@ -2,6 +2,10 @@
This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.2. This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.2.
Note: to download the latest version of npm, on the command line, run the following command:
npm install -g npm
## Development server ## Development server
To start a local development server, run: To start a local development server, run:
+3
View File
@@ -146,5 +146,8 @@
} }
} }
} }
},
"cli": {
"analytics": false
} }
} }
+35 -35
View File
@@ -8,17 +8,17 @@
"name": "jambotron-ui", "name": "jambotron-ui",
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"@angular/animations": "^20.0.4", "@angular/animations": "^20.0.4n",
"@angular/cdk": "^20.1.6", "@angular/cdk": "^20.1.6",
"@angular/common": "^20.0.0", "@angular/common": "21.0.1",
"@angular/compiler": "^20.0.0", "@angular/compiler": "22.0.0-next.3",
"@angular/core": "^20.0.0", "@angular/core": "22.0.0-next.3",
"@angular/forms": "^20.0.0", "@angular/forms": "^20.0.0",
"@angular/material": "^20.1.6", "@angular/material": "^20.1.6",
"@angular/platform-browser": "^20.0.0", "@angular/platform-browser": "^20.0.0",
"@angular/platform-server": "^20.0.0", "@angular/platform-server": "22.0.0-next.8",
"@angular/router": "^20.0.0", "@angular/router": "^20.0.0",
"@angular/ssr": "^20.0.2", "@angular/ssr": "22.0.0-next.2",
"@material/material-color-utilities": "^0.3.0", "@material/material-color-utilities": "^0.3.0",
"@ng-bootstrap/ng-bootstrap": "19.0.0", "@ng-bootstrap/ng-bootstrap": "19.0.0",
"@popperjs/core": "2.11.8", "@popperjs/core": "2.11.8",
@@ -657,9 +657,9 @@
} }
}, },
"node_modules/@angular/common": { "node_modules/@angular/common": {
"version": "20.0.4", "version": "21.0.1",
"resolved": "https://registry.npmjs.org/@angular/common/-/common-20.0.4.tgz", "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.0.1.tgz",
"integrity": "sha512-fWgxe2rgSKgI36ummBYnBN4YUrmp4CHbfEG3RMeJho/vhHKguk2/o6BgL9zvnKybvbWmuaqbkHogi+y0LeJ8Ww==", "integrity": "sha512-EqdTGpFp7PVdTVztO7TB6+QxdzUbYXKKT2jwG2Gg+PIQZ2A8XrLPRmGXyH/DLlc5IhnoJlLbngmBRCLCO4xWog==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
@@ -668,20 +668,20 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0" "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/core": "20.0.4", "@angular/core": "21.0.1",
"rxjs": "^6.5.3 || ^7.4.0" "rxjs": "^6.5.3 || ^7.4.0"
} }
}, },
"node_modules/@angular/compiler": { "node_modules/@angular/compiler": {
"version": "20.0.4", "version": "22.0.0-next.3",
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.0.4.tgz", "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-22.0.0-next.3.tgz",
"integrity": "sha512-1bP3P8Ll/KUYMPiE6TDjkMXkqCDVgSUAUsVCgzAxz4mcMuc9PnlbhQazpWHCkCDIjGFZ5XIAsS49V7tfaTbLDw==", "integrity": "sha512-b1z3WTBk0nysyZ9RnZG7EeNiOOr+rpm7/a8KedjJz8+dEeOP6Q+MN3JN4oTvLbU/GaN//560+TAc5MuUY1AKPQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
"engines": { "engines": {
"node": "^20.19.0 || ^22.12.0 || >=24.0.0" "node": "^22.22.0 || >=24.13.1"
} }
}, },
"node_modules/@angular/compiler-cli": { "node_modules/@angular/compiler-cli": {
@@ -827,20 +827,20 @@
} }
}, },
"node_modules/@angular/core": { "node_modules/@angular/core": {
"version": "20.0.4", "version": "22.0.0-next.3",
"resolved": "https://registry.npmjs.org/@angular/core/-/core-20.0.4.tgz", "resolved": "https://registry.npmjs.org/@angular/core/-/core-22.0.0-next.3.tgz",
"integrity": "sha512-JhSl3B6CrJ9kegLffgWVFGF4D4bWLV/9r8R0+h78vU+ppdPFPWDha7WnirF31cPIg3pBzy6wn103Kcy9Ri5M5w==", "integrity": "sha512-F0zES0ziee/f429vYuOMe/NokRrEk84IGP9Qtfc0zVoFkzcHdZbFW8o3Eg/F5WI1BxIA4YhEXg33nDN5tEA+AQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
"engines": { "engines": {
"node": "^20.19.0 || ^22.12.0 || >=24.0.0" "node": "^22.22.0 || >=24.13.1"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/compiler": "20.0.4", "@angular/compiler": "22.0.0-next.3",
"rxjs": "^6.5.3 || ^7.4.0", "rxjs": "^6.5.3 || ^7.4.0",
"zone.js": "~0.15.0" "zone.js": "~0.15.0 || ~0.16.0"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@angular/compiler": { "@angular/compiler": {
@@ -909,22 +909,22 @@
} }
}, },
"node_modules/@angular/platform-server": { "node_modules/@angular/platform-server": {
"version": "20.0.4", "version": "22.0.0-next.8",
"resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-20.0.4.tgz", "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-22.0.0-next.8.tgz",
"integrity": "sha512-jCbBPy/KmWw/rW6400My/+2SumnatciWnyWJVy2tKSHU/WDHQdjgk8djMdZODr+2CDORQzdkdBKqf7TuFK6clA==", "integrity": "sha512-kfY2jnNW8RNtX9Bw0M5Wf0x1UiZDlJ6SckoHzLDeu/o+FbXiNkt6t77ACZ9LNBqUIt0pn734ElBO/suKYuNRcw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0", "tslib": "^2.3.0",
"xhr2": "^0.2.0" "xhr2": "^0.2.0"
}, },
"engines": { "engines": {
"node": "^20.19.0 || ^22.12.0 || >=24.0.0" "node": "^22.22.0 || >=24.13.1"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/common": "20.0.4", "@angular/common": "22.0.0-next.8",
"@angular/compiler": "20.0.4", "@angular/compiler": "22.0.0-next.8",
"@angular/core": "20.0.4", "@angular/core": "22.0.0-next.8",
"@angular/platform-browser": "20.0.4", "@angular/platform-browser": "22.0.0-next.8",
"rxjs": "^6.5.3 || ^7.4.0" "rxjs": "^6.5.3 || ^7.4.0"
} }
}, },
@@ -947,18 +947,18 @@
} }
}, },
"node_modules/@angular/ssr": { "node_modules/@angular/ssr": {
"version": "20.0.3", "version": "22.0.0-next.2",
"resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-20.0.3.tgz", "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-22.0.0-next.2.tgz",
"integrity": "sha512-AuEO05mdcQU1HBZAJ64eNPEoi4vxgA0zmYjdVK+Z55uwhaAPiyU6Ti/irK7y4IpM5WZ0fTKFzxtgD+GuEqai2w==", "integrity": "sha512-O1AK/YMY+4f7rMAHnI2BFJLCancTDEq683A4N2wXo4brsfXgCwp5pygBBi/pHfI7lzgrEkXlbEsWRjBdEjiqEg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/common": "^20.0.0", "@angular/common": "^22.0.0-next.0",
"@angular/core": "^20.0.0", "@angular/core": "^22.0.0-next.0",
"@angular/platform-server": "^20.0.0", "@angular/platform-server": "^22.0.0-next.0",
"@angular/router": "^20.0.0" "@angular/router": "^22.0.0-next.0"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@angular/platform-server": { "@angular/platform-server": {
+6 -6
View File
@@ -13,17 +13,17 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/animations": "^20.0.4", "@angular/animations": "^20.0.4n",
"@angular/cdk": "^20.1.6", "@angular/cdk": "^20.1.6",
"@angular/common": "^20.0.0", "@angular/common": "21.0.1",
"@angular/compiler": "^20.0.0", "@angular/compiler": "22.0.0-next.3",
"@angular/core": "^20.0.0", "@angular/core": "22.0.0-next.3",
"@angular/forms": "^20.0.0", "@angular/forms": "^20.0.0",
"@angular/material": "^20.1.6", "@angular/material": "^20.1.6",
"@angular/platform-browser": "^20.0.0", "@angular/platform-browser": "^20.0.0",
"@angular/platform-server": "^20.0.0", "@angular/platform-server": "22.0.0-next.8",
"@angular/router": "^20.0.0", "@angular/router": "^20.0.0",
"@angular/ssr": "^20.0.2", "@angular/ssr": "22.0.0-next.2",
"@material/material-color-utilities": "^0.3.0", "@material/material-color-utilities": "^0.3.0",
"@ng-bootstrap/ng-bootstrap": "19.0.0", "@ng-bootstrap/ng-bootstrap": "19.0.0",
"@popperjs/core": "2.11.8", "@popperjs/core": "2.11.8",
+2 -1
View File
@@ -5,7 +5,8 @@
#RUN microdnf install findutils #RUN microdnf install findutils
#RUN ./gradlew build -x test #RUN ./gradlew build -x test
FROM openjdk:24 #FROM openjdk:24
FROM eclipse-temurin:24-jdk
ADD https://download.docker.com/linux/static/stable/x86_64/docker-24.0.5.tgz /tmp/ ADD https://download.docker.com/linux/static/stable/x86_64/docker-24.0.5.tgz /tmp/
RUN tar xzvf /tmp/docker-24.0.5.tgz -C /usr/local/bin --strip-components=1 docker/docker RUN tar xzvf /tmp/docker-24.0.5.tgz -C /usr/local/bin --strip-components=1 docker/docker
+11 -11
View File
@@ -1,17 +1,17 @@
services: services:
jambotron: jambotron:
image: 'jambotron-image' image: 'jambotron-image'
container_name: 'jambotron-container' container_name: 'jambotron-prod-container'
build: build:
context: ../../ context: ../../
dockerfile: ./src/DevOps/Dockerfile dockerfile: ./src/DevOps/Dockerfile
ports: ports:
# - "8081:80" - "8081:80"
- "8443:443" # - "8443:443"
depends_on: depends_on:
- postgres_jambotron - postgres_jambotron
volumes: volumes:
- certs:/certs # - certs:/certs
- jambotron_data:/jambotron_data - jambotron_data:/jambotron_data
# Mount host Docker socket # Mount host Docker socket
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
@@ -23,10 +23,10 @@ services:
DOCKER_HOST: unix:///var/run/docker.sock DOCKER_HOST: unix:///var/run/docker.sock
SSL_ENABLED: "true" # SSL_ENABLED: "true"
SERVER_PORT: 443 # SERVER_PORT: 443
FULLCHAINPEM: /certs/live/jambotron.run.place/fullchain.pem # FULLCHAINPEM: /certs/live/jambotron.run.place/fullchain.pem
PRIVKEYPEM: /certs/live/jambotron.run.place/privkey.pem # PRIVKEYPEM: /certs/live/jambotron.run.place/privkey.pem
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres_jambotron:5432/jambotronDB SPRING_DATASOURCE_URL: jdbc:postgresql://postgres_jambotron:5432/jambotronDB
SPRING_DATASOURCE_USERNAME: admin SPRING_DATASOURCE_USERNAME: admin
@@ -56,7 +56,7 @@ services:
postgres_jambotron: postgres_jambotron:
image: 'postgres' image: 'postgres'
container_name: 'jambotron-postgres-container' container_name: 'jambotron-prod-postgres-container'
ports: ports:
- "5432:5432" - "5432:5432"
environment: environment:
@@ -71,7 +71,7 @@ services:
# db_password: # db_password:
# file: db_password.txt # file: db_password.txt
volumes: volumes:
certs: # certs:
external: true # external: true
jambotron_data: jambotron_data:
# external: true # external: true
@@ -3,6 +3,7 @@ package com.jambotronGroup.jambotron;
import com.jambotronGroup.jambotron.fileUpload.FilesStorageService; import com.jambotronGroup.jambotron.fileUpload.FilesStorageService;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -11,12 +12,24 @@ import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.util.TimeZone;
@SpringBootApplication @SpringBootApplication
public class JambotronApplication{ public class JambotronApplication{
private static final Logger logger = LoggerFactory.getLogger(JambotronApplication.class); private static final Logger logger = LoggerFactory.getLogger(JambotronApplication.class);
// @PostConstruct
// public void init() {
// // Устанавливает UTC для всей JVM, где работает Spring
// TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
// }
public static void main(String[] args) { public static void main(String[] args) {
// Set the timezone before the Spring context (and Flyway) starts
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
SpringApplication.run(JambotronApplication.class, args); SpringApplication.run(JambotronApplication.class, args);
@@ -5,14 +5,14 @@ spring.application.name=jambotron
server.port=8082 server.port=8082
#============Localhost Configurations======================== #============Localhost Configurations========================
spring.datasource.url= jdbc:postgresql://localhost:5433/jambotronDB spring.datasource.url= jdbc:postgresql://localhost:5433/jambotronDB?options=-c%20timezone=UTC
spring.datasource.username= admin spring.datasource.username= admin
spring.datasource.password= postgrespw spring.datasource.password= postgrespw
spring.flyway.baseline-on-migrate=true spring.flyway.baseline-on-migrate=true
spring.flyway.validate-on-migrate=true spring.flyway.validate-on-migrate=true
spring.flyway.url=jdbc:postgresql://localhost:5433/jambotronDB spring.flyway.url=jdbc:postgresql://localhost:5433/jambotronDB?options=-c%20timezone=UTC
spring.flyway.user=admin spring.flyway.user=admin
spring.flyway.password=postgrespw spring.flyway.password=postgrespw