- Implemented robust token-based authentication with access and refresh tokens - Added JWT token generation, verification, and rotation mechanisms - Created services for token management, Memcached, and MinIO storage - Enhanced user registration and login with device-specific tokens - Added support for profile picture upload and management via MinIO - Implemented secure password hashing with crypto - Updated Prisma schema to support refresh tokens and profile picture storage - Added GraphQL mutations for logout, token refresh, and profile picture handling - Integrated environment configuration with Zod validation - Improved error handling and authentication middleware
46 lines
No EOL
1.3 KiB
YAML
46 lines
No EOL
1.3 KiB
YAML
services:
|
|
api:
|
|
build:
|
|
context: .
|
|
dockerfile: ./apps/api/Dockerfile
|
|
container_name: unreal-chat-api
|
|
restart: unless-stopped
|
|
environment:
|
|
- ALLOWED_ORIGINS=${ALLOWED_ORIGINS}
|
|
- API_HOST=${API_HOST}
|
|
- API_PORT=${API_PORT}
|
|
- COOKIE_SECRET=${COOKIE_SECRET}
|
|
- DATABASE_URL=${DATABASE_URL}
|
|
- MEMC_HOST=${MEMC_HOST}
|
|
- MEMC_PORT=${MEMC_PORT}
|
|
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
|
|
- MINIO_BUCKET_NAME=${MINIO_BUCKET_NAME}
|
|
- MINIO_ENDPOINT=${MINIO_ENDPOINT}
|
|
- MINIO_PORT=${MINIO_PORT}
|
|
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
|
|
- MINIO_USE_SSL=${MINIO_USE_SSL}
|
|
- NODE_ENV=production
|
|
- TOKEN_SECRET=${TOKEN_SECRET}
|
|
networks:
|
|
- default-network
|
|
|
|
web:
|
|
build:
|
|
context: .
|
|
dockerfile: ./apps/web/Dockerfile
|
|
args:
|
|
VITE_API_URL: https://chat-api.jusemon.com/graphql
|
|
VITE_WS_URL: wss://chat-api.jusemon.com/graphql
|
|
container_name: unreal-chat-web
|
|
restart: unless-stopped
|
|
environment:
|
|
- NODE_ENV=production
|
|
- VITE_API_URL=https://chat-api.jusemon.com/graphql
|
|
- VITE_WS_URL=wss://chat-api.jusemon.com/graphql
|
|
networks:
|
|
- default-network
|
|
|
|
networks:
|
|
default:
|
|
name: default-network
|
|
external: true |