# wihan.dev > The portfolio and documentation site of Wihan Uys (github.com/vanillauys): Terraform providers for Dokploy and Clerk, a self-hosted deploy stack, a Factorio server, and live configs. Every page under /projects, /writing, and /docs has a markdown twin: append .md to the URL. Each project page has a "For agents" section with the exact endpoints, install snippets, and known traps. ## Projects - [terraform-provider-dokploy](https://dev.wihan.dev/projects/terraform-provider-dokploy.md): Terraform provider for the Dokploy PaaS. Projects, environments, applications, compose stacks, databases, domains, backups. - [terraform-provider-clerk](https://dev.wihan.dev/projects/terraform-provider-clerk.md): Terraform provider for Clerk. JWT templates, restrictions, API keys, machines, domains, webhooks, organizations, SSO. - [factorio-server](https://dev.wihan.dev/projects/factorio-server.md): Headless Factorio behind Factorio Server Manager, deployed as a Dokploy compose stack from Terraform. - [weather-app](https://dev.wihan.dev/projects/weather-app.md): An animated weather station. SvelteKit 2, Svelte 5 runes, GSAP; the server keeps the OpenWeather key private. - [wihan.dev](https://dev.wihan.dev/projects/wihan-dev.md): This site and the Terraform that runs it. Astro on Bun behind Dokploy; DNS and email on Cloudflare. - [nixconf](https://dev.wihan.dev/projects/nixconf.md): The machine flake for "ripple". NixOS, declarative down to the dotfiles. - [embedded_systems](https://dev.wihan.dev/projects/embedded-systems.md): ESP32 fundamentals in C, one branch per step. Dormant. ## Terraform provider docs Synced from the provider repos on every release. Registry sources: vanillauys/dokploy, vanillauys/clerk. - [Dokploy provider](https://dev.wihan.dev/docs/dokploy.md): provider configuration, resources, data sources, guides - [Dokploy getting started](https://dev.wihan.dev/docs/dokploy/guides/getting-started.md) - [Clerk provider](https://dev.wihan.dev/docs/clerk.md): provider configuration, resources, data sources, guides - [Clerk getting started](https://dev.wihan.dev/docs/clerk/guides/getting-started.md) Per-page pattern: https://dev.wihan.dev/docs//resources/.md and https://dev.wihan.dev/docs//data-sources/.md. ## Writing - [Running a Factorio server with Factorio Server Manager and Docker](https://dev.wihan.dev/writing/factorio-server-manager-docker.md): One container, one compose file, and a web UI for mods, saves, and restarts. No SSH required to feed the factory. - [Managing Dokploy with a Terraform provider](https://dev.wihan.dev/writing/managing-dokploy-with-terraform.md): The whole stack behind this site is one Terraform repo - project, environments, apps, domains, DNS - and the goal state is an empty plan. - [Setting up a secure VPS](https://dev.wihan.dev/writing/setting-up-a-secure-vps.md): One server, two open ports, and no SSH daemon waiting for company. How the box behind this site is locked down. - [Creating a Dokploy Terraform provider](https://dev.wihan.dev/writing/creating-a-dokploy-terraform-provider.md): What it takes to write a Terraform provider in Go for a young API - and why the acceptance tests talk to a real server. ## Configs (plain text, curl-able) - https://dev.wihan.dev/configs/zsh - zsh config - https://dev.wihan.dev/configs/ideavim - IdeaVim config - https://dev.wihan.dev/games/factorio - Factorio server compose file - https://dev.wihan.dev/games/cs2 - CS2 autoexec - https://dev.wihan.dev/games/practice - CS2 practice config