Skip to content

scidsg/mastodon-scheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ—“๏ธ Mastodon Scheduler

This project is a Flask-based web application that allows users to post statuses (toots) to Mastodon. It supports both immediate posting and scheduling posts for future times. It also includes image upload functionality.

Easy Install

curl https://raw.githubusercontent.com/scidsg/mastodon-scheduler/main/install.sh | bash

cover

Features

  • Post Immediately: Send toots to Mastodon right away.
  • Schedule Posts: Plan your posts for future dates and times.
  • Upload Images: Attach images to your toots with ease.
  • Content Warnings: Add content warnings to your posts for sensitive or spoiler content.
  • Image Alt Text: Provide alternative text for images, enhancing accessibility.
  • View Scheduled Posts: Review all your scheduled posts in one place.
  • Cancel Scheduled Posts: Cancel scheduled posts before publication.

Love E-Paper?

Waveshare's 2.13" e-paper display is supported!

Easy Insall

curl https://raw.githubusercontent.com/scidsg/mastodon-scheduler/main/setup_display.sh | bash

IMG_8299

Prerequisites

Before you begin the installation of Mastodon Scheduler, ensure you have:

  • Linux Environment: A compatible Linux operating system. The installation script is tailored for Debian-based distributions (e.g., Ubuntu).
  • Root Access: The script requires root privileges to install necessary packages and perform configurations.
  • Internet Connection: An active internet connection to download required packages and dependencies.
  • Mastodon Account: A Mastodon account and your generated API credentials (Client Key, Client Secret, Access Token) with the following scopes:
    • read:accounts
    • read:statuses
    • write:media
    • write:statuses
    • crypto

Installation

To install the Mastodon App, follow these steps:

  1. Run the easy installer command:
curl https://raw.githubusercontent.com/scidsg/mastodon-scheduler/main/install.sh | bash

or

  1. Clone the repository:
git clone https://github.com/scidsg/mastodon-scheduler.git
  1. Navigate to the project directory:
cd mastodon-scheduler
  1. Make the installer executable:
chmod +x install.sh
  1. Run the installation script:
./install.sh

This script will set up a Python virtual environment, install necessary dependencies, create a Flask app, and set up a systemd service for the app.

Usage

After installation, the Mastodon App will run as a service on your machine. You can access the web interface by navigating to https://mastodon-scheduler.local:5000 in your web browser.

To post a status or schedule a post, fill in the form on the main page and submit.

Contributing

Contributions to this project are welcome. To contribute, please follow these steps:

  1. Fork this repository.
  2. Create a branch: git checkout -b <branch_name>.
  3. Make and commit your changes: git commit -m '<commit_message>'.
  4. Push to the original branch: git push origin <project_name>/<location>.
  5. Create the pull request.

Alternatively, see the GitHub documentation on creating a pull request.

Contact

If you have any questions or feedback, please get in touch with me at mastodon@scidsg.org.