From cf9052ab7a67a08798c030b90542a0b0515f6ad8 Mon Sep 17 00:00:00 2001 From: lorsan Date: Wed, 13 May 2026 21:43:52 +0300 Subject: [PATCH] feat: add minio --- docker-compose.dev.yml | 34 ++++++++++++++++++++ docker-compose.yml | 38 +++++++++++++++++++++++ frontend/index.html | 4 +-- frontend/src/pages/AuthPage.tsx | 2 +- frontend/src/pages/ChatPage.tsx | 8 +---- frontend/src/pages/ForgotPasswordPage.tsx | 2 +- frontend/src/pages/ResetPasswordPage.tsx | 2 +- 7 files changed, 78 insertions(+), 12 deletions(-) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 2b7756a..c7eeaa9 100755 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -31,6 +31,39 @@ services: retries: 5 restart: always + minio: + image: minio/minio:latest + command: server /data --console-address ":9001" + environment: + MINIO_ROOT_USER: "${S3_ACCESS_KEY_ID}" + MINIO_ROOT_PASSWORD: "${S3_SECRET_ACCESS_KEY}" + ports: + - "9000:9000" + - "9001:9001" + networks: + - aether-dev + volumes: + - minio-data:/data + restart: unless-stopped + + minio-init: + image: minio/mc:latest + depends_on: + - minio + networks: + - aether-dev + environment: + S3_ACCESS_KEY_ID: "${S3_ACCESS_KEY_ID}" + S3_SECRET_ACCESS_KEY: "${S3_SECRET_ACCESS_KEY}" + S3_BUCKET_NAME: "${S3_BUCKET_NAME}" + entrypoint: > + /bin/sh -c " + mc alias set minio http://minio:9000 $${S3_ACCESS_KEY_ID} $${S3_SECRET_ACCESS_KEY} && + mc mb -p minio/$${S3_BUCKET_NAME} || true && + mc anonymous set download minio/$${S3_BUCKET_NAME} || true + " + restart: "no" + redis-insight: image: redis/redisinsight:latest ports: @@ -66,6 +99,7 @@ volumes: redis_data: rabbitmq-data: esdata: + minio-data: networks: aether-dev: \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index f62dfe4..b9804f8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -46,6 +46,39 @@ services: - redis-data:/data restart: unless-stopped + minio: + image: minio/minio:latest + command: server /data --console-address ":9001" + environment: + MINIO_ROOT_USER: "${S3_ACCESS_KEY_ID}" + MINIO_ROOT_PASSWORD: "${S3_SECRET_ACCESS_KEY}" + ports: + - "9000:9000" + - "9001:9001" + networks: + - aether + volumes: + - minio-data:/data + restart: unless-stopped + + minio-init: + image: minio/mc:latest + depends_on: + - minio + networks: + - aether + environment: + S3_ACCESS_KEY_ID: "${S3_ACCESS_KEY_ID}" + S3_SECRET_ACCESS_KEY: "${S3_SECRET_ACCESS_KEY}" + S3_BUCKET_NAME: "${S3_BUCKET_NAME}" + entrypoint: > + /bin/sh -c " + mc alias set minio http://minio:9000 $${S3_ACCESS_KEY_ID} $${S3_SECRET_ACCESS_KEY} && + mc mb -p minio/$${S3_BUCKET_NAME} || true && + mc anonymous set download minio/$${S3_BUCKET_NAME} || true + " + restart: "no" + prestart: build: context: ./backend @@ -71,6 +104,8 @@ services: - aether env_file: - .env + environment: + S3_URL: "http://minio:9000" restart: unless-stopped backend: @@ -91,6 +126,8 @@ services: - aether env_file: - .env + environment: + S3_URL: "http://minio:9000" restart: unless-stopped frontend: @@ -111,6 +148,7 @@ volumes: db-data: rabbitmq-data: redis-data: + minio-data: networks: aether: \ No newline at end of file diff --git a/frontend/index.html b/frontend/index.html index 1cbec5c..a14081d 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -9,10 +9,10 @@ - + - Aether — Messenger + Aether diff --git a/frontend/src/pages/AuthPage.tsx b/frontend/src/pages/AuthPage.tsx index 193db84..349593c 100644 --- a/frontend/src/pages/AuthPage.tsx +++ b/frontend/src/pages/AuthPage.tsx @@ -41,7 +41,7 @@ export default function AuthPage() { exit={{ opacity: 0, y: 10 }} transition={{ duration: 0.2 }} > - {isLogin ? 'Добро пожаловать!' : 'Присоединяйтесь'} + {isLogin ? 'Вход в аккаунт' : 'Создание аккаунта'} diff --git a/frontend/src/pages/ChatPage.tsx b/frontend/src/pages/ChatPage.tsx index d070c71..0f546f3 100644 --- a/frontend/src/pages/ChatPage.tsx +++ b/frontend/src/pages/ChatPage.tsx @@ -747,12 +747,6 @@ export default function ChatPage() { - {/* Footer Info */} -
-

- Aether Chat v1.0 -

-
{/* Main Chat Area */} @@ -1157,7 +1151,7 @@ export default function ChatPage() { Aether Logo

- Добро пожаловать в Aether + Aether

Выберите существующий чат из списка слева или создайте новый, чтобы начать общение diff --git a/frontend/src/pages/ForgotPasswordPage.tsx b/frontend/src/pages/ForgotPasswordPage.tsx index 46e5901..0a45ecb 100644 --- a/frontend/src/pages/ForgotPasswordPage.tsx +++ b/frontend/src/pages/ForgotPasswordPage.tsx @@ -51,7 +51,7 @@ export default function ForgotPasswordPage() { AETHER

- Восстановление пароля + Запрос сброса пароля

Введите почту или никнейм для получения ссылки на сброс пароля diff --git a/frontend/src/pages/ResetPasswordPage.tsx b/frontend/src/pages/ResetPasswordPage.tsx index c921da5..3589fa0 100644 --- a/frontend/src/pages/ResetPasswordPage.tsx +++ b/frontend/src/pages/ResetPasswordPage.tsx @@ -78,7 +78,7 @@ export default function ResetPasswordPage() { AETHER

- Сброс пароля + Установка нового пароля