Static Site Server¶
Nginx-powered static site server for hosting built documentation and websites.
Overview¶
The Static Site Server uses Nginx to serve your built documentation and static websites. It's configured to serve the built MkDocs site and other static content with high performance and reliability.
Features¶
- High-performance static file serving
- Automatic index file handling
- Gzip compression
- Caching headers
- Security headers
- Custom error pages
- URL rewriting support
Access¶
- Default Port: 4001
- URL:
http://localhost:4001
- Document Root:
/config/www
(mounted from./mkdocs/site
)
Configuration¶
Environment Variables¶
PUID
: User ID for file permissions (default: 1000)PGID
: Group ID for file permissions (default: 1000)TZ
: Timezone setting (default: Etc/UTC)
Volumes¶
./mkdocs/site:/config/www
: Static site files- Built MkDocs site is automatically served
Usage¶
- Build your MkDocs site:
docker exec mkdocs-changemaker mkdocs build
- The built site is automatically available at
http://localhost:4001
- Any files in
./mkdocs/site/
will be served statically
File Structure¶
mkdocs/site/ # Served at /
├── index.html # Homepage
├── assets/ # CSS, JS, images
├── services/ # Service documentation
└── search/ # Search functionality
Performance Features¶
- Gzip Compression: Automatic compression for text files
- Browser Caching: Optimized cache headers
- Fast Static Serving: Nginx optimized for static content
- Security Headers: Basic security header configuration
Custom Configuration¶
For advanced Nginx configuration, you can: 1. Create custom Nginx config files 2. Mount them as volumes 3. Restart the container
Monitoring¶
Monitor the static site server through:
- Container logs: docker logs mkdocs-site-server-changemaker
- Access logs for traffic analysis
- Performance metrics
Troubleshooting¶
Common Issues¶
- 404 Errors: Ensure MkDocs site is built and files exist in
./mkdocs/site/
- Permission Issues: Check
PUID
andPGID
settings - File Not Found: Verify file paths and case sensitivity
Debugging¶
# Check container logs
docker logs mkdocs-site-server-changemaker
# Verify files are present
docker exec mkdocs-site-server-changemaker ls -la /config/www
# Test file serving
curl -I http://localhost:4001
Official Documentation¶
For more information about the underlying Nginx server: - LinuxServer.io Nginx - Nginx Documentation