feat: migrate to DragonflyDB and clean up environment configuration

- Replace Redis with DragonflyDB for better performance and memory efficiency
- Remove redundant environment variables (POSTGRES_*, ENCRYPTION_KEY, OAUTH_SERVICE_URL)
- Consolidate database configuration to use single DB_* variables
- Use JWT_SECRET for both JWT tokens and encryption
- Remove PORT variable redundancy, use BACKEND_PORT consistently
- Clean up docker-compose configurations for dev/prod consistency
- Add DragonflyDB configuration with optimized memory usage
- Remove redis.conf as it's no longer needed
- Update health checks to use Redis-compatible CLI for DragonflyDB
This commit is contained in:
Tomas Dvorak
2026-03-03 12:20:08 +01:00
parent fc913b5641
commit 9a580c77d2
9 changed files with 212 additions and 508 deletions
+4 -5
View File
@@ -11,15 +11,14 @@ ARG VITE_API_URL=http://localhost:8080
COPY frontend/package*.json ./frontend/
RUN cd frontend && npm install --include=dev
# Copy environment variables and source code
COPY ../.env ./frontend/.env
COPY . ./frontend/
# Copy frontend source code only
COPY frontend/ ./frontend/
# Create a .env.production file with build arguments
RUN cd frontend && echo "VITE_DEMO_MODE=${VITE_DEMO_MODE}" >> .env.production && \
echo "VITE_API_URL=${VITE_API_URL}" >> .env.production
# Build the application
# Build the application (frontend only)
RUN cd frontend && npm run build
# Production stage
@@ -38,7 +37,7 @@ COPY frontend/nginx.conf /etc/nginx/nginx.conf
# Make a backup of the original index.html for runtime substitution
RUN cp /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.orig
# Expose port 80
# Expose port (will be dynamically set by entrypoint)
EXPOSE 80
# Start the entrypoint script
+5
View File
@@ -6,6 +6,10 @@
# Default values
DEMO_MODE=${VITE_DEMO_MODE:-false}
API_URL=${VITE_API_URL:-http://localhost:8080}
FRONTEND_PORT=${FRONTEND_PORT:-3000}
# Update nginx configuration to use the dynamic port
sed -i "s/listen 80;/listen ${FRONTEND_PORT};/g" /etc/nginx/nginx.conf
# Create a temporary script for env substitution
cat > /tmp/env_substitute.sh << 'EOF'
@@ -25,6 +29,7 @@ sed -i "s|VITE_API_URL_PLACEHOLDER|$VITE_API_URL|g" $HTML_FILE
echo "Environment variables injected:"
echo "VITE_DEMO_MODE=$VITE_DEMO_MODE"
echo "VITE_API_URL=$VITE_API_URL"
echo "FRONTEND_PORT=$FRONTEND_PORT"
EOF
# Make the script executable