From 0ddaf92dc974bfdf84975a15dd5ea40f0908fdfb Mon Sep 17 00:00:00 2001 From: RM Date: Sat, 15 Nov 2025 12:56:47 +0300 Subject: [PATCH] devops --- Dockerfile | 3 +++ docker-compose.yaml | 50 +++++++++++++++++++++++++++++++++++++++++++++ watchdog.sh | 6 ++++++ 3 files changed, 59 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yaml create mode 100644 watchdog.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..df61c95 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,3 @@ +FROM amazoncorretto:25-alpine-jdk +COPY torgi-0.0.1-SNAPSHOT.jar /home/torgi-0.0.1-SNAPSHOT.jar +CMD ["java", "-XX:+UseContainerSupport", "-XX:MaxRAMPercentage=75", "-XX:InitialRAMPercentage=50", "-Xms512m", "-Xmx4096m", "-jar","/home/torgi-0.0.1-SNAPSHOT.jar","from:m.ryabyh@gmail.com","runHeadless:true","token:changeit","to:m.ryabyh@gmail.com,AAAtapina@sberbank.ru,Oreshkina.V.V@sberbank.ru,MEvRyabykh@sberbank.ru","days:1"] \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..de279af --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,50 @@ +version: '3.8' +services: + client-backend: + image: client:0.0.1 + build: + context: . + dockerfile: Dockerfile + ports: + - "8181:8181" + depends_on: + - service-db + environment: + - SERVER_PORT=8181 + - SPRING_DATASOURCE_URL=jdbc:postgresql://service-db/torgi + - SPRING_DATASOURCE_USERNAME=username + - SPRING_DATASOURCE_PASSWORD=password + restart: always + healthcheck: + test: wget --no-verbose --tries=1 --spider http://localhost:8181/health || exit 1 + interval: 20s + retries: 5 + start_period: 20s + timeout: 10s + + service-db: + image: postgres:14.7-alpine + environment: + POSTGRES_USER: username + POSTGRES_PASSWORD: password + ports: + - "15432:5432" + volumes: + - db-data:/var/lib/postgresql/data + restart: unless-stopped + + pgadmin: + container_name: pgadmin4_container + image: dpage/pgadmin4:7 + restart: always + environment: + PGADMIN_DEFAULT_EMAIL: admin@admin.com + PGADMIN_DEFAULT_PASSWORD: root + ports: + - "5050:80" + volumes: + - pgadmin-data:/var/lib/pgadmin + +volumes: + db-data: + pgadmin-data: \ No newline at end of file diff --git a/watchdog.sh b/watchdog.sh new file mode 100644 index 0000000..8f9d3bd --- /dev/null +++ b/watchdog.sh @@ -0,0 +1,6 @@ +docker run -d \ + --name autoheal \ + --restart=always \ + -e AUTOHEAL_CONTAINER_LABEL=all \ + -v /var/run/docker.sock:/var/run/docker.sock \ + willfarrell/autoheal \ No newline at end of file