diff --git a/kalamar.ids-mannheim.conf b/kalamar.ids-mannheim.conf
new file mode 100644
index 0000000..169e606
--- /dev/null
+++ b/kalamar.ids-mannheim.conf
@@ -0,0 +1,140 @@
+use Mojo::File 'path';
+use Mojo::ByteStream 'b';
+my $api = 'http://10.0.10.51:9000/api/';
+{
+  Search => {
+    engine => 'Kalamar::API'
+  },
+  'Kalamar-Auth' => {
+    client_id => b(path('.client_id')->slurp)->trim,
+    client_secret => b(path('.client_secret')->slurp)->trim,
+    oauth2 => 1,
+    experimental_client_registration => 1
+  },
+  Kalamar => {
+    api_path => $api,
+    secure_cookie => 1,
+    https_only => 1,
+    plugins => ['Auth', 'Piwik','Plugins'],
+    experimental_proxy => 1,
+    proxy_inactivity_timeout => 120,
+    proxy_connect_timeout => 120,
+    Piwik => {
+      ping_requests => 1,
+      ping_site_id => 13
+    },
+    navi_ext => [
+      {
+        "title" => "corpora",
+        "id" => "corpus"
+      },
+      {
+        "title" => "Privacy",
+        "id" => "privacy"
+      },
+    ],
+  },
+  CSP => {
+    'frame-src' => 'self',
+    'frame-ancestors' => ['self','http://*.ids-mannheim.de/','https://*.ids-mannheim.de/','http://klinux10/']
+  },
+  'Kalamar-Plugins' => {
+    default_plugins => 'default.plugins.json'
+  },
+  Piwik => {
+    url => 'https://stats.ids-mannheim.de',
+    token_auth => '8515ea786127a63a2974de25a0808b00',
+    site_id => 8,
+    embed => 1
+  },
+  hypnotoad => {
+    listen => ['http://*:4348'],
+    workers => 5,
+    inactivity_timeout => 120,
+    proxy => 1
+  },
+  MailException => {
+    from => join('@', 'diewald', 'ids-mannheim.de'),
+    to => join('@', 'diewald', 'ids-mannheim.de'),
+    subject => '[KorAP] Kalamar crashed'
+  },
+  Localize => {
+    dict => {
+      de_loginExplanation => 'Anmeldung mit einem registrierten <%= link_to "Cosmas-II" => "https://perso.ids-mannheim.de/registration/", style => "white-space: nowrap" %>-Konto',
+      en_loginExplanation => 'Login with a registered <%= link_to "Cosmas-II" => "https://perso.ids-mannheim.de/registration/", style => "white-space: nowrap" %> account',
+      en_Nav_privacy => 'Privacy',
+      de_Nav_privacy => 'Datenschutz',
+      de_Nav_corpora => 'Korpora',
+      en_Nav_corpora => 'Corpora',
+      en_howToCite => 'Citation Help',
+      de_howToCite => 'Zitierhilfe',
+      en_recentCorpusPub => 'Recent publications to refer to DeReKo as linguistic research data',
+      de_recentCorpusPub => 'Neuere Publikationen zu DeReKo als linguistische Forschungsdatengrundlage',
+      en_recentToolPub => 'Recent publications to refer to KorAP as a tool for research',
+      de_recentToolPub => 'Neuere Publikationen zu KorAP als Forschungswerkzeug',
+    }
+  },
+  'TagHelpers-ContentBlock' => {
+    footer => [
+      {
+        inline => '<%= link_to loc("about") => "https://www.ids-mannheim.de/digspra/kl/projekte/korap/" %>',  
+        position => 70
+      },
+      {
+        inline => '<%= link_to loc("howToCite") => url_for(doc => { page => "faq" })->fragment("howToCite") %>',
+        position => 75
+      },
+      {
+        inline => '<%= link_to loc("privacy") => "doc/privacy" %>',  
+        position => 90
+      },
+      {
+        inline => '<%= link_to loc("imprint") => "https://www.ids-mannheim.de/allgemein/impressum/" %>',  
+        position => 80
+      },
+    ],
+    faq => [
+      {
+        position => 50,
+        inline => <<'HOWTOCITE'
+<section>
+  <h3 id="howToCite"><%= loc 'howToCite' %></h3>
+%= include 'custom/partial/citation'
+</section>
+HOWTOCITE
+      }
+    ],
+    loginInfo => [
+      {
+        inline => '<p><%== loc "loginExplanation" %></p>',
+        position => 50
+      }#,
+#      {
+#        inline => '<p class="announcement"><time datetime="2018-05-24">24.05.2018</time> Um weitere Anwendungen für die Nutzung von DeReKo anbieten zu können, haben wir die <%= link_to "Nutzungsvereinbarung", "https://www.ids-mannheim.de/cosmas2/projekt/registrierung/Nutzungsvereinbarung.html" %> angepasst!</p>',
+#        position => 100
+#      }
+    ]
+  },
+
+  # See Mojolicious::Plugin::CHI
+  CHI => {
+    default => {
+      driver => 'FastMmap',
+      root_dir => app->home . '/cache/data',
+      cache_size => '500m',
+      max_size => '500m'
+    },
+    user => {
+      l1_cache => {
+      	driver => 'FastMmap',
+	      root_dir => app->home . '/cache/usermap',
+        	cache_size => '50m',
+	        max_size => '50m'
+      },
+      driver => 'File',
+      root_dir => app->home . '/cache/userfile',
+      max_key_length => 64,
+      max_size => '500m'
+    }
+  } 
+};
\ No newline at end of file
