Cronmaster: Streamlined Self-Hosted Cron and Script Management with a Clean UI

self-hosted web tools

Cronmaster: a self-hosted web UI for managing cron jobs and scripts. Built with Next.js, TypeScript, and Docker for quick, efficient server task automation.

By Jeremy{.original}

Hello! I'm Jeremy, the creative force behind Noted. With a blend of self-taught expertise in homelab tech and professional experience with Docker, I'm eager to connect with fellow innovators.

November 13, 2025 • 3 min read


If you've ever found yourself SSH'ing into a server just to adjust a crontab entry, deciphering cryptic asterisk syntax, or gingerly copy-pasting a script into a bin folder hoping it executes, then Cronmaster is designed to significantly streamline that entire experience.

SPONSORED BY PikaPods

What is Cronmaster?

Cronmaster offers a clean, responsive web interface for efficiently managing cron jobs and executable scripts directly on your host machine. Built with Next.js, TypeScript, and Tailwind, it's packaged as a Docker container, making it surprisingly easy to integrate into your homelab setup.

Key Features:

  • Cron Job Management: View, create, clone, and delete cron jobs. Add clear descriptions and utilize quick presets for common scheduling needs.
  • Script Management: Develop, edit, clone, and store Bash scripts directly within the UI. These scripts can then be executed via cron entries, with helpful snippets available for easier composition.
  • System Information: Instantly view essential system details like hostname, IP address, uptime, memory, CPU, and GPU information, eliminating the need to frequently switch to the command line.
  • Container Packaging: Designed with Docker-first deployment in mind, offering options for host socket, host PID, persistent data mounts, and multi-architecture images.

Cronmaster Installation with Docker

Here’s a concise and practical Docker Compose setup to get Cronmaster running:

version: "3.8"
services:
  cronmaster:
    image: fccview/cronmaster:latest
    container_name: cronmaster
    ports:
      - "3000:3000"
    environment:
      - AUTH_PASSWORD=yourpassword
      - HOST_PROJECT_DIR=/data/scripts
      - HOST_CRONTAB_USER=root
    volumes:
      - /your/host/scripts:/data/scripts
      - /etc/crontab:/etc/crontab:ro
      - /etc/cron.d:/etc/cron.d:ro
      - /var/spool/cron:/var/spool/cron
    pid: "host"
    privileged: true

Remember to replace /your/host/scripts with the actual path on your host machine where you want your scripts to reside.

After configuring, simply run:

docker-compose up -d

That's it! Your web UI for cron jobs will be accessible at http://localhost:3000.

Tradeoffs and Operational Notes

While Cronmaster offers immense convenience, it's important to be aware of certain operational considerations:

  • Privilege Model: For real-time crontab edits, the application running within a Docker container requires root access and direct file system access to the host. This provides powerful functionality and convenience but introduces host security considerations.
  • Data Location: Scripts created through the UI are stored within the configured project directory. Moving this folder will invalidate any crontab entries that reference these UI-managed paths.
  • Host Parity: Commands that execute successfully as root on the host machine might fail when run through the container if environmental conditions (like PATH variables or available executables) are not perfectly matched. The project repository encourages users to report such edge cases.

Who Should Use Cronmaster?

Cronmaster is an excellent tool for:

  • Homelab operators and small server administrators seeking a visual, low-friction method to manage scheduled tasks and test scripts.
  • Teams that benefit from a clear UI for cron audits and the quick cloning of similar jobs.

Avoid Cronmaster if strict least privilege policies are a mandatory requirement, unless you opt to run the application directly on the host machine, outside of a Docker container.

Final Notes and Thoughts

As highlighted, there are tradeoffs. Running Cronmaster in a container necessitates root access and host mounts to enable real-time crontab modifications. This capability is powerful but may not align with highly hardened security environments. For those prioritizing stricter isolation, Cronmaster can be run directly on the host using yarn install and start. Additionally, remember that scripts created via the UI are linked to a fixed path; relocating this folder will break associated jobs. The author actively encourages reporting any commands that work on the host but fail when executed through the Cronmaster application.

Be sure to give the Cronmaster project a star on its Github repo!