← All Projects

Personal Portfolio Website (skylargutman.com)

Django Python Gunicorn Nginx Oracle Cloud Cloudflare Tailwind CSS Linux systemd SQLite
Personal Portfolio Website (skylargutman.com)
This site is itself a project. Rather than using a website builder or hosted platform, it was built ground-up as a full production Django deployment — both as a portfolio showcase and as hands-on practice with the Linux server stack. Infrastructure The server runs on Oracle Cloud's Ampere A1 ARM instance, part of Oracle's always-free tier offering 4 OCPUs and 24GB RAM at no cost. Ubuntu 22.04 LTS was configured from scratch — iptables firewall rules, OCI Security List ingress rules, system users, and directory permissions all configured manually. Application Stack Django 5.2 serves the application through Gunicorn running as a systemd service communicating over a Unix socket. Nginx acts as the reverse proxy and serves static files directly, bypassing Gunicorn for performance. Tailwind CSS via CDN handles styling with no build toolchain required. DNS and SSL The domain is registered at Namesilo with DNS managed through Cloudflare. Cloudflare proxies all traffic, providing SSL termination, DDoS protection, and caching while hiding the origin server IP. Email forwarding MX records were preserved through the DNS migration. Content Management Projects are managed through Django's built-in admin interface using a custom Project model with fields for title, slug, short and long descriptions, tech stack tags, thumbnail images, video embeds, GitHub links, and featured/ordering flags. No third-party CMS required. Security Secret key and debug flag are stored in a .env file excluded from version control via .gitignore. CSRF trusted origins are configured for Cloudflare's HTTPS proxy. DEBUG is set to False in production. Source code available on GitHub.
View on GitHub →