🚀 Deployment
Deploy your curate.fun instance to production ⚡
🚂 Deploying to Railway (Recommended)
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:
⚙️ 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
- TELEGRAM_BOT_TOKEN: Your Telegram bot token (required for the Telegram plugin).
- OPENROUTER_API_KEY: Your OpenRouter API key (required for the AI Transform plugin).
🔧 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:
- 
Database Connection Issues - Verify that the Postgres service is properly linked to your application
- Check the connection string in the environment variables (DATABASE_URLshould be a shared environment variable${{ Postgres.DATABASE_URL }})
 
- 
Twitter Authentication Problems - Ensure all Twitter credentials are correctly set in the environment variables
- If locked out, use Twitter cookies instead
 
- 
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:
- 
Build the Docker image: docker build -t curatedotfun .
- 
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.