Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/apvarun/my-sky
Schedule posts to your Bluesky account with Cloudflare workers
https://github.com/apvarun/my-sky
bluesky bluesky-social cloudflare scheduler worker
Last synced: about 1 month ago
JSON representation
Schedule posts to your Bluesky account with Cloudflare workers
- Host: GitHub
- URL: https://github.com/apvarun/my-sky
- Owner: apvarun
- License: mit
- Created: 2024-12-15T07:35:21.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-12-15T17:54:27.000Z (about 1 month ago)
- Last Synced: 2024-12-15T18:34:00.238Z (about 1 month ago)
- Topics: bluesky, bluesky-social, cloudflare, scheduler, worker
- Language: TypeScript
- Homepage:
- Size: 56.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# My Sky
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![GitHub stars](https://img.shields.io/github/stars/apvarun/my-sky.svg?style=social&label=Stars)](https://github.com/apvarun/my-sky)
[![GitHub issues](https://img.shields.io/github/issues/apvarun/my-sky.svg)](https://github.com/apvarun/my-sky/issues)
[![Deploy to Cloudflare Workers](https://img.shields.io/badge/deploy-cloudflare_workers-F38020?logo=cloudflareworkers)](https://deploy.workers.cloudflare.com/?url=https://github.com/apvarun/my-sky)## Overview
My Sky is a lightweight Cloudflare Workers-based application that allows you to schedule posts to your Bluesky account effortlessly. Perfect for content creators and social media managers who want to plan their social media content in advance.
## Features
- **Bluesky Post Scheduling**: Schedule multiple posts to your Bluesky account
- **Hourly Time Slots**: Time selection is limited to hourly intervals to optimize worker execution and reduce unnecessary runs
- **Free Cloudflare Workers Deployment**: Utilize the free tier for hosting your scheduler
- **Simple and Lightweight**: Minimal setup and easy to use## Getting Started
### Prerequisites
- Node.js (v20.x or later)
- Package Manager (pnpm)
- Cloudflare Workers account### Installation
1. Clone the repository
```bash
git clone https://github.com/apvarun/my-sky.git
cd my-sky
```2. Copy environment variables template
```bash
cp .dev.vars.example .dev.vars
```3. Configure your `.dev.vars` file with the following environment variables:
- `BSKY_USERNAME`: Your Bluesky account identifier
- `BSKY_PASSWORD`: Your Bluesky account password
- `AUTH_PASSWORD`: A secure password for authentication
- `JWT_SECRET`: A secret key used for generating JWT tokens (You can create a secret using `openssl rand -hex 32` or from [JwtSecret](https://jwtsecret.com/generate) website)Note: When deploying, these variables should also be configured in your Cloudflare worker dashboard.
4. Install dependencies
```bash
npm install
```5. Run the development server
```bash
npm run dev
```6. Deploy the application to Cloudflare Workers. You might need to login to your Cloudflare account if you haven't already.
```bash
npm run deploy
```## Configuration
### Environment Variables
Ensure you have configured the `.dev.vars` file with the necessary credentials and settings. The file is git-ignored to protect your sensitive information.
## Project Structure
```
my-sky/
├── src/
│ ├── db/
│ ├── layout/
│ ├── pages/
│ └── utils/
├── migrations/
├── .dev.vars
├── drizzle.config.ts
├── package.json
└── wrangler.toml
```## Contributing
We welcome contributions!
### Ways to Contribute
- Report bugs
- Suggest enhancements
- Submit pull requests
- Improve documentation## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Cloudflare Workers
- Bluesky Social## Support
If you encounter any problems, please [open an issue](https://github.com/apvarun/my-sky/issues) on GitHub.
---