1b07a1119a2b21fe55c0bf0a47f6e3c27c67cb98
Multi-stage build (node:22-alpine -> nginx:1.27-alpine). Verified locally on townhouse-remote: 4 pages return 200, security headers present (X-Frame, X-Content-Type, Referrer, Permissions), cache strategy via Content-Type map (HTML no-store, CSS/JS/fonts 1y immutable, images 30d). Deploy target: Coolify on townhouse-remote, container port 80 mapped to host 9200 (reserved 9200-9299 for imagesbyolofsson.se stack). Includes: - Dockerfile Multi-stage build with healthcheck - nginx.conf Content-type-driven cache + security headers - .dockerignore Excludes node_modules, .git, dist, .astro
Images by Olofsson
A modern, responsive photography portfolio website built with Astro, Tailwind CSS, and advanced animations.
Features
Modern design with minimalist aesthetics and focus on imagery. Advanced animations including wave effects, 3D scroll transforms, and smoke particles. Fully responsive across all devices with optimized performance.
Quick Start
Prerequisites
Node.js 18.0 or higher
Installation
git clone https://github.com/Images-by-Olofsson/homepage.git
cd homepage
npm install
Development
npm run dev
Build
npm run build
npm run preview
Project Structure
src/
├── assets/
├── components/
│ ├── WaveBackground.astro
│ ├── ThreeDScroll.astro
│ ├── FloatingOrbs.astro
│ └── Welcome.astro
├── layouts/
│ ├── MainLayout.astro
│ └── Layout.astro
├── pages/
│ ├── index.astro
│ ├── portfolio.astro
│ ├── about.astro
│ └── contact.astro
└── styles/
└── global.css
Technologies
Astro, Tailwind CSS, TypeScript, Exifr
License
MIT License - see LICENSE file for details
Built by Linus Olofsson
Languages
Astro
65.4%
TypeScript
24.4%
JavaScript
4.4%
Shell
3.1%
Vim Snippet
2.2%
Other
0.4%


