Infrastructure Documentation

This is an internal documentation for members of the LanguageTool team. Please document paths and standard procedures here, but (obviously) don't provide any passwords etc.

People responsible for the server:
Daniel Naber
Marcin Milkowski

The server is a virtual server at Host Europe, running at 87.230.27.80.

Our Server

www.languagetool.org

The PHP pages are in ~/languagetool.org/languagetool-website, updated from git every 5 minutes via cronjob. The Apache configuration is in /etc/apache2/sites-enabled/languagetool-ssl.org.conf and community.languagetool.org.conf.

This server also runs the public HTTP API, which is a stand-alone Java process (no Tomcat involved) and a PHP-based proxy script. It gets deployed automatically with the latest snapshot every night. Its uptime is checked via http://pingdom.com, Daniel gets notified if the API is not accessible. It can be restarted with ~/restart-api-server.sh if needed. The latest log file is at ~/api/log.txt.

community.languagetool.org

  • This Grails-based website is hosted under ~/tomcat/webapps/ROOT/ (which points to the system-wide Tomcat, thus it needs root permission to restart).
  • It gets deployed automatically every night.
  • Uptime check via Daniel's personal account on http://pingdom.com.

Rule Editor

The rule editor is part of the community.languagetool.org website. Update data for Rule Editor for a given language:
cd /home/languagetool/ltcommunity/corpus
./index.sh en

Update data for Rule Editor for all languages:
cd /home/languagetool/ltcommunity/corpus
./index-all.sh

External Services

addons.mozilla.org (AMO)

Markus and Daniel have developer access to make new releases of LanguageTool.

Chrome Webstore

Daniel has access to update our extension.

Wiki

Marcin and Daniel have admin access to this wiki, hosted by Wikidot.

DNS

Daniel manages the domain names at http://www.df.eu.

twitter, Facebook, Google+

Social media is managed via zoho social.

Daniel and Jan have admin access to our twitter account.
Jan and Marcin have admin access to our Facebook account.
Jan has admin access to https://plus.google.com/115296519804561862450/about

Continuous Integration

  • Jenkins: Daniel has admin access to the CI service.
  • Travis is integrated with github and controlled by the .travis.yml file, no special access needed.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License