diff --git a/.vscode/settings.json b/.vscode/settings.json index f8f0c7b..b212feb 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,6 +9,6 @@ "._*": true, "**/._*": true }, - "java.project.explorer.showNonJavaResources": false, + "java.project.explorer.showNonJavaResources": true, "java.configuration.updateBuildConfiguration": "interactive" } \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..fdcc940 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +# filepath: /Users/super/Desktop/rosetta-server/Dockerfile +FROM openjdk:11-jre-slim + +# Установка рабочей директории +WORKDIR /app + +# Копирование jar файла вашего приложения +COPY rosetta-server.jar server.jar + +# Запуск приложения +CMD ["java", "-jar", "server.jar"] \ No newline at end of file diff --git a/README.md b/README.md index cdb201b..dcce027 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,61 @@ # rosetta-server -Java server of Rosetta Messenger \ No newline at end of file +Java server of Rosetta Messenger + +## Требования + +- Java 11+ +- Maven 3.6+ +- Docker и Docker Compose (для запуска в контейнерах) +- PostgreSQL (если запускать локально без Docker) + +## Сборка проекта + +### Локальная сборка (Maven) + +```bash +mvn clean install +``` + +Это скомпилирует проект и создаст JAR файл в директории `target/`. + +### Сборка в Docker + +#### Development версия (с Adminer для управления БД) + +```bash +docker-compose -f docker-compose.dev.yml up --build +``` + +Это создаст образы и запустит контейнеры: +- **App** - приложение на портах 8881 +- **PostgreSQL** - база данных на порте 5432 +- **Adminer** - веб-интерфейс для управления БД на порте 8080 + +#### Production версия (без Adminer) + +```bash +docker-compose -f docker-compose.prod.yml up --build +``` + +Это создаст и запустит: +- **App** - приложение на портах 8881 +- **PostgreSQL** - база данных на порте 5432 + +## Остановка контейнеров + +```bash +# Для dev версии +docker-compose -f docker-compose.dev.yml down + +# Для prod версии +docker-compose -f docker-compose.prod.yml down +``` + +## Переменные окружения + +Отредактируйте переменные в файлах `docker-compose.dev.yml` или `docker-compose.prod.yml`: + +- `POSTGRES_DB` - имя базы данных +- `POSTGRES_USER` - пользователь БД +- `POSTGRES_PASSWORD` - пароль пользователя БД \ No newline at end of file diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..89e9881 --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,23 @@ +version: '3.8' + +services: + app: + build: . + ports: + - "8881:8881" + depends_on: + - db + + db: + image: postgres:latest + environment: + POSTGRES_DB: your_database + POSTGRES_USER: your_user + POSTGRES_PASSWORD: your_password + ports: + - "5432:5432" + + adminer: + image: adminer + ports: + - "8080:8080" \ No newline at end of file diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml new file mode 100644 index 0000000..8e9b3d8 --- /dev/null +++ b/docker-compose.prod.yml @@ -0,0 +1,18 @@ +version: '3.8' + +services: + app: + build: . + ports: + - "8881:8881" + depends_on: + - db + + db: + image: postgres:latest + environment: + POSTGRES_DB: your_database + POSTGRES_USER: your_user + POSTGRES_PASSWORD: your_password + ports: + - "5432:5432" \ No newline at end of file