Show HN: Git-based front-end interface for Hugo

Hacker News Top Tools

Summary

Hugo-Flow is a web-based front-end interface for Hugo static sites, featuring GitHub integration, dual WYSIWYG/Markdown editor, and image uploads via base64.

I built simple Git-based CMS for Hugo static site generators. No backend, no database, no configs. Just login with Github, select your repo and start editing. If you use Hugo for blogging, feel free to check it out at <a href="https:&#x2F;&#x2F;github.com&#x2F;arashthr&#x2F;hugo-flow" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;arashthr&#x2F;hugo-flow</a><p>&gt; Why did you make it? I wanted to be able to write posts on my phone, and it&#x27;s not easy to do that with Markdown. Adding images is also always a headache: copy them, minimize and compress them, remember the correct syntax for images, and type the path.<p>&gt; How did you make it? I used Google Stitch for the design and Antigravity for coding.<p>&gt; What about alternatives? Check out Front-end interfaces page in Hugo website. None of them is as simple and dumb as I wanted.<p>&gt; But is it actually working? It&#x27;s not perfect, but it works well for me. You&#x27;re welcome to open issues if you find problems.
Original Article
View Cached Full Text

Cached at: 05/24/26, 12:39 PM

arashthr/hugo-flow

Source: https://github.com/arashthr/hugo-flow

Hugo-Flow: Git-based Front-end interface for Hugo

A custom, web-based Front-end interface for your static Hugo website.

Features

  • GitHub Integration: Commit files directly to your repository via the GitHub API.
  • Dynamic Configuration: Select your repository and paths dynamically via the UI.
  • Dual Editor Mode: Switch seamlessly between a WYSIWYG Rich Text editor and a raw Markdown editor.
  • Image Uploads: Upload images and have them automatically pushed as base64 blobs alongside your markdown post.

Local Development

  1. Set up your .env.local file:
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_random_secret_here
GITHUB_ID=your_github_oauth_id
GITHUB_SECRET=your_github_oauth_secret
  1. Run the development server:
npm install
npm run dev

Production Deployment (Standard Node.js)

If you are not using Docker, you can run the application directly using Node.js:

  1. Ensure your .env.local is configured with your production keys and URL.
  2. Build the optimized production bundle:
npm run build
  1. Start the production server:
npm start

The application will be running on http://localhost:3000.

Production Deployment (Docker + Caddy)

This application is ready to be deployed using Docker and Docker Compose. It leverages Next.js standalone output for a highly optimized, minimal container size.

1. Update GitHub OAuth App

Update your GitHub OAuth App’s “Authorization callback URL” to your production domain: https://your-domain.com/api/auth/callback/github

2. Set Production Environment Variables

Create a .env file on your server in the same directory as docker-compose.yml:

NEXTAUTH_URL=https://your-domain.com
NEXTAUTH_SECRET=your_secure_random_string (generate via: openssl rand -base64 32)
GITHUB_ID=your_production_github_id
GITHUB_SECRET=your_production_github_secret

3. Run with Docker Compose

Start the application in the background:

docker-compose up -d --build

This will expose the app on port 3000 of your host machine.

4. Setup Caddy Reverse Proxy

If you are using Caddy to serve your domain, simply add this block to your Caddyfile:

your-domain.com {
    reverse_proxy localhost:3000
}

Reload Caddy (caddy reload), and your application will be securely available over HTTPS!

+++

Similar Articles

Show HN: Git for AI Agents

Hacker News Top

re_gent is an open-source version control system for AI agent activity, tracking every tool call and associated prompt so developers can audit and roll back agent changes.