Getting Started¶
Get MyPost running in under 10 minutes.
Prerequisites¶
| Requirement | Version | Notes |
|---|---|---|
| Docker | 24.0+ | With Docker Compose v2 |
| RAM | 4GB+ | 8GB recommended for production |
| Storage | 10GB+ | Depends on media usage |
| Domain | Optional | Required for OAuth callbacks |
Quick Start¶
1. Clone and Configure¶
# Clone the repository
git clone https://github.com/your-org/mypost.git
cd mypost
# Copy environment template
cp .env.example .env
# Generate secure secrets
cat >> .env << 'EOF'
POSTGRES_PASSWORD=$(openssl rand -base64 24)
JWT_SECRET=$(openssl rand -base64 64)
ENCRYPTION_KEY=$(openssl rand -base64 32)
MINIO_ROOT_PASSWORD=$(openssl rand -base64 24)
EOF
# Edit .env with your generated secrets
nano .env
2. Start Services¶
# Start the stack
docker compose up -d
# Verify all services are running
docker compose ps
# Watch logs for startup issues
docker compose logs -f api
3. Initialize Database¶
4. Create Admin Account¶
Navigate to https://your-domain.com/register and create your first user account.
For development only, you can seed demo data:
Demo credentials:
- Email: admin@mypost.local
- Password: admin123
⚠️ Change the password immediately in production!
First-Time Setup¶
Step 1: Create a Workspace¶
- Log in to MyPost
- Go to Settings → Workspaces
- Click Create Workspace
- Enter name (e.g., "My Agency")
Step 2: Create a Brand¶
- Navigate to your workspace
- Click Add Brand
- Enter brand name and upload logo
Step 3: Connect Social Accounts¶
- Go to Brand → Social Accounts
- Click Connect for each platform
- Complete OAuth authorization
Supported networks: - Facebook Pages & Groups - Instagram Business - X (Twitter) - LinkedIn Pages & Profiles - TikTok - YouTube
Step 4: Invite Team Members¶
- Go to Settings → Team
- Click Invite User
- Enter email and assign role
Available roles: | Role | Capabilities | |------|--------------| | Super Admin | Full platform access | | Workspace Admin | Manage workspace settings | | Brand Manager | Manage brand and content | | Editor | Create and edit content | | Publisher | Publish approved content | | Viewer | Read-only access |
Step 5: Create Your First Post¶
- Navigate to Compose
- Write your content
- Select target accounts
- Choose Publish Now or Schedule
Environment Variables¶
Required¶
| Variable | Description |
|---|---|
POSTGRES_PASSWORD |
Database password |
JWT_SECRET |
JWT signing secret (64+ chars) |
ENCRYPTION_KEY |
Token encryption key (32 bytes) |
MINIO_ROOT_PASSWORD |
Object storage password |
Optional¶
| Variable | Default | Description |
|---|---|---|
APP_URL |
http://localhost |
Public URL |
LOG_LEVEL |
info |
debug, info, warn, error |
REDIS_URL |
redis://redis:6379 |
Redis connection |
S3_ENDPOINT |
http://minio:9000 |
Object storage URL |
Troubleshooting¶
Services won't start¶
# Check container status
docker compose ps
# View logs for specific service
docker compose logs api
docker compose logs postgres
Database connection errors¶
# Ensure PostgreSQL is healthy
docker compose exec postgres pg_isready
# Verify connection
docker compose exec api npm run db:check
OAuth callback fails¶
- Verify
APP_URLmatches your public domain - Check social network app credentials
- Confirm callback URLs in platform settings