Privacy-first, self-hosted social media manager for feeds, cross-posting, scheduling, media, drafts, and local AI assistance across major platforms. NO FEATURE PAYWALL
|
|
2 месяцев назад | |
|---|---|---|
| .github | 1 год назад | |
| services | 2 месяцев назад | |
| ui | 2 месяцев назад | |
| .env.example | 2 месяцев назад | |
| .gitignore | 2 месяцев назад | |
| LICENSE.txt | 1 год назад | |
| README.md | 2 месяцев назад | |
| docker-compose.yml | 2 месяцев назад | |
| nginx.conf | 2 месяцев назад | |
| package-lock.json | 2 лет назад | |
| socialMediaManager.png | 2 лет назад |
A self-hosted, local-first social media management platform. Aggregate feeds from all your platforms, compose and cross-post content, schedule posts, and get AI-powered suggestions — all from one dashboard.
| Layer | Technology |
|---|---|
| Frontend | Vue 3, TypeScript, Vite, Tailwind CSS, Pinia, Vue Router, vue-i18n |
| API Gateway | Node.js / Fastify |
| Message Broker | RabbitMQ |
| Database | MongoDB |
| Job Queue | Redis + BullMQ |
| AI Service | Python / HappyTransformer (T5) |
| Platform SDKs | twitter-api-v2, masto, @atproto/api |
| Reverse Proxy | Nginx |
| Containerization | Docker Compose |
| Service | Port | Description |
|---|---|---|
nginx |
8081 | Reverse proxy — main entry point |
ui |
— | Vue 3 frontend (Vite dev server) |
gateway |
8084 | REST API gateway |
socket |
8085 | WebSocket server (real-time feed updates) |
formatter |
— | Platform-specific content formatter |
ai-grammar-correction |
— | AI grammar correction (T5) |
feed-aggregator |
3010 | Pulls feeds from all platforms periodically |
scheduler |
3011 | Scheduled post management (BullMQ) |
twitter |
3001 | Twitter/X integration |
linkedin |
3002 | LinkedIn integration |
mastodon |
3003 | Mastodon integration |
bluesky |
3004 | Bluesky (AT Protocol) integration |
mongodb |
27018 | Database |
redis |
6379 | Cache & job queue |
messageBroker |
5672 / 15672 | RabbitMQ (+ management UI) |
git clone https://github.com/mehmetkirkoca/social-media-manager.git
cd social-media-manager
cp .env.example .env
Edit .env and fill in your API credentials for the platforms you want to use. You can start with just Mastodon or Bluesky — both have free, open APIs.
# Mastodon (easiest — get token from instance Settings > Development)
MASTODON_INSTANCE_URL=https://mastodon.social
MASTODON_ACCESS_TOKEN=your_token_here
# Bluesky (use an App Password from Settings > App Passwords)
BLUESKY_IDENTIFIER=yourhandle.bsky.social
BLUESKY_APP_PASSWORD=your_app_password_here
docker compose up -d
Open http://localhost:8081 in your browser.
| Platform | API Cost | Feed | Post | Notes |
|---|---|---|---|---|
| Mastodon | Free | ✅ | ✅ | Easiest — open REST API |
| Bluesky | Free | ✅ | ✅ | App Password auth, no OAuth needed |
| Free | ✅ | ✅ | Register an app at reddit.com/prefs/apps | |
| Twitter/X | Paid ($100/mo Basic) | ⚠️ | ✅ | Free tier very limited |
| Free | ⚠️ | ✅ | Personal feed read not available via API | |
| Free | ⚠️ | ⚠️ | Business/Creator account required | |
| YouTube | Free | ✅ | ❌ | Subscription feed read-only |
ui/src/locales/xx.ts (copy en.ts and translate)In ui/src/locales/index.ts:
import xx from './xx'
// Add to messages: { en, tr, xx }
// Add to SUPPORTED_LOCALES: { code: 'xx', label: '...', flag: '🇽🇽' }
Done — language will appear in the NavBar dropdown automatically
services/{platform}/ with index.js, package.json, DockerfileBasePlatformService and implement fetchFeed(), publishPost(), getStatus()docker-compose.ymlfeed-aggregator and scheduler environment variablesui/src/stores/platforms.ts.
├── services/
│ ├── utils/ # Shared: RabbitMQ, MongoDB, BasePlatformService
│ ├── gateway/ # API gateway
│ ├── socket/ # WebSocket server
│ ├── formatter/ # Content formatter
│ ├── ai_grammar_correction/
│ ├── feed-aggregator/
│ ├── scheduler/
│ ├── twitter/
│ ├── linkedin/
│ ├── mastodon/
│ └── bluesky/
├── ui/
│ └── src/
│ ├── views/ # Dashboard, Compose, Scheduler, Settings
│ ├── components/
│ ├── stores/ # Pinia: feed, compose, platforms
│ ├── locales/ # i18n: en, tr
│ └── router/
├── docs/ # Architecture, roadmap, platform guides (gitignored)
├── docker-compose.yml
├── nginx.conf
└── .env.example