Show HN: Git-based front-end interface for Hugo
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.
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
- Set up your
.env.localfile:
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_random_secret_here
GITHUB_ID=your_github_oauth_id
GITHUB_SECRET=your_github_oauth_secret
- 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:
- Ensure your
.env.localis configured with your production keys and URL. - Build the optimized production bundle:
npm run build
- 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: Gitdot – a better GitHub. Open-source, anti-AI, and written in Rust
Gitdot is an open-source, anti-AI Git hosting platform written in Rust, presented as a better alternative to GitHub.
Hacker News front page as a site
A site that displays the current Hacker News front page with links to stories and comments.
FlowG v0.59.0 is out, with Dark Mode support
FlowG v0.59.0 is released with dark mode support as part of a frontend redesign, moving from Tailwind CSS to React MUI.
Show HN: Codiff, a local diff review tool
Codiff is a minimal, local diff viewer for reviewing staged and unstaged Git changes, with LLM-powered walkthroughs and inline review comments.
Show HN: Git for AI Agents
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.