5.9 KiB
Webflow Website Deployment Guide
This repository contains a framework for deploying static websites exported from Webflow. Using Docker and Nginx with optional Cloudflare integration, you can quickly deploy your Webflow site with professional-grade hosting.
Webflow Code Export
This deployment method requires exporting your Webflow site as static code. To do this:
- In your Webflow project dashboard, go to "Publish"
- Click on "Export Code"
- Download the ZIP file containing your site's code
For detailed instructions, see the official Webflow Code Export guide.
⚠️ Important Limitation Warning ⚠️
The following Webflow features will NOT work in exported code:
- CMS and database content
- User accounts and authentication
- Ecommerce functionality
- Logic flows
- Localized content
- Form submissions (due to GDPR compliance)
- Site search functionality
- Password protection for pages
Collection lists will show empty states, and Collection pages won't display content bound to Collection fields.
Technology Stack
Core Technologies
- Webflow: Visual web design platform for the original site creation
- Docker: Containerization for consistent deployment
- Nginx: High-performance web server for static content
- Cloudflare (Optional): For secure tunneling, DDoS protection, and CDN
Benefits of This Setup
- Portability: Runs consistently on any system with Docker
- Security: Minimal attack surface with Alpine-based containers
- Performance: Optimized Nginx with gzip compression and proper caching
- Scalability: Easily deployable to any server or cloud environment
Directory Structure
website/
- Contains all the website files (place your Webflow export here)- HTML pages
css/
- Stylesheetsjs/
- JavaScript filesimages/
- Images and mediafonts/
- Custom fonts
docker-compose.yml
- Docker Compose configuration for standard deploymentdocker-compose-with-cloudflare.yml
- Extended configuration with Cloudflare Tunnelnginx.conf
- Nginx web server configuration with performance optimizationsdeploy.sh
- Helper script for deploymentcloudflared-config.yml
- Configuration for Cloudflare Tunnel (optional)CLOUDFLARE-SETUP.md
- Instructions for Cloudflare integration
Deployment Instructions
Prerequisites
- Docker and Docker Compose installed on your server
- Basic knowledge of terminal commands
Steps to Deploy
- Clone this repository to your server:
git clone https://gitea.bnkhome.org/bnkops/webflow.quick.server.git
-
Extract your Webflow code export into the
website/
directory -
Navigate to the project directory:
cd path/to/webflow-deployment
-
Start the Docker container:
docker-compose up -d
-
The website should now be available at
http://localhost
or your server's IP address. -
For public access, you can either:
- Configure your DNS and firewall to expose port 80/443
- Deploy using the Cloudflare Tunnel for secure access
Management Commands
-
To stop the server:
docker-compose down
-
To view logs:
docker-compose logs -f
-
To restart the server:
docker-compose restart
-
To deploy using the helper script:
./deploy.sh
Configuration
- The Nginx configuration is located in
nginx.conf
- The Docker Compose configuration is in
docker-compose.yml
- Website files are served from the
website/
directory
Technical Details
Nginx Configuration
The Nginx web server is configured with several optimizations:
- Gzip Compression: Reduces the size of transferred files
- Asset Caching: Sets proper cache headers for static assets
- Error Handling: Custom error pages
- SPA Support: Fallback to index.html for client-side routing
Docker Configuration
The Docker setup uses:
- nginx:alpine: A lightweight, Alpine Linux-based Nginx image
- Volume Mounting: Maps the local website directory to the container
- Port Mapping: Exposes port 80 for HTTP traffic
- Automatic Restart: Container restarts automatically if it crashes
Alternative: Self-Hosted Website Builders
If you need more functionality than a static Webflow export provides, consider these alternatives:
GrapesJS
Webflow is built on a framework similar to GrapesJS, an open-source web builder framework. GrapesJS can be self-hosted and integrated with your own backend for dynamic content.
Changemaker V5
Changemaker V5 is a battle-tested, lightweight, self-hosted productivity suite developed by The Bunker Operations in Edmonton, Alberta, Canada.
It empowers you to deploy secure, locally-built websites, blogs, newsletters, and forms – from personal projects to full-fledged campaigns – giving you complete control, inherent security, and true freedom of speech.
Changemaker V5 provides a digital campaign alternative to mainstream American systems and can be paired with your own infrastructure at changemaker.bnkops.org.
Troubleshooting
Common Issues
Container won't start
# Check for detailed error messages
docker-compose logs
Cannot connect to website
# Verify the container is running
docker ps
# Check if port 80 is in use by another service
sudo lsof -i :80
Permission issues
# Fix permission issues with Docker socket
sudo chmod 666 /var/run/docker.sock
License
This deployment framework is provided under the MIT License.