# WOLK - Modern File Browser with React Frontend and Go Backend # # Build and run everything with: # docker compose up --build # # Access the application at: http://localhost:8000 # Default credentials: admin / (randomly generated, check logs) services: filebrowser: container_name: filebrowser build: dockerfile: Dockerfile context: . # Build args (optional) args: - BUILDKIT_INLINE_CACHE=1 restart: unless-stopped networks: - filebrowser ports: - "8000:80" # Host:Container - Access via http://localhost:8000 volumes: - filebrowser_data:/srv - filebrowser_config:/config - filebrowser_db:/database environment: # Server configuration - FB_PORT=80 - FB_ADDRESS=0.0.0.0 # Redis cache URL for multi-instance deployments (optional) - REDIS_CACHE_URL=redis://default:filebrowser@redis:6379 # Token expiration time (optional) - FB_TOKEN_EXPIRATION_TIME=2h depends_on: redis: condition: service_healthy healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/health"] interval: 10s timeout: 5s retries: 3 start_period: 10s redis: container_name: filebrowser_redis 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:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 start_period: 5s networks: filebrowser: driver: bridge volumes: filebrowser_data: driver: local filebrowser_config: driver: local filebrowser_db: driver: local redis_data: driver: local