<commit_before>version: "2"
services:
  # letsencrypt container that helps renew the matchat.org (including www.match.org and node.matchat.org) certificate.
  # It is used by the nginx (external matchat representation of owner) and the wonnode.
  # This is used once a day by a cronjob on satvm01 to check and renew the certificate.
  # To renew the certificate note the following things:
  # - all involved containers (letsencrypt, nginx, wonnode) are configured to mount the right folders
  # - the certificate folder on the host is configured to be "$base_folder/letsencrypt/certs/live/matchat.org"
  # - nginx must be running so that the acme challenge can be executed
  #   (for a new creation of the certificate you can start nginx with the nginx-http-only.conf which doesnt need
  #   certificate file for startup)
  # - execute "docker start livesatvm01_letsencrypt_1" for certificate renewal on host satvm01
  # - this should renew the letsencrypt certificate in "$base_folder/letsencrypt/certs/live/matchat.org" on the host
  # - check if the .pem files and the java key store files (.jks and .pfx) in the same folder have also been updated
  # - delete all (trust store) files in directory $base_folder/won-client-certs/ on all hosts (satvm01)
  # - redeploy all live containers (with jenkins job)
  # - check if everything works (HTTPS, websocket and JMS communication)
  letsencrypt:
    build: ../../image/letsencrypt
    image: webofneeds/letsencrypt:live
    environment:
      - "key_store_password=$won_<PASSWORD>"
    volumes:
      - $base_folder/letsencrypt/certs:/etc/letsencrypt
      - $base_folder/letsencrypt/acme-challenge:/usr/share/nginx/html

  letsencrypt_uki:
    restart: always
    build: ../../image/letsencrypt
    image: webofneeds/letsencrypt:live
    environment:
      - "key_store_password=$uki_<PASSWORD>"
      - "domain_params=-d cbi.matchat.org"
      - "key_pem_file=/etc/letsencrypt/live/cbi.matchat.org/privkey.pem"
      - "cert_pem_file=/etc/letsencrypt/live/cbi.matchat.org/fullchain.pem"
      - "pfx_store_file=/etc/letsencrypt/live/cbi.matchat.org/t-key-cert.pfx"
      - "jks_store_file=/etc/letsencrypt/live/cbi.matchat.org/t-keystore.jks"
    volumes:
      - $base_folder/letsencrypt/certs:/etc/letsencrypt
      - $base_folder/letsencrypt/acme-challenge:/usr/share/nginx/html

  # owner server self-signed certificate for communication with wonnode
  gencert:
    build: ../../image/gencert
    image: webofneeds/gencert:live
    environment:
      - "CN=matchat.org"
      - "PASS=file:/usr/local/certs/out/won_certificate_passwd_file"
      - "OPENSSL_CONFIG_FILE=/usr/local/openssl.conf"
    volumes:
      - $base_folder/won-server-certs:/usr/local/certs/out/
      - $base_folder/openssl.conf:/usr/local/openssl.conf

  # nginx proxy server for domains: matchat.org, www.matchat.org, node.matchat.org, uki.matchat.org, node.uki.matchat.org
  nginx:
    restart: always
    image: nginx
    ports:
      - "80:80"
      - "443:443"
      - "61616:61616"
      - "61626:61626"
      - "61611:61611"
      - "61612:61612"
    volumes:
      - $base_folder/letsencrypt/certs:/etc/letsencrypt/
      - $base_folder/nginx.conf:/etc/nginx/nginx.conf
      - $base_folder/nginx-uki-http.conf:/etc/nginx/conf.d/nginx-uki-http.conf
      - $base_folder/letsencrypt/acme-challenge:/usr/share/nginx/html/
      - /data/osmcache/
    depends_on:<commit_msg>Add letsencrypt_hackathon<commit_after>version: "2"
services:
  # letsencrypt container that helps renew the matchat.org (including www.match.org and node.matchat.org) certificate.
  # It is used by the nginx (external matchat representation of owner) and the wonnode.
  # This is used once a day by a cronjob on satvm01 to check and renew the certificate.
  # To renew the certificate note the following things:
  # - all involved containers (letsencrypt, nginx, wonnode) are configured to mount the right folders
  # - the certificate folder on the host is configured to be "$base_folder/letsencrypt/certs/live/matchat.org"
  # - nginx must be running so that the acme challenge can be executed
  #   (for a new creation of the certificate you can start nginx with the nginx-http-only.conf which doesnt need
  #   certificate file for startup)
  # - execute "docker start livesatvm01_letsencrypt_1" for certificate renewal on host satvm01
  # - this should renew the letsencrypt certificate in "$base_folder/letsencrypt/certs/live/matchat.org" on the host
  # - check if the .pem files and the java key store files (.jks and .pfx) in the same folder have also been updated
  # - delete all (trust store) files in directory $base_folder/won-client-certs/ on all hosts (satvm01)
  # - redeploy all live containers (with jenkins job)
  # - check if everything works (HTTPS, websocket and JMS communication)
  letsencrypt:
    build: ../../image/letsencrypt
    image: webofneeds/letsencrypt:live
    environment:
      - "key_store_password=$<PASSWORD>"
    volumes:
      - $base_folder/letsencrypt/certs:/etc/letsencrypt
      - $base_folder/letsencrypt/acme-challenge:/usr/share/nginx/html

  letsencrypt_uki:
    restart: always
    build: ../../image/letsencrypt
    image: webofneeds/letsencrypt:live
    environment:
      - "key_store_password=$<PASSWORD>"
      - "domain_params=-d cbi.matchat.org"
      - "key_pem_file=/etc/letsencrypt/live/cbi.matchat.org/privkey.pem"
      - "cert_pem_file=/etc/letsencrypt/live/cbi.matchat.org/fullchain.pem"
      - "pfx_store_file=/etc/letsencrypt/live/cbi.matchat.org/t-key-cert.pfx"
      - "jks_store_file=/etc/letsencrypt/live/cbi.matchat.org/t-keystore.jks"
    volumes:
      - $base_folder/letsencrypt/certs:/etc/letsencrypt
      - $base_folder/letsencrypt/acme-challenge:/usr/share/nginx/html

  letsencrypt_hackathon:
    restart: always
    build: ../../image/letsencrypt
    image: webofneeds/letsencrypt:live
    environment:
      - "key_store_password=$<PASSWORD>"
      - "domain_params=-d hackathon.matchat.org"
      - "key_pem_file=/etc/letsencrypt/live/hackathon.matchat.org/privkey.pem"
      - "cert_pem_file=/etc/letsencrypt/live/hackathon.matchat.org/fullchain.pem"
      - "pfx_store_file=/etc/letsencrypt/live/hackathon.matchat.org/t-key-cert.pfx"
      - "jks_store_file=/etc/letsencrypt/live/hackathon.matchat.org/t-keystore.jks"
    volumes:
      - $base_folder/letsencrypt/certs:/etc/letsencrypt
      - $base_folder/letsencrypt/acme-challenge:/usr/share/nginx/html

  # owner server self-signed certificate for communication with wonnode
  gencert:
    build: ../../image/gencert
    image: webofneeds/gencert:live
    environment:
      - "CN=matchat.org"
      - "PASS=file:/usr/local/certs/out/won_certificate_passwd_file"
      - "OPENSSL_CONFIG_FILE=/usr/local/openssl.conf"
    volumes:
      - $base_folder/won-server-certs:/usr/local/certs/out/
      - $base_folder/openssl.conf:/usr/local/openssl.conf

  # nginx proxy server for domains: matchat.org, www.matchat.org, node.matchat.org, uki.matchat.org, node.uki.matchat.org
  nginx:
    restart: always
    image: nginx
    ports:
      - "80:80"
      - "443:443"
      - "61616:61616"
      - "61626:61626"
      - "61611:61611"
      - "61612:61612"
    volumes:
      - $base_folder/letsencrypt/certs:/etc/letsencrypt/
      - $base_folder/nginx.conf:/etc/nginx/nginx.conf
      - $base_folder/nginx-uki-http.conf:/etc/nginx/conf.d/nginx-uki-http.conf
      - $base_folder/letsencrypt/acme-challenge:/usr/share/nginx/html/
      - /data/osmcache/
    depends_on:
{'fraction_non_alphanumeric': 0.1132401862940785, 'fraction_numerical': 0.015968063872255488, 'mean_word_length': 3.2082866741321387, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '372672', 'n_tokens_mistral': 2721, 'n_tokens_neox': 2552, 'n_words': 536}