Having initialization code certain to run only once
This could execute more than once pretty easily if called on multiple threads at the same time. This should make it a bit more foolproof:

  public static class Setup
  {
    private static readonly object _locker = new object();
    private static bool _intialized = false;

    public static void Initialize(IWindsorContainer Container)
    {
      lock (_locker)
      {
        //Check if it has already run
        if (_intialized)
        { return; }

        var connectionString = config.ConnectionStrings["ccsMongo"].ConnectionString;
        var dbName = config.AppSettings["ccsMongoDb"];

        //Initialization code here.
        Container.Register(
            Component.For&lt;IOrgRepos&gt;().ImplementedBy&lt;OrgRepos&gt;()
              .DependsOn(new { ConnectionString = connectionString, DatabaseName = dbName}),
            Component.For&lt;IIndividualRepos&gt;().ImplementedBy&lt;IndividualRepos&gt;()
              .DependsOn(new { ConnectionString = connectionString, DatabaseName = dbName}),
            Component.For&lt;IScoreboardRepos&gt;().ImplementedBy&lt;ScoreboardRepos&gt;()
              .DependsOn(new { ConnectionString = connectionString, DatabaseName = dbName})
          );

        //Mark as run
        _intialized = true;
      }
    }
  }