Skip to content

iamvikshan/bento

Repository files navigation

Custom Domain for Bento Profile

Transform your Bento profile with a personalized domain name! Bento does not have an official way to do this, so i thought this might be a workaround.

Tip

  • To make changes, navigate to your official bento profile and make them there.
  • You do not need to re-deploy the app, it will pull those changes before you can even save the XD!

In other words, as long as your deployment is smooth, you will never think about it, just share your custom domain link, but use bento as normal! HOW COOL IS THAT!

✨ Features

  • Easy custom domain setup
  • Multiple deployment options
  • SSL support
  • PM2 process management
  • Apache2/Nginx compatibility

πŸ“‹ Prerequisites

Before you begin, ensure you have:

  • A computer/VPS running Windows, Linux, macOS, or Ubuntu 20.04+, or a docker image
  • bun v1.1.36 or later
  • A Bento account
  • A custom domain name
  • PM2 (optional)
  • Apache2 (Required for VPS)
  • Certbot (Required for SSL on VPS)

Tip

Get $300 free credit on Vultr to try your app! Claim now

πŸ’» Recommended VPS Providers

Note

Need help with setup? I'm an Ionos Partner and can assist you! Contact me at Vikshan

πŸš€ Installation

Local/VPS Installation

  1. Clone and install dependencies:
git clone https://github.com/vixshan/bento.git
cd bento
bun i
  1. Create environment variables:
# Create .env file
echo "BENTO_USERNAME=your_username" > .env
  1. Start the application:
bun start
  1. Run tests (optional):
bun test

Important

When using a VPS, make sure to set up a reverse proxy using Apache2 or Nginx. See the Apache2 guide or Nginx guide.

☁️ Cloud Deployment Options

  1. ⭐ Star and fork this repository

Deploy to Zeabur

  1. Create a Zeabur account
  2. Select "Deploy from GitHub" in your dashboard
  3. Configure environment variables:
    • BENTO_USERNAME: Your Bento username

Note

Remove the .env file if you're setting variables in Zeabur dashboard to avoid conflicts

Deploy to Koyeb (Recommended)

  1. Create a Koyeb account
  2. Deploy from your GitHub repository or click here to automatically create using this repo as template.
  3. Set required environment variables

Warning

Custom domains require a paid Koyeb plan

Deploy to Heroku

  1. Create a Heroku account
  2. Click here to deploy using this repo as a template, or use your own fork.
  3. Configure custom domain in Settings β†’ Domains
  4. Enable auto-deploys in Deploy β†’ Deployment method

Deploy to Railway

  1. Create a Railway account if you don't have one.
  2. Click here to deploy using this repo as a template.
  3. Railway will automatically detect the project and set up the necessary environment.
  4. You'll be prompted to configure environment variables:
    • BENTO_USERNAME: Your Bento username
  5. Click "Deploy" to start the deployment process.
  6. Once deployed, you'll get a URL to access your Bento profile with a custom domain.

Note

Railway provides a free tier with limited resources. For production use, consider upgrading to a paid plan. You can also configure a custom domain with your Railway deployment. Refer to the Railway documentation for more details on custom domains and other features.

Additional Deployment Options

Caution

Known issues:

  1. Images may not persist due to caching. In case that happens, re-add those images in bento or use VPS deployment for best results.
  2. Maps do not work

🀝 Contributing

Contributions are always welcome! If you find bugs or have suggestions:

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

Tip

If this project helped you, please consider:

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Activity Graph

Alt

πŸ’ͺ Powered By

DigitalOcean Vultr IONOS