Skip to main content

🚀 Deployment

Deploy your curate.fun instance to production ⚡

The backend service can be deployed to Railway using their built-in Postgres service. This service also serves the frontend dashboard.

📋 Prerequisites

  • A Railway account
  • A GitHub account (optional, for CI/CD setup)

🚀 Quick Deployment

The fastest way to deploy is using the Railway template:

Deploy on Railway

⚙️ Configuration

After deploying the template, you'll need to configure the following environment variables in the Railway dashboard:

Required Environment Variables

  • TWITTER_USERNAME: Your Twitter username.
  • TWITTER_PASSWORD: Your Twitter password.
  • TWITTER_EMAIL: Your Twitter email.
  • TWITTER_2FA: Your Twitter 2FA code.

Optional Environment Variables

🔧 Customization

You'll need to customize your curate.config.json file to match your specific curation needs. See the configuration documentation for details on how to set up your configuration.

🔧 Troubleshooting

Common issues and solutions:

  1. Database Connection Issues

    • Verify that the Postgres service is properly linked to your application
    • Check the connection string in the environment variables (DATABASE_URL should be a shared environment variable ${{ Postgres.DATABASE_URL }})
  2. Twitter Authentication Problems

    • Ensure all Twitter credentials are correctly set in the environment variables
    • If locked out, use Twitter cookies instead
  3. Deployment Failures

    • Check the deployment logs in the Railway dashboard
    • Verify that your repository has the correct structure and dependencies

📚 For more help:

🐳 Alternative Deployment Options

Using Docker with External Postgres

You can deploy the application using the Dockerfile and connect it to your own Postgres database:

  1. Build the Docker image:

    docker build -t curatedotfun .
  2. Run the container with environment variables:

    docker run -d \
    -p 3000:3000 \
    -e DATABASE_URL=postgres://username:password@host:port/database \
    -e TWITTER_USERNAME=your_twitter_username \
    -e TWITTER_PASSWORD=your_twitter_password \
    -e TWITTER_EMAIL=your_twitter_email \
    -e TWITTER_2FA=your_twitter_2fa \
    --name curatedotfun \
    curatedotfun

This approach works with any hosting provider that supports Docker containers, such as DigitalOcean App Platform, AWS App Runner, Google Cloud Run, or Azure Container Instances.