diff --git a/bonus/srcs/docker-compose.yml b/bonus/srcs/docker-compose.yml
index 6762cae..e58fe12 100644
--- a/bonus/srcs/docker-compose.yml
+++ b/bonus/srcs/docker-compose.yml
@@ -63,6 +63,16 @@ services:
- wordpress
restart: always
+ static_site:
+ build: ./requirements/static_site
+ image: static_site:inception
+ container_name: static_site
+ networks:
+ - inception
+ ports:
+ - "8080:80"
+ restart: always
+
networks:
inception:
driver: bridge
diff --git a/bonus/srcs/requirements/static_site/Dockerfile b/bonus/srcs/requirements/static_site/Dockerfile
new file mode 100644
index 0000000..4cb86ab
--- /dev/null
+++ b/bonus/srcs/requirements/static_site/Dockerfile
@@ -0,0 +1,15 @@
+FROM debian:bookworm-slim
+
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ nginx \
+ && rm -rf /var/lib/apt/lists/*
+
+COPY conf/nginx.conf /etc/nginx/sites-available/default
+COPY html/ /var/www/static/
+
+RUN rm -f /etc/nginx/sites-enabled/default \
+ && ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
+
+EXPOSE 80
+
+CMD ["nginx", "-g", "daemon off;"]
diff --git a/bonus/srcs/requirements/static_site/conf/nginx.conf b/bonus/srcs/requirements/static_site/conf/nginx.conf
new file mode 100644
index 0000000..819f32a
--- /dev/null
+++ b/bonus/srcs/requirements/static_site/conf/nginx.conf
@@ -0,0 +1,11 @@
+server {
+ listen 80;
+ server_name static.oriabenk.42.fr;
+
+ root /var/www/static;
+ index index.html;
+
+ location / {
+ try_files $uri $uri/ =404;
+ }
+}
diff --git a/bonus/srcs/requirements/static_site/html/index.html b/bonus/srcs/requirements/static_site/html/index.html
new file mode 100644
index 0000000..ffa78b9
--- /dev/null
+++ b/bonus/srcs/requirements/static_site/html/index.html
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+ About
+
+ I'm a 42 School student working through the common core, focused on
+ systems programming, networking, and infrastructure. This page is served
+ as a standalone static site — part of the Inception
+ project's bonus scope, running in its own Docker container.
+
+
+
+
+ Skills
+
+ - C
+ - Docker & Docker Compose
+ - Linux system administration
+ - Networking
+ - Shell scripting
+ - Git
+
+
+
+
+ Inception — Project Highlights
+
+ - NGINX with TLSv1.2/1.3, single entrypoint
+ - WordPress + php-fpm, no bundled web server
+ - MariaDB, isolated in its own container
+ - Docker secrets for all credentials
+ - Bonus: FTP server on the WordPress volume
+ - Bonus: this static site, in plain HTML/CSS/JS
+
+
+
+
+
+
+
+
+
diff --git a/bonus/srcs/requirements/static_site/html/script.js b/bonus/srcs/requirements/static_site/html/script.js
new file mode 100644
index 0000000..36c0c4e
--- /dev/null
+++ b/bonus/srcs/requirements/static_site/html/script.js
@@ -0,0 +1,2 @@
+document.getElementById("year").textContent =
+ "© " + new Date().getFullYear() + " oriabenk — served from a static container";
diff --git a/bonus/srcs/requirements/static_site/html/style.css b/bonus/srcs/requirements/static_site/html/style.css
new file mode 100644
index 0000000..abc453c
--- /dev/null
+++ b/bonus/srcs/requirements/static_site/html/style.css
@@ -0,0 +1,118 @@
+:root {
+ --bg: #0f1115;
+ --card: #171a21;
+ --border: #262b36;
+ --text: #e6e8ec;
+ --muted: #9aa3b2;
+ --accent: #5eb1ff;
+}
+
+* {
+ box-sizing: border-box;
+}
+
+body {
+ margin: 0;
+ background: var(--bg);
+ color: var(--text);
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
+ line-height: 1.5;
+}
+
+.page {
+ max-width: 640px;
+ margin: 0 auto;
+ padding: 48px 24px 80px;
+}
+
+.hero {
+ text-align: center;
+ margin-bottom: 32px;
+}
+
+.avatar {
+ width: 72px;
+ height: 72px;
+ margin: 0 auto 16px;
+ border-radius: 50%;
+ background: linear-gradient(135deg, var(--accent), #8a6bff);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 28px;
+ font-weight: 700;
+ color: #0f1115;
+}
+
+.hero h1 {
+ margin: 0;
+ font-size: 28px;
+}
+
+.tagline {
+ color: var(--muted);
+ margin-top: 4px;
+}
+
+.card {
+ background: var(--card);
+ border: 1px solid var(--border);
+ border-radius: 12px;
+ padding: 24px;
+ margin-bottom: 20px;
+}
+
+.card h2 {
+ margin-top: 0;
+ font-size: 16px;
+ text-transform: uppercase;
+ letter-spacing: 0.06em;
+ color: var(--accent);
+}
+
+.skills {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px;
+}
+
+.skills li {
+ background: var(--bg);
+ border: 1px solid var(--border);
+ border-radius: 999px;
+ padding: 6px 14px;
+ font-size: 14px;
+}
+
+.projects {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ display: grid;
+ gap: 10px;
+}
+
+.projects li {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ font-size: 14px;
+}
+
+.dot {
+ width: 8px;
+ height: 8px;
+ border-radius: 50%;
+ background: var(--accent);
+ flex-shrink: 0;
+}
+
+footer {
+ text-align: center;
+ color: var(--muted);
+ font-size: 13px;
+ margin-top: 32px;
+}