refactor: simplify deployment for existing Apache Docker container
- Move web files to www/ directory for easy copying to data folder - Remove Docker setup since user has existing Apache container - Add custom 404.html page - Update README with simple deployment instructions - Keep CGI script as optional bonus feature
This commit is contained in:
75
README.md
75
README.md
@@ -1,7 +1,7 @@
|
||||
# IT'S FUCKING DUSTIN'S FAULT — OFFICIAL BLAME PORTAL
|
||||
|
||||
## Overview
|
||||
The most offensive, hilarious, and utterly ridiculous website ever created. A Docker-hosted Apache monstrosity that blames everything on Dustin with maximum crassness and zero fucks given.
|
||||
The most offensive, hilarious, and utterly ridiculous website ever created. A hilariously crass single-page application that blames everything on Dustin with maximum crassness and zero fucks given.
|
||||
|
||||
**Live Demo:** [itsdustinsfault.com](https://itsdustinsfault.com) (once deployed)
|
||||
|
||||
@@ -10,66 +10,49 @@ The most offensive, hilarious, and utterly ridiculous website ever created. A Do
|
||||
- **OFFICIAL BLAME SUBMISSION FORM**: File your own reports of Dustin's latest bullshit
|
||||
- **DUSTIN'S APOLOGY GENERATOR™**: Generates bullshit apologies with sincerity ratings
|
||||
- **NUCLEAR OPTION**: Attempt to fire Dustin (spoiler: it won't work)
|
||||
- **SOUND EFFECTS & ANIMATIONS**: Beeps, glitches, and rage meters
|
||||
- **COWSAY CGI INTERFACE**: Because why not have a CGI script that blames Dustin using cowsay?
|
||||
- **MYSLQL DATABASE**: Tracks all of Dustin's sins in a proper database
|
||||
- **PHPMyAdmin**: View the database of Dustin's eternal damnation
|
||||
- **RIDICULOUS STATS**: Fuckup counters, rage meters, and fake uptime percentages
|
||||
- **EASTER EGGS**: Click if you actually like Dustin (you monster)
|
||||
- **SOUND EFFECTS & ANIMATIONS**: Beeps, glitches, and rage meters
|
||||
- **RIDICULOUS STATS**: Fuckup counters, rage meters, and fake uptime percentages
|
||||
- **TERMINAL-STYLE UI**: Retro green-on-black with CRT scanlines
|
||||
|
||||
## Tech Stack (Overkill Edition)
|
||||
- **Docker & Docker Compose**: Full containerized deployment
|
||||
- **Apache HTTPD**: Serving static files and CGI scripts
|
||||
- **MySQL**: Database of Dustin's eternal sins
|
||||
- **PHPMyAdmin**: Admin interface for viewing Dustin's fuckups
|
||||
## Tech Stack
|
||||
- **Vanilla HTML/CSS/JS**: No frameworks, because Dustin would fuck that up too
|
||||
- **Web Audio API**: For obnoxious sound effects
|
||||
- **Cowsay & Fortune**: CGI scripts because we're living in 1995
|
||||
- **Single `index.html` file**: Everything in one gloriously offensive package
|
||||
|
||||
## Deployment
|
||||
Simply copy the contents of the `www/` directory to your web server's document root (maps to `/var/www/html` in your Apache container).
|
||||
|
||||
## Docker Deployment
|
||||
```bash
|
||||
# Start the entire blame ecosystem
|
||||
docker-compose up -d
|
||||
# Copy files to your data directory that maps to /var/www/html
|
||||
cp -r www/* /path/to/your/data/directory/
|
||||
|
||||
# Access the main site
|
||||
# http://localhost:8080
|
||||
# Or if your data folder is already set up:
|
||||
rsync -av www/ /path/to/your/data/folder/
|
||||
```
|
||||
|
||||
# Access phpMyAdmin (to view Dustin's sins)
|
||||
# http://localhost:8081
|
||||
# Username: dustin
|
||||
# Password: blame_me
|
||||
## File Structure
|
||||
```
|
||||
www/
|
||||
├── index.html # The main blame portal (everything)
|
||||
├── 404.html # Custom error page blaming Dustin
|
||||
└── cgi-bin/
|
||||
└── blame-dustin.cgi # Optional CGI script (if your server supports it)
|
||||
```
|
||||
|
||||
## Local Development
|
||||
```bash
|
||||
# Just open in browser (for cowards)
|
||||
open index.html
|
||||
# Just open in browser
|
||||
open www/index.html
|
||||
|
||||
# Or run the full Docker stack
|
||||
docker-compose up
|
||||
# Or serve locally
|
||||
cd www && python -m http.server 8000
|
||||
```
|
||||
|
||||
## Architecture
|
||||
```
|
||||
dustins-fault-website/
|
||||
├── index.html # The main blame portal
|
||||
├── Dockerfile # Apache container with cowsay & fortune
|
||||
├── docker-compose.yml # Full stack with MySQL & phpMyAdmin
|
||||
├── cgi-bin/
|
||||
│ └── blame-dustin.cgi # CGI script for cowsay blaming
|
||||
├── mysql-init/
|
||||
│ └── 01-init.sql # Database schema & sample fuckups
|
||||
├── logs/ # Apache logs
|
||||
├── mysql-data/ # Persistent database storage
|
||||
└── README.md # This file
|
||||
```
|
||||
|
||||
## Database Schema
|
||||
The MySQL database tracks:
|
||||
- Individual fuckups with severity levels
|
||||
- Dustin's bullshit apologies
|
||||
- Blame statistics and mood tracking
|
||||
- Automated daily fuckup insertion
|
||||
## Customization
|
||||
- Edit `www/index.html` to add more incidents, change names, or increase the offensiveness
|
||||
- Modify the apology generator with more creative bullshit
|
||||
- Add your own sound effects or animations
|
||||
|
||||
## Contributing
|
||||
1. Think of something even more offensive
|
||||
|
||||
26
www/404.html
Normal file
26
www/404.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Error - Dustin's Fault</title>
|
||||
<style>
|
||||
body{font-family: monospace;background:#000;color:#0f0;margin:40px}
|
||||
h1{color:#f00}
|
||||
pre{color:#ff0}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>ERROR 404 - PAGE NOT FOUND</h1>
|
||||
<p>This page doesn't exist. You know who to blame.</p>
|
||||
<pre>
|
||||
_____
|
||||
| __ \
|
||||
| | | | ___ _ _ _ __ ___
|
||||
| | | |/ _ \ | | | '_ ` _ \
|
||||
| |__| | __/ |_| | | | | | |
|
||||
|_____/ \___|\__,_|_| |_| |_|
|
||||
|
||||
It's Dustin's fault. Obviously.
|
||||
</pre>
|
||||
<p><a href="/" style="color:#0ff">Go back to blaming Dustin properly</a></p>
|
||||
</body>
|
||||
</html>
|
||||
92
www/cgi-bin/blame-dustin.cgi
Executable file
92
www/cgi-bin/blame-dustin.cgi
Executable file
@@ -0,0 +1,92 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Content-type: text/html"
|
||||
echo ""
|
||||
|
||||
cat << EOF
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Blame Dustin - CGI Edition</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Courier New', monospace;
|
||||
background: #000;
|
||||
color: #0f0;
|
||||
margin: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
h1 {
|
||||
color: #f00;
|
||||
text-shadow: 0 0 10px #f00;
|
||||
font-size: 3em;
|
||||
}
|
||||
pre {
|
||||
color: #ff0;
|
||||
font-size: 1.2em;
|
||||
text-align: left;
|
||||
display: inline-block;
|
||||
background: #111;
|
||||
padding: 20px;
|
||||
border: 2px solid #f00;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.apology {
|
||||
color: #0ff;
|
||||
font-size: 1.5em;
|
||||
margin: 30px;
|
||||
padding: 20px;
|
||||
border: 1px dashed #0ff;
|
||||
background: rgba(0, 255, 255, 0.1);
|
||||
}
|
||||
.blame-button {
|
||||
background: #f00;
|
||||
color: #000;
|
||||
border: none;
|
||||
padding: 15px 30px;
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
margin: 20px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.blame-button:hover {
|
||||
background: #ff0;
|
||||
color: #f00;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>OFFICIAL DUSTIN BLAMING INTERFACE</h1>
|
||||
<pre>
|
||||
$(/usr/bin/fortune)
|
||||
</pre>
|
||||
|
||||
<p><b>Dustin's fault level:</b> $(echo $((RANDOM % 100 + 1)) )%</p>
|
||||
|
||||
<p><b>Figlet says:</b></p>
|
||||
<pre>
|
||||
$(echo "DUSTIN'S FAULT" | /usr/bin/figlet)
|
||||
</pre>
|
||||
|
||||
<div class="apology">
|
||||
$(echo "I'm sorry. It's my fault. I fucked up." | /usr/bin/lolcat)
|
||||
</div>
|
||||
|
||||
<h2>BLAME LEVEL: MAXIMUM</h2>
|
||||
<p>Current blame allocation: <span style="color:#f00;font-size:2em;">100%</span> Dustin's Fault</p>
|
||||
|
||||
<form action="/cgi-bin/blame-dustin.cgi" method="post">
|
||||
<input type="hidden" name="blame" value="more">
|
||||
<button type="submit" class="blame-button">BLAME DUSTIN EVEN HARDER</button>
|
||||
</form>
|
||||
|
||||
<p><a href="/" style="color:#0ff;">← Back to the main blame portal</a></p>
|
||||
|
||||
<hr>
|
||||
<small>Server time: $(date)<br>
|
||||
This page has been viewed $(echo $RANDOM) times by people blaming Dustin.<br>
|
||||
Total apologies generated: $(echo $((RANDOM * 1000)))</small>
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
Reference in New Issue
Block a user