Configuration Reference
This guide covers all configuration options for AetherPost OSS.
Configuration Files
AetherPost uses several configuration files:
``
~/.aetherpost/ # User configuration directory
├── config.yaml # Main configuration
├── credentials.json # Encrypted API keys
├── usage.json # Usage tracking (OSS limits)
└── logs/ # Application logs
./campaign.yaml # Project-specific campaign
./.env.aetherpost # Environment variables
`
Campaign Configuration
Basic Structure
`yaml
campaign.yaml - Minimal example
name: "my-awesome-app"
concept: "AI-powered task manager"
platforms: [twitter, bluesky]
content:
style: casual
action: "Try it free!"
`
Complete Example
`yaml
campaign.yaml - Complete example
name: "taskmaster"
concept: "AI-powered task manager that learns your work patterns"
url: "https://taskmaster.app"
version: "2.1.0"
Target platforms
platforms:
- twitter
- bluesky
- mastodon
Content configuration
content:
style: casual # casual, professional, technical, humorous
action: "Try it free!" # Call-to-action
hashtags: # Optional hashtags
- "productivity"
- "AI"
- "opensource"
# Platform-specific overrides
twitter:
style: professional
max_length: 280
bluesky:
style: casual
include_url: true
Scheduling
schedule:
timezone: "UTC"
times:
- "09:00" # 9 AM
- "15:00" # 3 PM
frequency: daily # daily, weekly, manual
Media (OSS: basic only)
media:
generate: false # Auto-generate images
path: "./images" # Custom image directory
Analytics (OSS: basic only)
analytics:
enabled: true
track_engagement: true
export_format: json
Advanced options
advanced:
dry_run: false
backup_posts: true
review_required: true
`
Environment Variables
Required API Keys
`bash
AI Providers (choose one or both)
OPENAI_API_KEY="sk-..." # OpenAI GPT models
AI_API_KEY="sk-ant-..." # AI Provider
Social Media Platforms
TWITTER_API_KEY="..."
TWITTER_API_SECRET="..."
TWITTER_ACCESS_TOKEN="..."
TWITTER_ACCESS_TOKEN_SECRET="..."
BLUESKY_HANDLE="user.bsky.social"
BLUESKY_PASSWORD="..."
MASTODON_ACCESS_TOKEN="..."
MASTODON_API_BASE_URL="https://mastodon.social"
`
Optional Configuration
`bash
AetherPost Configuration
AETHERPOST_EDITION="oss" # oss or enterprise
AETHERPOST_CONFIG_DIR="~/.aetherpost"
AETHERPOST_LOG_LEVEL="INFO" # DEBUG, INFO, WARNING, ERROR
AETHERPOST_CACHE_DIR="~/.aetherpost/cache"
Security
AETHERPOST_ENCRYPT_CREDENTIALS="true"
AETHERPOST_MASTER_KEY="..." # For credential encryption
`
User Configuration
~/.aetherpost/config.yaml
`yaml
Global user configuration
user:
name: "Your Name"
email: "your@email.com"
timezone: "UTC"
Default preferences
defaults:
platforms: [twitter]
style: casual
ai_provider: openai
review_required: true
AI Configuration
ai:
provider: openai # openai, custom
model: gpt-4 # Model to use
temperature: 0.7 # Creativity (0.0-1.0)
max_tokens: 500 # Response length
# Provider-specific settings
openai:
model: "gpt-4"
temperature: 0.7
custom:
model: "ai-model-v3-20240229"
max_tokens: 1000
Platform defaults
platforms:
twitter:
style: professional
include_hashtags: true
max_length: 280
bluesky:
style: casual
include_url: true
mastodon:
style: technical
include_hashtags: true
OSS Edition Limits (read-only)
limits:
max_platforms: 3
max_posts_per_day: 50
max_campaigns: 5
features:
advanced_analytics: false
autopilot: false
team_management: false
Logging
logging:
level: INFO
file: "~/.aetherpost/logs/aetherpost.log"
max_size: "10MB"
backup_count: 5
`
Platform-Specific Configuration
Bluesky (Recommended - Free)
`yaml
bluesky:
style: casual
include_url: true
include_preview: true
max_length: 300
# Moderation
content_filter: moderate
`
Twitter/X (Requires Paid Plan - $100/month minimum)
`yaml
twitter:
style: professional
max_length: 280
include_hashtags: true
thread_support: false # Enterprise only
auto_reply: false # Enterprise only
# Rate limiting
rate_limit:
posts_per_hour: 10
posts_per_day: 50
`
⚠️ Note: Twitter/X now requires a paid API plan. Consider using Bluesky for free social media automation.
Mastodon
`yaml
mastodon:
instance: "mastodon.social"
style: technical
visibility: public # public, unlisted, private
sensitive: false
spoiler_text: ""
`
Content Templates
Style Configuration
`yaml
content:
styles:
casual:
tone: friendly
emoji_usage: moderate
formality: low
professional:
tone: authoritative
emoji_usage: minimal
formality: high
technical:
tone: informative
emoji_usage: rare
formality: medium
technical_terms: encouraged
humorous:
tone: playful
emoji_usage: high
formality: low
humor_type: light
`
Content Types
`yaml
content:
types:
announcement:
template: "Exciting news! {concept}. {action}"
platforms: [twitter, bluesky]
feature_update:
template: "New in v{version}: {description}. {action}"
hashtags: ["update", "features"]
maintenance:
template: "Scheduled maintenance for {name}. {details}"
style: professional
`
Command-Line Configuration
Global Options
`bash
Configuration file location
aetherpost --config=/path/to/config.yaml
Verbose output
aetherpost --verbose plan
Dry run mode
aetherpost --dry-run apply
Specific platform
aetherpost --platform=twitter now "Hello world"
`
Environment Override
`bash
Override AI provider
AETHERPOST_AI_PROVIDER=custom aetherpost plan
Override log level
AETHERPOST_LOG_LEVEL=DEBUG aetherpost apply
`
Security Configuration
Credential Encryption
`yaml
security:
encrypt_credentials: true
master_key_file: "~/.aetherpost/master.key"
key_rotation_days: 90
# Backup
backup_encrypted: true
backup_location: "~/.aetherpost/backups"
`
Rate Limiting
`yaml
rate_limiting:
enabled: true
# Global limits (OSS)
daily_posts: 50
hourly_posts: 10
# Per-platform limits
twitter:
posts_per_hour: 5
posts_per_day: 20
bluesky:
posts_per_hour: 10
posts_per_day: 30
`
Validation
Configuration Validation
`bash
Validate campaign configuration
aetherpost validate campaign.yaml
Validate user configuration
aetherpost validate --config
Check API key setup
aetherpost auth test
`
Schema
AetherPost validates configuration against JSON schemas:
`bash
Check schema compliance
aetherpost validate --schema campaign.yaml
Generate sample configuration
aetherpost init --sample > sample-campaign.yaml
`
Migration
From v1.x to v2.x
`bash
Backup current configuration
cp -r ~/.aetherpost ~/.aetherpost.backup
Run migration
aetherpost migrate --from=1.x --to=2.x
Verify migration
aetherpost validate --config
`
Troubleshooting
Common Issues
1. Invalid Configuration
`bash
aetherpost validate campaign.yaml
`
2. Missing API Keys
`bash
aetherpost auth setup
`
3. Permission Issues
`bash
chmod 600 ~/.aetherpost/credentials.json
`
4. Platform Limits
`bash
aetherpost stats --usage
`
Debug Mode
`bash
Enable debug logging
export AETHERPOST_LOG_LEVEL=DEBUG
aetherpost plan
Check configuration loading
aetherpost debug config
Test platform connections
aetherpost debug platforms
``