A custom, web-based Front-end interface for your static Hugo website.
- 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.
- 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:
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:
- Start the production server:
The application will be running on http://localhost:3000.
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.
Update your GitHub OAuth App's "Authorization callback URL" to your production domain:
https://your-domain.com/api/auth/callback/github
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_secretStart the application in the background:
docker-compose up -d --buildThis will expose the app on port 3000 of your host machine.
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!
+++