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
10 changes: 10 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from bellsoft/liberica-openjdk-alpine:24.0.1 as builder
workdir /app
copy . .
run ./mvnw package -DskipTests

from bellsoft/liberica-openjre-alpine:24.0.1
workdir app
copy --from=builder /app/target/*.jar app.jar
expose 80
entrypoint ["java", "-jar", "/app/app.jar"]
53 changes: 53 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
services:
self:
build: .
container_name: self
depends_on:
- postgres
ports:
- "80:80"
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/selfdb
SPRING_DATASOURCE_USERNAME: postgres
SPRING_DATASOURCE_PASSWORD: postgres
SELF_AI_URL: http://ollama:11434/api/chat
networks:
- self_network

postgres:
image: postgres:17
container_name: postgres
restart: always
environment:
POSTGRES_DB: selfdb
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
networks:
- self_network

ollama:
image: ollama/ollama:0.11.4
container_name: ollama
restart: always
volumes:
- ollama:/root/.ollama
ports:
- "11434:11434"
runtime: nvidia
environment:
- NVIDIA_VISIBLE_DEVICES=all
networks:
- self_network

networks:
self_network:

volumes:
postgres_data:
name: postgres_data
ollama:
name: ollama
9 changes: 5 additions & 4 deletions src/main/resources/application.properties
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
spring.application.name=self

server.port=${SELF_SERVER_PORT:80}
server.port=80
server.address=0.0.0.0

spring.datasource.url=${SELF_DATASOURCE_URL:jdbc:postgresql://host.docker.internal:5432/selfdb}
spring.datasource.username=${SELF_DATASOURCE_USERNAME:postgres}
spring.datasource.password=${SELF_DATASOURCE_PASSWORD:postgres}
spring.datasource.url=jdbc:postgresql://host.docker.internal:5432/selfdb
spring.datasource.username=postgres
spring.datasource.password=postgres

self.ai.url=${SELF_AI_URL:http://localhost:11434/api/chat}
self.ai.model=${SELF_AI_MODEL:gemma3:4b}
Expand Down