This commit is contained in:
2026-05-17 20:54:53 +05:00
parent 65a0babeab
commit 27eb4fd606
90 changed files with 12343 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
POSTGRES_USER=mikrocloud
POSTGRES_PASSWORD=mikrocloud
POSTGRES_DB=mikrocloud
MINIO_ROOT_USER=minio
MINIO_ROOT_PASSWORD=minio12345
SECRET_KEY=please-change-this-32-bytes-secret-now
BOOTSTRAP_ADMIN_EMAIL=admin
BOOTSTRAP_ADMIN_PASSWORD=admin
+90
View File
@@ -0,0 +1,90 @@
name: mikrocloud
services:
postgres:
image: timescale/timescaledb:2.16.1-pg16
restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-mikrocloud}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-mikrocloud}
POSTGRES_DB: ${POSTGRES_DB:-mikrocloud}
volumes:
- pg_data:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER}"]
interval: 5s
timeout: 3s
retries: 20
redis:
image: redis:7-alpine
restart: unless-stopped
ports:
- "6379:6379"
minio:
image: minio/minio:RELEASE.2024-09-22T00-33-43Z
restart: unless-stopped
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minio}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minio12345}
volumes:
- minio_data:/data
ports:
- "9000:9000"
- "9001:9001"
backend:
build:
context: ../backend
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
environment:
APP_ENV: dev
SECRET_KEY: ${SECRET_KEY:-please-change-this-32-bytes-secret-now}
DATABASE_URL: postgresql+psycopg2://${POSTGRES_USER:-mikrocloud}:${POSTGRES_PASSWORD:-mikrocloud}@postgres:5432/${POSTGRES_DB:-mikrocloud}
REDIS_URL: redis://redis:6379/0
S3_ENDPOINT: http://minio:9000
S3_ACCESS_KEY: ${MINIO_ROOT_USER:-minio}
S3_SECRET_KEY: ${MINIO_ROOT_PASSWORD:-minio12345}
S3_BUCKET: mikrocloud-backups
BOOTSTRAP_ADMIN_EMAIL: ${BOOTSTRAP_ADMIN_EMAIL:-admin}
BOOTSTRAP_ADMIN_PASSWORD: ${BOOTSTRAP_ADMIN_PASSWORD:-admin}
CORS_ORIGINS: "http://localhost:5173,http://127.0.0.1:5173"
# Push-доставка бэкапов (FTP-сервер контроллера)
BACKUP_FTP_HOST: "0.0.0.0"
BACKUP_FTP_PORT: "2121"
BACKUP_PUSH_HOST: ${BACKUP_PUSH_HOST:-}
ports:
- "8000:8000"
- "2121:2121"
- "30000-30049:30000-30049"
frontend:
build:
context: ../frontend
restart: unless-stopped
depends_on:
- backend
environment:
VITE_API_URL: http://backend:8000
CHOKIDAR_USEPOLLING: "true"
ports:
- "80:5173"
# Bind-mount исходников хоста в контейнер, чтобы Vite HMR подхватывал правки
# без пересборки образа. Анонимный volume на node_modules защищает их от
# перекрытия (внутри образа они уже установлены).
volumes:
- ../frontend:/app
- /app/node_modules
volumes:
pg_data:
minio_data: