mirror of
https://github.com/lorsanstand/Aether.git
synced 2026-06-19 12:05:16 +03:00
feat: add minio
This commit is contained in:
@@ -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:
|
||||
@@ -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:
|
||||
+2
-2
@@ -9,10 +9,10 @@
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<meta name="apple-mobile-web-app-title" content="Aether" />
|
||||
<link rel="apple-touch-icon" href="/favicon.png" />
|
||||
<meta name="description" content="Aether — изящный мессенджер с простотой и красотой" />
|
||||
<meta name="description" content="Aether — личный проект" />
|
||||
<meta name="mobile-web-app-capable" content="yes" />
|
||||
<meta name="format-detection" content="telephone=no" />
|
||||
<title>Aether — Messenger</title>
|
||||
<title>Aether</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;1,400&family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
|
||||
|
||||
@@ -41,7 +41,7 @@ export default function AuthPage() {
|
||||
exit={{ opacity: 0, y: 10 }}
|
||||
transition={{ duration: 0.2 }}
|
||||
>
|
||||
{isLogin ? 'Добро пожаловать!' : 'Присоединяйтесь'}
|
||||
{isLogin ? 'Вход в аккаунт' : 'Создание аккаунта'}
|
||||
</motion.h1>
|
||||
</AnimatePresence>
|
||||
</div>
|
||||
|
||||
@@ -747,12 +747,6 @@ export default function ChatPage() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Footer Info */}
|
||||
<div className="p-4 border-t text-center" style={{ borderColor: 'var(--border-color)' }}>
|
||||
<p className="text-xs font-inter" style={{ color: 'var(--text-secondary)' }}>
|
||||
Aether Chat v1.0
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Main Chat Area */}
|
||||
@@ -1157,7 +1151,7 @@ export default function ChatPage() {
|
||||
<img src={miniLogo} alt="Aether Logo" className="w-full h-full object-contain" />
|
||||
</div>
|
||||
<h2 className="text-2xl font-lora font-semibold mb-3" style={{ color: 'var(--text-primary)' }}>
|
||||
Добро пожаловать в Aether
|
||||
Aether
|
||||
</h2>
|
||||
<p className="font-inter" style={{ color: 'var(--text-secondary)' }}>
|
||||
Выберите существующий чат из списка слева или создайте новый, чтобы начать общение
|
||||
|
||||
@@ -51,7 +51,7 @@ export default function ForgotPasswordPage() {
|
||||
AETHER
|
||||
</div>
|
||||
<h2 className="text-xl font-lora font-semibold" style={{ color: 'var(--text-primary)' }}>
|
||||
Восстановление пароля
|
||||
Запрос сброса пароля
|
||||
</h2>
|
||||
<p className="mt-2 text-sm font-inter" style={{ color: 'var(--text-secondary)' }}>
|
||||
Введите почту или никнейм для получения ссылки на сброс пароля
|
||||
|
||||
@@ -78,7 +78,7 @@ export default function ResetPasswordPage() {
|
||||
AETHER
|
||||
</div>
|
||||
<h2 className="text-xl font-lora font-semibold" style={{ color: '#2C2C2C' }}>
|
||||
Сброс пароля
|
||||
Установка нового пароля
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user