Skip to content

LimboChat/Limbo

Repository files navigation

Limbo v2 ⚡

Limbo is a chat app, written in Next.js and uses Socket.io for transmitting messages.

GitHub commit activity GitHub last commit

Features

  • Real-time messaging (with Socket.io)
  • User authentication and registration
  • Fast and responsive UI (with React)
  • Lightweight and scalable architecture

Deployment

Docker 🐳

Requirement: Docker, a supported database (PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server, MongoDB or CockroachDB)

  1. Preparation:

    • Change the provider in schema.prisma, to the database you want to use.
  2. Clone the repository:

    git clone https://github.com/chillingstar/limbo.git
  3. Change into the directory, and set the environment variables required for the app.

  4. Build the Docker image:

    docker build -t limbo .
  5. Run the Docker container:

    docker run -d -p 3000:3000 -e DATABASE_URL=your_database_url -e SERVER_NAME=Limbo limbo

    or whatever port you want to assign to Limbo.

    If you want to use .env, create one, enter all of the environments and run:

    docker run -d -p 3000:3000 --env-file .env limbo

And voila! You have Limbo running on your Docker container.

Manual Deployment

Requirement: Bun (or you could use npm but you must regenerate the lockfile using npm install.), a supported database (PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server, MongoDB or CockroachDB)

  1. Clone the repository:
    git clone https://github.com/chillingstar/limbo.git
  2. Change into the directory, and set the environment variables required for the app.
  3. Install the dependencies:
    bun install
  4. Build the app:
    bun run build
  5. Start the app:
    bun run start

And voila! You have Limbo running on your local machine.

Contributing

Contributions are welcome! If you find any bugs or have suggestions for improvements, please open an issue or submit a pull request.

License

This project is licensed under custom licenses - see the LICENSE file for details.