Skip to content

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

# Push database schema
docker compose exec api npm run db:push

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:

docker compose exec api npm run db:seed

Demo credentials: - Email: admin@mypost.local - Password: admin123

⚠️ Change the password immediately in production!


First-Time Setup

Step 1: Create a Workspace

  1. Log in to MyPost
  2. Go to SettingsWorkspaces
  3. Click Create Workspace
  4. Enter name (e.g., "My Agency")

Step 2: Create a Brand

  1. Navigate to your workspace
  2. Click Add Brand
  3. Enter brand name and upload logo

Step 3: Connect Social Accounts

  1. Go to BrandSocial Accounts
  2. Click Connect for each platform
  3. Complete OAuth authorization

Supported networks: - Facebook Pages & Groups - Instagram Business - X (Twitter) - LinkedIn Pages & Profiles - TikTok - YouTube

Step 4: Invite Team Members

  1. Go to SettingsTeam
  2. Click Invite User
  3. 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

  1. Navigate to Compose
  2. Write your content
  3. Select target accounts
  4. 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

  1. Verify APP_URL matches your public domain
  2. Check social network app credentials
  3. Confirm callback URLs in platform settings

Next Steps