# Development environment - runs Go backend and serves frontend from Vite dev server # # This is useful for development as it: # 1. Runs the Go backend in a container for isolated environment # 2. Allows running React dev server locally with HMR # # Setup: # 1. Start containers: docker compose -f docker-compose.dev.yaml up # 2. In another terminal, run frontend dev server: cd frontend && bun run dev # 3. Access the app at: http://localhost:5173 (frontend dev server) # 4. API calls proxy to http://backend:8080 # # For production build, use: docker compose up --build services: backend: container_name: filebrowser_backend build: dockerfile: Dockerfile.dev context: . restart: unless-stopped networks: - filebrowser ports: - "8080:8080" volumes: - ./:/app - /app/frontend/node_modules environment: - FB_PORT=8080 - FB_ADDRESS=0.0.0.0 - REDIS_CACHE_URL=redis://default:filebrowser@redis:6379 depends_on: redis: condition: service_healthy healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8080/health"] interval: 10s timeout: 5s retries: 3 start_period: 10s redis: container_name: filebrowser_redis_dev image: redis:7-alpine restart: unless-stopped networks: - filebrowser command: - sh - -c - | cat > /tmp/users.acl <<'EOF' user default on >filebrowser ~* +@all EOF redis-server --aclfile /tmp/users.acl volumes: - redis_data_dev:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 start_period: 5s networks: filebrowser: driver: bridge volumes: redis_data_dev: driver: local