Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

nginx - Static Website Hosting

A lightweight, high-performance static website hosting solution powered by nginx.

Overview

nginx provides a simple way to host static websites, HTML pages, JavaScript applications, and documentation sites on CasaOS. Built on the industry-standard nginx web server, it delivers content blazingly fast with minimal resource usage.

Features

  • Zero Configuration: Drop your files in and start serving immediately
  • Lightning Fast: nginx delivers static content faster than any alternative
  • Minimal Resources: Runs efficiently with just 64MB RAM
  • Clean URLs: Automatic HTTPS access via Caddy reverse proxy
  • SPA Support: Pre-configured for single-page applications (React, Vue, Angular)
  • Production Ready: nginx powers 30% of the internet

Usage

After installation:

  1. Navigate to /DATA/AppData/Nginx/www/
  2. Upload your website files (HTML, CSS, JavaScript, images, etc.)
  3. Access your site at https://nginx-username.nsl.sh/

File Structure

/DATA/AppData/Nginx/
├── www/              # Your website files
│   ├── index.html   # Main page
│   ├── css/         # Stylesheets
│   ├── js/          # JavaScript files
│   └── assets/      # Images, fonts, etc.
└── nginx.conf       # nginx configuration

Configuration

The included nginx.conf provides:

  • Gzip compression for faster loading
  • Security headers (X-Frame-Options, X-Content-Type-Options, X-XSS-Protection)
  • Asset caching (1 year for static files)
  • SPA routing support (serves index.html for all routes)
  • Hidden file protection

To customize, edit /DATA/AppData/Nginx/nginx.conf and restart the app.

Perfect For

  • Personal websites and portfolios
  • Single-page applications (React, Vue, Angular)
  • Documentation sites (generated by Hugo, Jekyll, MkDocs, etc.)
  • Landing pages and marketing sites
  • HTML/CSS/JavaScript projects
  • Internal company websites

Technical Details

  • Image: nginx:1.27-alpine
  • Memory: 64MB limit
  • CPU: 0.25 cores
  • Port: 80 (exposed via Caddy)
  • Category: WEB

TODO: Required Files

To complete this app submission, the following files are still needed:

Required Files

  1. icon.png - App icon

    • Format: PNG
    • Size: 192x192 pixels recommended
    • Should represent nginx or static web hosting
  2. screenshot-1.png - Screenshot showing the app in action

    • Format: PNG
    • Size: 1280x720 pixels (16:9 aspect ratio)
    • Suggestion: Show the default welcome page or a sample website
  3. screenshot-2.png (optional but recommended)

    • Show file structure in file browser
    • Or show a different example website
  4. thumbnail.png (if this becomes a featured app)

    • Format: PNG
    • Size: 784x442 pixels
    • Use PSD templates from /psd-source/ directory

Creating Assets

You can find PSD templates for creating proper icons and screenshots in: /d/workspace/yundera/AppStoreLab/psd-source/

For the nginx icon, consider:

  • Official nginx logo (green square with "nginx" text)
  • A simple icon representing web hosting/servers
  • HTML/web-related imagery

For screenshots:

  • Capture the default welcome page after installation
  • Show a sample static website being served
  • Display the file structure in a file manager

Testing

Before submitting:

  1. Test locally:

    cd Apps/Nginx
    docker compose up -d
  2. Test on CasaOS instance via SSH

  3. Test via forked repository app store URL

  4. Verify data persistence through uninstall/reinstall

  5. Confirm web UI accessibility via Caddy routing

Resources