Was this helpful? Support me via buymeacoffee.com and help me create lots more great content!

Adding Myself to IndieDevUse (Without Installing pnpm) Using Docker

Yesterday I stumbled across IndieDevUse, a neat little site that showcases the tools and tech stacks indie developers are using. What caught my attention wasn’t just the content - it was how it was being curated.

IndieDevUse Homepage

Instead of building out the usual register/login flow, IndieDevUse takes a refreshingly open-source approach: if you want to be featured, you submit a pull request. Simple.

I’m guessing part of this choice is to keep the project lightweight and low-maintenance. But more importantly, it feels right for the audience. Most indie devs already have a GitHub account, so there’s no new platform to sign up for. No onboarding funnel. Just fork, edit, PR. It keeps contributors in their natural habitat - inside the code - not filling out forms.

As a backend dev who likes to keep everything in Docker, I didn’t have pnpm installed locally - and wasn’t keen on adding it just for a one-off task. But I still wanted to add my profile to IndieDevUse and run the site to make sure everything looked right.

So, I threw together a quick Dockerfile to handle it.

If you prefer to stay inside Docker too, here’s the Dockerfile I used (added into the frontend folder):

FROM node:24-alpine

# Install necessary packages for building dependencies
RUN apk add --no-cache bash python3 make g++

# Install pnpm globally
RUN npm install -g pnpm

# Set working directory
WORKDIR /app

# Copy package.json and pnpm-lock.yaml first (to leverage Docker cache)
COPY package.json pnpm-lock.yaml* ./

# Install dependencies
RUN pnpm install

# Copy the rest of your application code
COPY . .

# Start dev server
CMD ["pnpm", "run", "dev", "--host"]

Then I built my image

docker build -t indiedevuse/frontend .

And ran it

docker run --rm \
    -p 5176:5176 \
    -v .:/app \
    -v /app/node_modules \
   indiedevuse/frontend

Couple of things to note:

  • The site runs on port 5176, as defined in frontend/vite.config.ts.
  • I’ve mounted /app/node_modules as a Docker volume so it doesn’t get wiped when the container starts.

With that running, I could open http://localhost:5176, browse IndieDevUse locally, make my changes, check everything looked good, and then submit my PR.

Originally published at https://chrisshennan.com/blog/adding-myself-to-indiedevuse-without-installing-pnpm-using-docker