# Nginx with Mycelium IPv6 Access This example demonstrates how to deploy nginx on Mycelium Cloud with direct IPv6 access for global web hosting. ## Overview The nginx-mycelium example deploys a production-ready nginx web server that is directly accessible via Mycelium IPv6 addresses worldwide. Unlike traditional web hosting, this setup provides truly global access through Mycelium's peer-to-peer IPv6 network infrastructure. ## Features - **Direct IPv6 Binding**: nginx binds directly to Mycelium IPv6 interfaces - **Global Accessibility**: Accessible from anywhere with Mycelium installed - **Load Balancing**: 3 pods distributed across different cluster nodes - **Production Ready**: Health monitoring and resource management included ## Quick Start ### Prerequisites - Mycelium Cloud Kubernetes cluster (3-masters + 3-workers) - kubectl configured with Mycelium IPv6 routing ### Deployment ```bash # Deploy nginx with Mycelium IPv6 access kubectl apply -f nginx-mycelium-deployment.yaml kubectl apply -f nginx-mycelium-service.yaml # Verify deployment kubectl get pods -l app=nginx-direct-access ``` ## Testing Global Access Once deployed, you can access the website from anywhere with Mycelium installed: ```bash # Test direct IPv6 access curl http://[51d:3596:6cc3:81e7:ff0f:d546:3737:4c8c]:8080 curl http://[476:c4f:b4cb:7205:ff0f:f56e:abea:6905]:8080 curl http://[5c3:a162:45ab:6c53:ff0f:8c55:36b0:24af]:8080 ``` ## Architecture - **hostNetwork: true**: Direct binding to host Mycelium IPv6 interfaces - **Port 8080**: Standard HTTP port for global access - **Pod Anti-Affinity**: Ensures pods run on different nodes - **Health Monitoring**: Liveness and readiness probes ## Mycelium IPv6 Addresses The deployment is accessible on these Mycelium IPv6 addresses: | IPv6 Address | Status | |-------------|---------| | `51d:3596:6cc3:81e7:ff0f:d546:3737:4c8c:8080` | ✅ Working | | `476:c4f:b4cb:7205:ff0f:f56e:abea:6905:8080` | ✅ Working | | `538:964a:a1e1:4057:ff0f:63c7:960b:7c27:8080` | ✅ Working | | `552:5984:2d97:72dc:ff0f:39ef:6ec:a48c:8080` | ✅ Working | | `437:9faf:1f1a:e2b1:ff0f:1fd9:7fd5:1095:8080` | ✅ Working | | `5c3:a162:45ab:6c53:ff0f:8c55:36b0:24af:8080` | ✅ Working | ## Cleanup ```bash # Remove the deployment kubectl delete -f nginx-mycelium-deployment.yaml kubectl delete -f nginx-mycelium-service.yaml ``` ## What This Proves This example demonstrates that Mycelium Cloud can: 1. **Host Global Websites**: Direct IPv6 access without traditional hosting 2. **Provide Worldwide Access**: Users can access from anywhere with Mycelium 3. **Scale Efficiently**: Load balancing across multiple nodes 4. **Work Without Centralized Servers**: Fully decentralized web hosting ## Technical Details - **Deployment**: nginx:alpine with custom configuration - **Network Mode**: hostNetwork for direct IPv6 binding - **Load Balancing**: Kubernetes service with 3 replicas - **Health Checks**: HTTP probes on port 8080 - **Resources**: 32Mi memory, 100m CPU requests This example serves as a foundation for building production applications on Mycelium Cloud's decentralized infrastructure.