GithubHelp home page GithubHelp logo

arkensor / enfusiondatabaseframework.drivers.webproxy.mongodb Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 1.0 28 KB

MongoDB web proxy implementation for the EnfusionDatabaseFramework

License: MIT License

C# 96.47% Dockerfile 3.53%
armareforger mongodb webproxy

enfusiondatabaseframework.drivers.webproxy.mongodb's Introduction

EnfusionDatabaseFramework.Drivers.WebProxy.MongoDB

MongoDB web proxy implementation for the EnfusionDatabaseFramework.

โšก Quickstart

  1. Install Docker on your dedicated server or Docker Desktop for your local development environment.
  2. Create a folder where you want to install and host the proxy application and MongoDB server. For example C:/ArmaReforger/EDF-MongoDB
  3. Create a file named docker-compose.yml in that folder with the following content:
version: '3'
services:
  proxy-app:
    image: 'arkensor/enfusiondatabaseframework-proxy-mongodb:latest'
    restart: unless-stopped
    ports:
      - '8008:8008'
    environment:
      DBHOST: "mongodb"

  mongodb:
    image: 'mongodb/mongodb-community-server:latest'
    restart: unless-stopped
    ports:
      - '27017:27017'
    volumes:
      - ./data/mongodb:/data/db
  1. Open a command line in the folder and type docker compose up -d
  2. If everything works you can now set up your connection info in the Arma Reforger Workbench and use a tool like MongoDB Compass to connect to the MongoDB and view your stored data.

Troubleshooting

If MongoDB refuses to start/is unreachable check that the folder permissions are set correctly.
On Linux, you might need to execute this command in the folder you created: chmod -R a+rwx data/

๐Ÿ› ๏ธ Running it without Docker

If for some reason you prefer not to use Docker then right now there are no pre-compiled binaries available. You can however clone this project, open it in Visual Studio and publish it for whatever native runtime you need. There are no magic setup steps required. Just Visual Studio with the .NET desktop development preset installed. The project uses .NET 7.0 but should generally be compatible with other versions.

๐Ÿ“– Options

Options can be passed via the environment variables or startup parameters with --OPTIONNAME=VALUE

  • DbHost Hostname of the MongoDB server to connect to. Default: localhost
  • DbPort Port of the MongoDB server to connect to. Default: 27017
  • DbUser Username if the MongoDB server requires authentication.
  • DbPassword Password if the MongoDB server requires authentication.
  • DbConnectionString alternative to the above options to provide the connection string manually e.g. mongodb+srv://user:[email protected]/?retryWrites=true&w=majority
  • BindHost Ip/hostname to bind the proxy to. Default: *
  • BindPort Port the proxy will listen on. Default: 8008
  • IPWhitelist Restrict the IPs that are allowed to call the proxy as a , separated list. Default: No restrictions

enfusiondatabaseframework.drivers.webproxy.mongodb's People

Contributors

arkensor avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

flipperplz

enfusiondatabaseframework.drivers.webproxy.mongodb's Issues

Refactor ANY match to use $filter

Try and use $filter or something similar so that for ANY matches it finds only the first match and does not evaluate all to see if any matched in a second phase.

  • Search for all the occurrences of $anyElementTrue and try to replace them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.