GoCron#
A powerful task scheduler and automation platform built with Go and Vue.js
GoCron is actively used in production environments for automated backups, DevOps tasks, and system maintenance.
GoCron provides a modern web interface for managing recurring jobs, executing commands, and monitoring task execution in real-time. Define all your automation tasks in a simple YAML configuration file and let GoCron handle the rest.
Key Features#
- YAML-Based Configuration — Define jobs, schedules, and environment variables in maintainable YAML
- Cron Scheduling — Full support for cron expressions for precise timing
- Real-Time Monitoring — Beautiful Vue.js dashboard with live updates via Server-Sent Events
- Job Management — Start, stop, enable/disable jobs individually or in bulk
- Execution History — View detailed logs and execution history for every run
- Terminal Interface — Built-in terminal for ad-hoc commands with history
- Pre-installed Backup Tools — Ships with BorgBackup, Rclone, Restic, Rdiff-backup, and more
- Environment Variables — Job-specific environment configuration
- Healthcheck Integration — Support for external healthcheck services
- REST API — Full-featured API with OpenAPI documentation
- Live Reload — Configuration changes apply automatically without restart
Architecture#
- Backend: Go with Echo framework, SQLite for persistence
- Frontend: Vue 3 with TypeScript, Vite, and Tailwind CSS (DaisyUI)
- Scheduler: Robust cron library for reliable execution
- Real-time: Server-Sent Events for instant UI updates
Use Cases#
Perfect for automated backups, DevOps tasks, data processing, monitoring, and system housekeeping. Whether you need to schedule Docker container updates, run periodic data migrations, or automate log rotation — GoCron has you covered.
Source: https://github.com/flohoss/gocron
Mittagskarte#
Intelligent web scraper and aggregator for restaurant lunch menus
Running at schniddzl.de, serving the Stuttgart region with automated menu updates.
Mittagskarte automatically fetches, processes, and displays restaurant lunch menus in a beautiful, mobile-friendly interface. It scrapes restaurant websites on a configurable schedule and presents everything in one convenient location.
Key Features#
- Automated Menu Fetching — Scrapes restaurant websites using Playwright browser automation
- Multiple Extraction Methods:
- Direct PDF downloads
- Image extraction via CSS/XPath selectors
- HTML content scraping
- Dynamic date placeholders for weekly menus
- Intelligent Processing:
- Converts all menus to optimized WebP format
- Automatically resizes images to 1920px width for faster loading
- Handles both PDF and image formats seamlessly
- Smart landscape/portrait detection
- Manual Upload Support — API endpoint for restaurants to upload menus directly
- Modern Web Interface:
- Built with Go templates (templ) and HTMX
- Responsive Tailwind CSS design
- Favorites system with cookie persistence
- Real-time loading indicators
- Accessibility-focused with ARIA labels
How It Works#
- Configuration — Define restaurants in YAML with scraping instructions
- Scheduled Execution — Cron jobs trigger menu fetching at specified times
- Web Scraping — Playwright navigates sites and extracts menu content
- Image Processing — ImageMagick converts and optimizes to WebP
- Serving — Fast Go/Echo web server with aggressive caching
Dynamic Date Placeholders#
A unique feature for matching weekly menus:
locator: "//div[@class='calendar']//span[text()='{{date(format=02.01.2006, day=friday, offset=-1)}}']"This matches elements containing dates like “last Friday” — perfect for restaurants with weekly schedules.
Website: https://schniddzl.de
Source: https://github.com/flohoss/mittagskarte
GoDash#
A simple, customizable dashboard written in Go. It provides an overview of weather information, system status, and bookmarks with icons and links.
Source: https://github.com/flohoss/godash
Quiz#
A modern, full-stack quiz platform built with Go (backend) and Vue 3 (frontend), designed for easy deployment via Docker.
Source: https://github.com/flohoss/quiz
