An app lets you schedule messages to be sent at specific time.
211
Welcome to the Message Scheduler! This app lets you schedule messages to be sent at specific times, with options for repeating intervals. It's perfect for reminders, notifications, and more!
This project is a message scheduling application built using Flask, SQLite, jQuery, and Bootstrap. It allows users to schedule messages, manage servers and topics, and view sent and scheduled messages.
This guide will help you set up and run the Message Scheduler Application using Docker and Docker Compose. Follow the steps below to get your application up and running in your home lab.
Make sure you have Docker and Docker Compose installed on your machine.
.
├── Dockerfile
├── app
│ ├── main.py
│ ├── scheduler.py
│ ├── database.py
│ ├── templates
│ │ └── index.html
│ ├── static
│ ├── css
│ │ └── styles.css
│ ├── js
│ │ └── scripts.js
└── README.md
Build the Docker images:
podman build -t ntfy-scheduler .
Run the Docker containers:
podman run -d -p 5000:5000 --rm --name ntfy-scheduler localhost/ntfy-scheduler:latest
This command will start the application and the database service. The web application will be available at http://localhost:5000.
Stopping the containers:
podman stop ntfy-scheduler
Clone the repository:
git clone https://github.com/savitojs/ntfy-scheduler.git
cd ntfy-scheduler
Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate
Install the required dependencies:
pip install -r requirements.txt
Run the application:
bash entrypoint.sh
Open your web browser and go to http://localhost:5000.
Here’s a quick tour of the files and what they do:
main.pydatabase.pyscheduler.pytemplates/index.htmlstatic/js/scripts.jsstatic/css/styles.cssHere’s a quick rundown of the API endpoints and what they do:
POST /schedulemessage, datetime, server, topicinterval, custom_days, timezone, header_title, header_priority, header_tagsGET /scheduledGET /sentDELETE /delete/<int:id>PUT /edit/<int:id>message, datetime, server, topic, interval, custom_days, timezone, headersGET /topicsPOST /add_topicnameDELETE /delete_topic/<int:id>GET /serversPOST /add_serveraddressDELETE /delete_server/<int:id>GET /default_serverPOST /set_default_serverserverGET /default_topicPOST /set_default_topictopicSchedule a Message: Fill out the form on the main page to schedule a new message. You can set a specific time and choose if the message should repeat.
View Scheduled Messages: Click on "View Scheduled Messages" to see all messages that are scheduled to be sent.
View Sent Messages: Click on "View Sent Messages" to see all messages that have been sent.
Manage Topics: Click on "Manage Topics" to add or delete topics.
Manage Servers: Click on "Manage Servers" to add or delete servers.
Feel free to fork the repository and submit pull requests. I appreciate any contributions to make this project better!
This project is licensed under the MIT License. See the LICENSE file for more details.
Enjoy scheduling your messages with our awesome app! 🚀
Content type
Image
Digest
sha256:0051c2c15…
Size
358.1 MB
Last updated
about 2 years ago
docker pull savitojs/ntfy-scheduler