Refactored setup.sh for modularity, maintainability, and improved logging. Moved Nginx and Xray configuration to template files under src/config, and added a parameterized HTML portfolio template under src/www. This change enables easier customization and automation of the setup process.
Revised references to 'Nginx' and 'X' to 'nginx' and 'X proxy' for consistency and clarity. Improved descriptions and instructions to better reflect the setup process.
Updated the README to reflect the new X-WebUI setup, replacing the previous portfolio-focused documentation with instructions for deploying a secure server environment using Nginx, Docker, X, and Open WebUI. The setup.sh script now installs additional dependencies (ca-certificates, curl), sets up Docker and Open WebUI, and updates Xray and Nginx configurations for improved security and compatibility. The default index.html was simplified to a clean, static portfolio template without Tailwind or external dependencies.
Replaces the static CSS and HTML structure of the portfolio landing page with a modern, responsive design using Tailwind CSS. Adds improved navigation, mobile menu, project cards, and a styled contact form. Updates layout for better accessibility and user experience, and includes dynamic year in the footer.
The README has been rewritten for clarity, modernized formatting, and improved feature documentation. The setup.sh script is streamlined: verbose output and redundant permission steps are removed, package installation is limited to essentials, the certificate renewal script is simplified, and cron job setup is improved. Unnecessary status checks and verbose messages are eliminated for a cleaner, more automated deployment process.
Changed ownership of /var/www/html/.well-known/acme-challenge to $USERNAME:www-data and updated permissions to 775 to ensure proper access for certificate challenges.
Moved ownership and permission commands for /var/www/html and .well-known/acme-challenge after index.html creation for better file management. Simplified removal of default nginx index file.
Expanded and reorganized the README for clarity, adding detailed sections on features, installation, customization, troubleshooting, and security. Renamed the certificate renewal script from cert-renew.sh to renew.sh in setup.sh and updated all references accordingly.
Adds error handling, progress messages, and more robust certificate renewal logic to setup.sh. Improves web server configuration for ACME challenges, automates service checks, and provides clearer output for server initialization. Cron job for certificate renewal is now weekly with logging, and the script includes verification steps for certificates and services.
Changed SSL certificate storage from /etc/xray/cert to ~/cert and updated all related paths in README.md and setup.sh. Renamed the renewal script to cert-renew.sh and adjusted cron job and Xray config to use the new locations for improved user accessibility.
Corrected the path for the certificate renewal script in the documentation to use /cert/etc/xray/cert/renew.sh instead of ~/cert/etc/xray/cert/renew.sh.
Updated references in README.md and setup.sh to use 'renew.sh' instead of 'cert-renew.sh' for the certificate renewal script. This improves consistency and simplifies the script name.
Changed the path for the certificate renewal script in the documentation to reflect its new location under etc/xray/cert. Ensures users run the correct script for manual certificate renewal.
Changed SSL certificate and key storage from ~/cert to /etc/xray/cert in both README.md and setup.sh for improved consistency and system-wide accessibility. Updated related script and config references to reflect the new directory.
Updated the README to focus on an automated script for deploying professional portfolio websites with SSL, optimized Nginx configuration, and enhanced security features. Added detailed usage instructions, feature list, customization steps, troubleshooting, and important disclaimers for users.
Eliminated installation steps for Docker and Open WebUI from setup.sh to streamline the setup process. Also uncommented the nginx server block for port 8888 and removed installation of ca-certificates and curl.