<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="nl">
	<id>https://bitlair.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Flimpie</id>
	<title>Hackerspace Bitlair - Gebruikersbijdragen [nl]</title>
	<link rel="self" type="application/atom+xml" href="https://bitlair.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Flimpie"/>
	<link rel="alternate" type="text/html" href="https://bitlair.nl/Speciaal:Bijdragen/Flimpie"/>
	<updated>2026-04-17T17:07:49Z</updated>
	<subtitle>Gebruikersbijdragen</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://bitlair.nl/index.php?title=Events/2023-05-22_RIPE_party&amp;diff=8614</id>
		<title>Events/2023-05-22 RIPE party</title>
		<link rel="alternate" type="text/html" href="https://bitlair.nl/index.php?title=Events/2023-05-22_RIPE_party&amp;diff=8614"/>
		<updated>2023-05-22T17:16:52Z</updated>

		<summary type="html">&lt;p&gt;Flimpie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Event&lt;br /&gt;
|name=Besloten bijeenkomst&lt;br /&gt;
|start=2023/05/23 17:00:00&lt;br /&gt;
|end=2023/05/23 23:59:59&lt;br /&gt;
|location=Computerweg 20A, Amersfoort&lt;br /&gt;
}}&lt;br /&gt;
Voor een bijeenkomst rondom RIPE86 gebruiken wij op 23 mei de hoofdruimte. Kom gerust langs als je het houthok/laserhok/stofhok wilt gebruiken (maar let wel even op het feit dat er anderen zijn die ook mogelijk een rondleiding krijgen)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LET OP&#039;&#039;&#039; nu op de 23e&lt;/div&gt;</summary>
		<author><name>Flimpie</name></author>
	</entry>
	<entry>
		<id>https://bitlair.nl/index.php?title=Events/2023-05-22_RIPE_party&amp;diff=8613</id>
		<title>Events/2023-05-22 RIPE party</title>
		<link rel="alternate" type="text/html" href="https://bitlair.nl/index.php?title=Events/2023-05-22_RIPE_party&amp;diff=8613"/>
		<updated>2023-05-22T17:16:21Z</updated>

		<summary type="html">&lt;p&gt;Flimpie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Event&lt;br /&gt;
|name=Besloten bijeenkomst&lt;br /&gt;
|start=2023/05/23 12:00:00&lt;br /&gt;
|end=2023/05/23 23:59:59&lt;br /&gt;
|location=Computerweg 20A, Amersfoort&lt;br /&gt;
}}&lt;br /&gt;
Voor een bijeenkomst rondom RIPE86 gebruiken wij op 23 mei de hoofdruimte. Kom gerust langs als je het houthok/laserhok/stofhok wilt gebruiken (maar let wel even op het feit dat er anderen zijn die ook mogelijk een rondleiding krijgen)&lt;br /&gt;
&lt;br /&gt;
**LET OP** nu op de 23e&lt;/div&gt;</summary>
		<author><name>Flimpie</name></author>
	</entry>
	<entry>
		<id>https://bitlair.nl/index.php?title=Events/2023-05-22_RIPE_party&amp;diff=8612</id>
		<title>Events/2023-05-22 RIPE party</title>
		<link rel="alternate" type="text/html" href="https://bitlair.nl/index.php?title=Events/2023-05-22_RIPE_party&amp;diff=8612"/>
		<updated>2023-05-22T17:16:05Z</updated>

		<summary type="html">&lt;p&gt;Flimpie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Event&lt;br /&gt;
|name=Besloten bijeenkomst&lt;br /&gt;
|start=2023/05/23 12:00:00&lt;br /&gt;
|end=2023/05/23 23:59:59&lt;br /&gt;
|location=Computerweg 20A, Amersfoort&lt;br /&gt;
}}&lt;br /&gt;
Voor een bijeenkomst rondom RIPE86 gebruiken wij op 23 mei de hoofdruimte. Kom gerust langs als je het houthok/laserhok/stofhok wilt gebruiken (maar let wel even op het feit dat er anderen zijn die ook mogelijk een rondleiding krijgen)&lt;/div&gt;</summary>
		<author><name>Flimpie</name></author>
	</entry>
	<entry>
		<id>https://bitlair.nl/index.php?title=Events/2023-05-22_RIPE_party&amp;diff=8587</id>
		<title>Events/2023-05-22 RIPE party</title>
		<link rel="alternate" type="text/html" href="https://bitlair.nl/index.php?title=Events/2023-05-22_RIPE_party&amp;diff=8587"/>
		<updated>2023-04-19T11:49:15Z</updated>

		<summary type="html">&lt;p&gt;Flimpie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Event&lt;br /&gt;
|name=Besloten bijeenkomst&lt;br /&gt;
|start=2023/05/23 12:00:00&lt;br /&gt;
|end=2023/05/23 23:59:59&lt;br /&gt;
|location=Computerweg 20A, Amersfoort&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Voor een bijeenkomst rondom RIPE86 gebruiken wij op 23 mei de hoofdruimte. Kom gerust langs als je het houthok/laserhok/stofhok wilt gebruiken (maar let wel even op het feit dat er anderen zijn die ook mogelijk een rondleiding krijgen)&lt;/div&gt;</summary>
		<author><name>Flimpie</name></author>
	</entry>
	<entry>
		<id>https://bitlair.nl/index.php?title=Events/2023-05-22_RIPE_party&amp;diff=8586</id>
		<title>Events/2023-05-22 RIPE party</title>
		<link rel="alternate" type="text/html" href="https://bitlair.nl/index.php?title=Events/2023-05-22_RIPE_party&amp;diff=8586"/>
		<updated>2023-04-19T11:46:38Z</updated>

		<summary type="html">&lt;p&gt;Flimpie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Event&lt;br /&gt;
|name=Besloten bijeenkomst&lt;br /&gt;
|start=2023/05/23 12:00:00&lt;br /&gt;
|end=2023/05/23 23:59:59&lt;br /&gt;
|location=Computerweg 20A, Amersfoort&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Flimpie</name></author>
	</entry>
	<entry>
		<id>https://bitlair.nl/index.php?title=Events/2023-05-22_RIPE_party&amp;diff=8584</id>
		<title>Events/2023-05-22 RIPE party</title>
		<link rel="alternate" type="text/html" href="https://bitlair.nl/index.php?title=Events/2023-05-22_RIPE_party&amp;diff=8584"/>
		<updated>2023-04-19T11:39:38Z</updated>

		<summary type="html">&lt;p&gt;Flimpie: Created page with &amp;quot;{{Event |name=Besloten bijeenkomst |start=2023/05/13 12:00:00 |end=2023/05/13 23:59:59 |location=Computerweg 20A, Amersfoort }}&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Event&lt;br /&gt;
|name=Besloten bijeenkomst&lt;br /&gt;
|start=2023/05/13 12:00:00&lt;br /&gt;
|end=2023/05/13 23:59:59&lt;br /&gt;
|location=Computerweg 20A, Amersfoort&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Flimpie</name></author>
	</entry>
	<entry>
		<id>https://bitlair.nl/index.php?title=Projects/Matrix_HS&amp;diff=8548</id>
		<title>Projects/Matrix HS</title>
		<link rel="alternate" type="text/html" href="https://bitlair.nl/index.php?title=Projects/Matrix_HS&amp;diff=8548"/>
		<updated>2023-03-08T20:17:39Z</updated>

		<summary type="html">&lt;p&gt;Flimpie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|name=Matrix homeserver&lt;br /&gt;
|start=2021/11/15&lt;br /&gt;
|contact=User:Flimpie&lt;br /&gt;
|info=Matrix homeserver tbv Bitlair members&lt;br /&gt;
|status=Production&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Birlair biedt voor deelnemers een Matrix homeserver aan. Dit om toegang tot de IRC-chat(s) laagdrempeliger te maken. Niet iedereen heeft immers een bouncer/bak om irissi op te draaien, of kennis/tijd/zin om zoiets op te zetten.&lt;br /&gt;
&lt;br /&gt;
Je kan inloggen met je LDAP-account.&lt;br /&gt;
&lt;br /&gt;
De &#039;realm&#039; van de Matrix-server is bitlair.nl, de homeserver staat op matrix.bitlair.nl&lt;br /&gt;
&lt;br /&gt;
== Gebruik ==&lt;br /&gt;
&lt;br /&gt;
In beide gevallen is je username op IRC gelijk aan je localpart (@testuser:example.org en @flimpie:bitlair.nl worden respectievelijk testuser en flimpie).&lt;br /&gt;
&lt;br /&gt;
Dit kan je wijzigen. Nadat je joint krijg je een invite voor een PM met de &#039;statusbot&#039;. Als je naar de bot &#039;!nick irc.smurfnet.ch je_nieuwe_username&#039; stuurt wordt je username gewijzigd.&lt;br /&gt;
&lt;br /&gt;
Als iemand anders (of jijzelf met een andere client) al je username heeft komt daar een suffix achter (bijv test wordt test1). Je krijgt altijd als je verbindt een berichtje van de statusbot met als inhoud &amp;quot;You&#039;ve been connected to the IRC network &#039;irc.smurfnet.ch&#039; as JE_USERNAME&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Zelf inloggen op de server, met LDAP account) ===&lt;br /&gt;
&lt;br /&gt;
* Log in met Element web (de de-facto web client voor Matrix, wordt by default geinstalleerd met het ansible playbook) op element.bitlair.nl, log in met je LDAP username en password.&lt;br /&gt;
* OF gebruik een andere matrix-client en stuur die naar matrix.bitlair.nl&lt;br /&gt;
* Join #bitlair:bitlair.nl [https://matrix.to/#/#bitlair:bitlair.nl] om in de bridge naar #bitlair te komen&lt;br /&gt;
&lt;br /&gt;
=== Inloggen vanaf een andere homeserver ===&lt;br /&gt;
&lt;br /&gt;
* Join het kanaal. [https://matrix.to/#/#bitlair:bitlair.nl]&lt;br /&gt;
&lt;br /&gt;
== Configuratie ==&lt;br /&gt;
&lt;br /&gt;
=== Ansible playbook ===&lt;br /&gt;
&lt;br /&gt;
De server wordt geconfigureerd met een Ansible-playbook [https://github.com/spantaleev/matrix-docker-ansible-deploy]. De configuratie van dit&lt;br /&gt;
playbook staat in &amp;lt;code&amp;gt;/opt/matrix-ansible-playbook/matrix-docker-ansible-deploy/inventory/host_vars/matrix.bitlair.nl/vars.yml&amp;lt;/code&amp;gt;. Dit kan&lt;br /&gt;
op een later moment in een git-repo geplaatst worden, maar voor het gemak (lees: in deze testsituatie makkelijk wijzingen kunnen doorvoeren) staat&lt;br /&gt;
deze lokaal buiten enige version control.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;matrix_domain: bitlair.nl&lt;br /&gt;
&lt;br /&gt;
matrix_ssl_retrieval_method: lets-encrypt&lt;br /&gt;
&lt;br /&gt;
matrix_ssl_lets_encrypt_support_email: bestuur@bitlair.nl&lt;br /&gt;
# A shared secret (between Coturn and Synapse) used for authentication.&lt;br /&gt;
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).&lt;br /&gt;
matrix_coturn_turn_static_auth_secret: &amp;quot;nice try&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# A secret used to protect access keys issued by the server.&lt;br /&gt;
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).&lt;br /&gt;
matrix_synapse_macaroon_secret_key: &amp;quot;nice try&amp;quot;&lt;br /&gt;
&lt;br /&gt;
matrix_well_known_matrix_server_enabled: true&lt;br /&gt;
&lt;br /&gt;
matrix_postgres_connection_password: &#039;nice try&#039;&lt;br /&gt;
matrix_nginx_proxy_worker_connections: 8192&lt;br /&gt;
matrix_nginx_proxy_worker_processes: 8&lt;br /&gt;
&lt;br /&gt;
matrix_synapse_workers_enabled: true&lt;br /&gt;
&lt;br /&gt;
matrix_common_after_systemd_service_start_wait_for_timeout_seconds: 240&lt;br /&gt;
&lt;br /&gt;
matrix_synapse_admin_enabled: true&lt;br /&gt;
&lt;br /&gt;
matrix_appservice_irc_enabled: true&lt;br /&gt;
&lt;br /&gt;
matrix_appservice_irc_ircService_servers:&lt;br /&gt;
  irc.smurfnet.ch: # WIJZIG NAAR irc.smurfnet.ch&lt;br /&gt;
    sslselfsign: true&lt;br /&gt;
    ca: |&lt;br /&gt;
      -----BEGIN CERTIFICATE-----&lt;br /&gt;
      MIIGFjCCA/6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMRIwEAYKCZImiZPyLGQB&lt;br /&gt;
      GRYCY2gxGDAWBgoJkiaJk/IsZAEZFghzbXVyZm5ldDEUMBIGA1UEAxMLU211cmZu&lt;br /&gt;
      ZXQgQ0EwHhcNMTEwMTE5MTg1MzQ3WhcNMjEwMTE2MTg1MzQ3WjBMMRIwEAYKCZIm&lt;br /&gt;
      iZPyLGQBGRYCY2gxGDAWBgoJkiaJk/IsZAEZFghzbXVyZm5ldDEcMBoGA1UEAxMT&lt;br /&gt;
      Ym9maC5ubC5zbXVyZm5ldC5jaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC&lt;br /&gt;
      ggIBAPFua0cL9FPbBsZU53eZbYeBDX7aArAzkA68JnSpATX34RvvNyvi7mAzEyzN&lt;br /&gt;
      j347N7sN4LmotkGRHnuK7jp8gmuVrH53ecJxrQXaKgEVWe/JcgHIftZHs3fl6iBA&lt;br /&gt;
      za9c4M+d2BtzcyKs6GHkSIPRerdMO5fjbiusWdHpTIvjTwo1BugQoAtszhZ/20cs&lt;br /&gt;
      3028VUAVoEvplky+/w1elPTP6VDwHNdYo/a4e5pzf3+WjdUFvuOs7R1g+1KVdxv9&lt;br /&gt;
      lxsOcPwHtiQgwFXhQuqjR7GSCq5j7QsM6DyYU2GbZadmyagE40OVCg12gli8ZWaF&lt;br /&gt;
      DWc1v14u40ZUqVC3Q43sT+A2nNA6bG84eZHLp5nfQn0hbld8kBDovG7KPQ5rLeLz&lt;br /&gt;
      3Ud3VIu7CSN8x7c9aYOdUaHbMrMeMUzWPPfF7/+kFwwnDuivSKpdfWyZ1sqzUYMf&lt;br /&gt;
      30FeVYqbF6g6HFaOylWtYKM47mWrrOOfVW1ZHsJBYdecX3B9F0F697L+5XXbbnWb&lt;br /&gt;
      +UyFvro9Ll3PQ2sWrZklCSm5tEH5hYLwH9b+/RBVuihd66F9JOCZ9MDulE1jzPe3&lt;br /&gt;
      wXcOpYWyDw9WgaDsQDsIFWYgY+jGnNbgkc1BhORwVSZKjN4cPqxVxTjZod/kLbj9&lt;br /&gt;
      24/269HTa48O7vVgVuqtrbldFeiYkV2ahp5aExr9KYCMj7yvAgMBAAGjggEJMIIB&lt;br /&gt;
      BTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIEsDAdBgNVHQ4EFgQUxWChfvZH&lt;br /&gt;
      EmCFifn1pzAuHLQUKlowHwYDVR0jBBgwFoAUZQGWZjH/uip5eF0bsUuY4ysrl58w&lt;br /&gt;
      GAYDVR0gBBEwDzANBgsrBgEEAdFCY0KFGjAxBgNVHR8EKjAoMCagJKAihiBodHRw&lt;br /&gt;
      Oi8vY2Euc211cmZuZXQuY2gvY2EvY3JsLmRlcjBYBgNVHREEUTBPgRBvcGVyQHNt&lt;br /&gt;
      dXJmbmV0LmNoghNib2ZoLm5sLnNtdXJmbmV0LmNogg9pcmMuc211cmZuZXQuY2iC&lt;br /&gt;
      FXdpcGtpcC5ubC5zbXVyZm5ldC5jaDANBgkqhkiG9w0BAQUFAAOCAgEADHMYhiSL&lt;br /&gt;
      6r95CwIaT4x0DziCfaUmu6/HMSQ8K0budTJB8GcGyRxIdiyQN9PwtISs+yGjfQi5&lt;br /&gt;
      qVd/uiH5OfC87eOcuuefTjXEB+XNVO9hg1GJC88mLeT0roKyGFpJwuIlcU1X1Jc7&lt;br /&gt;
      GshA6H/as1BwBpjgwh8TMHS9ZjWBrl4O/HoDMLnlTVHaoW1Y8fIl5HnSvLeBmNpM&lt;br /&gt;
      Hn8dv4anPpU7VRg2iz/3AHMl4SnXYDzfe4PqZUKCYJl98tDu+uXw7X4lZZqPkTxH&lt;br /&gt;
      AtHmzhkKE0oe4VJDzpV0AueSCbV9EN8ao2tyMvq3F6IwH/ibnitFNsoEwLWNHNGa&lt;br /&gt;
      s8MBEzb/PQukSZ6HmI7XcGQkzL8qD1lh/4o22Guke9PWcLs+OZM19koD+FU7BYRC&lt;br /&gt;
      DMUCJn1bUtNH+tLpGc5HZrxagLNiZmYhJOkLUuJZ1TANcMQJ8auIG6oLKqxUdqLT&lt;br /&gt;
      Jflhz/NYFLwU7C52wRoNvUubf+amDMaGAv1XjmTab6AAl3zw5pN+ctwcAORFtkZs&lt;br /&gt;
      avoLVZ9KI9njfMndzJuBVRxaYIwib+rVih8Jz7ddEAhSbJgpXRl3lRoOnv4esVxk&lt;br /&gt;
      llVvJXsMI5E0fbWwOInrFcRMKt5PW8uYzEVJBm24HKT9JFKp9BivZZqjo6dbZRXa&lt;br /&gt;
      kqrsw8uq38kvNTsxsR6qfSq+A7/D2EjLu00=&lt;br /&gt;
      -----END CERTIFICATE-----&lt;br /&gt;
    name: &amp;quot;Smurfnet&amp;quot;&lt;br /&gt;
    port: 6697 # WIJZIG NAAR 6697&lt;br /&gt;
    ssl: true # WIJZIG NAAR TRUE&lt;br /&gt;
    sasl: false&lt;br /&gt;
    allowExpiredCerts: true&lt;br /&gt;
    sendConnectionMessages: true&lt;br /&gt;
    botConfig:&lt;br /&gt;
      enabled: false&lt;br /&gt;
      nick: &amp;quot;flimpie_&amp;quot;&lt;br /&gt;
      joinChannelsIfNoUsers: true&lt;br /&gt;
    privateMessages:&lt;br /&gt;
      enabled: true&lt;br /&gt;
      federate: true&lt;br /&gt;
    dynamicChannels:&lt;br /&gt;
      enabled: true&lt;br /&gt;
      createAlias: true&lt;br /&gt;
      published: false&lt;br /&gt;
      joinRule: public&lt;br /&gt;
      groupId: +smurfnet:localhost&lt;br /&gt;
      federate: true&lt;br /&gt;
      aliasTemplate: &amp;quot;#irc_$CHANNEL&amp;quot;&lt;br /&gt;
    mappings:&lt;br /&gt;
      &amp;quot;#bitlair&amp;quot;:&lt;br /&gt;
        roomIds: [&amp;quot;!qBaVlwurBmrZYdkQLA:bitlair.nl&amp;quot;]&lt;br /&gt;
    membershipLists:&lt;br /&gt;
      enabled: true&lt;br /&gt;
      floodDelayMs: 10000&lt;br /&gt;
      global:&lt;br /&gt;
        ircToMatrix:&lt;br /&gt;
          initial: true&lt;br /&gt;
          incremental: true&lt;br /&gt;
        matrixToIrc:&lt;br /&gt;
          initial: true&lt;br /&gt;
          incremental: true&lt;br /&gt;
    matrixClients:&lt;br /&gt;
      userTemplate: &amp;quot;@smurfnet_$NICK&amp;quot;&lt;br /&gt;
      displayName: &amp;quot;$NICK&amp;quot;&lt;br /&gt;
      joinAttempts: -1&lt;br /&gt;
    ircClients:&lt;br /&gt;
      nickTemplate: &amp;quot;$LOCALPART&amp;quot;&lt;br /&gt;
      allowNickChanges: true&lt;br /&gt;
      maxClients: 100&lt;br /&gt;
      idleTimeout: 0&lt;br /&gt;
      reconnectIntervalMs: 5000&lt;br /&gt;
      concurrentReconnectLimit: 50&lt;br /&gt;
      lineLimit: 3&lt;br /&gt;
&lt;br /&gt;
matrix_prometheus_enabled: false&lt;br /&gt;
&lt;br /&gt;
matrix_prometheus_node_exporter_enabled: false&lt;br /&gt;
&lt;br /&gt;
matrix_grafana_enabled: false&lt;br /&gt;
&lt;br /&gt;
matrix_grafana_anonymous_access: true&lt;br /&gt;
# grafiekjes zijn handig, kan geen kwaad en altijd nog uit...&lt;br /&gt;
&lt;br /&gt;
# This has no relation to your Matrix user id. It can be any username you&#039;d like.&lt;br /&gt;
# Changing the username subsequently won&#039;t work.&lt;br /&gt;
matrix_grafana_default_admin_user: &amp;quot;bitlair&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Changing the password subsequently won&#039;t work.&lt;br /&gt;
matrix_grafana_default_admin_password: &amp;quot;mooi niet&amp;quot;&lt;br /&gt;
&lt;br /&gt;
matrix_synapse_ext_password_provider_rest_auth_enabled: true&lt;br /&gt;
# matrix-ma1sd is the hostname of the ma1sd Docker container&lt;br /&gt;
matrix_synapse_ext_password_provider_rest_auth_endpoint: &amp;quot;http://matrix-ma1sd:8090&amp;quot;&lt;br /&gt;
&lt;br /&gt;
matrix_ma1sd_configuration_extension_yaml: |&lt;br /&gt;
  ldap:&lt;br /&gt;
    enabled: true&lt;br /&gt;
    connection:&lt;br /&gt;
      host: ldap.bitlair.nl&lt;br /&gt;
      tls: true&lt;br /&gt;
      port: 636&lt;br /&gt;
      baseDNs: [&#039;OU=Members,DC=bitlair,DC=nl&#039;]&lt;br /&gt;
      bindDn: cn=matrix,ou=System,dc=bitlair,dc=nl&lt;br /&gt;
      bindPassword: nice try&lt;br /&gt;
    attribute:&lt;br /&gt;
      uid:&lt;br /&gt;
        type: &#039;uid&#039;&lt;br /&gt;
        value: &#039;uid&#039;&lt;br /&gt;
      name: &#039;uid&#039;&lt;br /&gt;
      threepid:&lt;br /&gt;
        email:&lt;br /&gt;
          - &#039;mail&#039;&lt;br /&gt;
  logging:&lt;br /&gt;
    root: error     # default level for all loggers (apps and thirdparty libraries)&lt;br /&gt;
    app: warn       # logt anders realnames (CN) naar journalctl&lt;br /&gt;
    requests: false # log request and response&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== iptables ===&lt;br /&gt;
&lt;br /&gt;
Omdat het publieke IPv4 adres over een interface met een RFC6598 (CGNAT) adres wordt gerouteerd moet er voor Docker een SNAT regel worden ingesteld&lt;br /&gt;
in iptables. Docker stelt automatisch een MASQUERADE in voor alle bridges, maar dit moet dus een SNAT met uiteindelijke source 185.205.52.200 worden.&lt;br /&gt;
&lt;br /&gt;
Dit wordt enigszins hacky gedaan met een service die draait nadat Synapse en Coturn (die hebben beide een eigen netwerk) zijn gestart.&lt;br /&gt;
Als die zijn gestart zijn de MASQUERADES ingesteld, die worden dan overschreden door de SNATs te -I&#039;en.&lt;br /&gt;
&lt;br /&gt;
Het script staat in &amp;lt;code&amp;gt;/sbin/docker-iptables-rules&amp;lt;/code&amp;gt;, de unitfile staat in &amp;lt;code&amp;gt;/etc/systemd/system/docker-iptables.service&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
De volgende regels SNATten de bridges die docker maakt:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;iptables -t nat -I POSTROUTING -s 172.19.0.0/16 ! -o br-634561587f89 -j SNAT --to-source 185.205.52.200&lt;br /&gt;
iptables -t nat -I POSTROUTING -s 172.18.0.0/16 ! -o br-5275cf72302f -j SNAT --to-source 185.205.52.200&lt;br /&gt;
iptables -t nat -I POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j SNAT --to-source 185.205.52.200&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De br-nnnnnn interfaces veranderen niet van naam (tenzij je het playbook uninstallt vanzelfsprekend), deze zijn gekoppeld aan een docker containernetwerk. (probeer bijv &amp;lt;code&amp;gt;docker network inspect&lt;br /&gt;
bcf36440d8a7&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Onderhoudstaken ==&lt;br /&gt;
&lt;br /&gt;
=== Updaten (of wijzigen van config van) playbook ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/matrix-ansible-playbook/update-playbook-and-start-all.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Draai dit als root. Pullt playbook, update het (met de lokale ansible install dus) en restart docker-iptables zodat de SNAT regels weer bovenaan staan. Staat als cronjob iedere 2 weken:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0 2 1,14 * * /opt/matrix-ansible-playbook/update-playbook-and-start-all.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adminpanel ===&lt;br /&gt;
&lt;br /&gt;
Ga naar https://matrix.bitlair.nl/synapse-admin en log in met een admin-user.&lt;br /&gt;
&lt;br /&gt;
=== User toevoegen ===&lt;br /&gt;
&lt;br /&gt;
Dit voegt een _lokale_ user toe.&lt;br /&gt;
&lt;br /&gt;
 # /usr/local/bin/matrix-synapse-register-user &amp;lt;your-username&amp;gt; &amp;lt;your-password&amp;gt; &amp;lt;admin access: 0 or 1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Services (specifiek IRC) doen raar na apt upgrade ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl restart docker-iptables&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== To-do ==&lt;br /&gt;
&lt;br /&gt;
Alles hieronder is een richtlijn, allemaal at the discretion van het bestuur&lt;br /&gt;
&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Flimpie</name></author>
	</entry>
	<entry>
		<id>https://bitlair.nl/index.php?title=Projects/Matrix_HS&amp;diff=8547</id>
		<title>Projects/Matrix HS</title>
		<link rel="alternate" type="text/html" href="https://bitlair.nl/index.php?title=Projects/Matrix_HS&amp;diff=8547"/>
		<updated>2023-03-08T20:17:27Z</updated>

		<summary type="html">&lt;p&gt;Flimpie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|name=Matrix homeserver&lt;br /&gt;
|start=2021/11/15&lt;br /&gt;
|contact=User:Flimpie&lt;br /&gt;
|info=Matrix homeserver tbv Bitlair members&lt;br /&gt;
|status=Ongoing&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Birlair biedt voor deelnemers een Matrix homeserver aan. Dit om toegang tot de IRC-chat(s) laagdrempeliger te maken. Niet iedereen heeft immers een bouncer/bak om irissi op te draaien, of kennis/tijd/zin om zoiets op te zetten.&lt;br /&gt;
&lt;br /&gt;
Je kan inloggen met je LDAP-account.&lt;br /&gt;
&lt;br /&gt;
De &#039;realm&#039; van de Matrix-server is bitlair.nl, de homeserver staat op matrix.bitlair.nl&lt;br /&gt;
&lt;br /&gt;
== Gebruik ==&lt;br /&gt;
&lt;br /&gt;
In beide gevallen is je username op IRC gelijk aan je localpart (@testuser:example.org en @flimpie:bitlair.nl worden respectievelijk testuser en flimpie).&lt;br /&gt;
&lt;br /&gt;
Dit kan je wijzigen. Nadat je joint krijg je een invite voor een PM met de &#039;statusbot&#039;. Als je naar de bot &#039;!nick irc.smurfnet.ch je_nieuwe_username&#039; stuurt wordt je username gewijzigd.&lt;br /&gt;
&lt;br /&gt;
Als iemand anders (of jijzelf met een andere client) al je username heeft komt daar een suffix achter (bijv test wordt test1). Je krijgt altijd als je verbindt een berichtje van de statusbot met als inhoud &amp;quot;You&#039;ve been connected to the IRC network &#039;irc.smurfnet.ch&#039; as JE_USERNAME&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Zelf inloggen op de server, met LDAP account) ===&lt;br /&gt;
&lt;br /&gt;
* Log in met Element web (de de-facto web client voor Matrix, wordt by default geinstalleerd met het ansible playbook) op element.bitlair.nl, log in met je LDAP username en password.&lt;br /&gt;
* OF gebruik een andere matrix-client en stuur die naar matrix.bitlair.nl&lt;br /&gt;
* Join #bitlair:bitlair.nl [https://matrix.to/#/#bitlair:bitlair.nl] om in de bridge naar #bitlair te komen&lt;br /&gt;
&lt;br /&gt;
=== Inloggen vanaf een andere homeserver ===&lt;br /&gt;
&lt;br /&gt;
* Join het kanaal. [https://matrix.to/#/#bitlair:bitlair.nl]&lt;br /&gt;
&lt;br /&gt;
== Configuratie ==&lt;br /&gt;
&lt;br /&gt;
=== Ansible playbook ===&lt;br /&gt;
&lt;br /&gt;
De server wordt geconfigureerd met een Ansible-playbook [https://github.com/spantaleev/matrix-docker-ansible-deploy]. De configuratie van dit&lt;br /&gt;
playbook staat in &amp;lt;code&amp;gt;/opt/matrix-ansible-playbook/matrix-docker-ansible-deploy/inventory/host_vars/matrix.bitlair.nl/vars.yml&amp;lt;/code&amp;gt;. Dit kan&lt;br /&gt;
op een later moment in een git-repo geplaatst worden, maar voor het gemak (lees: in deze testsituatie makkelijk wijzingen kunnen doorvoeren) staat&lt;br /&gt;
deze lokaal buiten enige version control.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;matrix_domain: bitlair.nl&lt;br /&gt;
&lt;br /&gt;
matrix_ssl_retrieval_method: lets-encrypt&lt;br /&gt;
&lt;br /&gt;
matrix_ssl_lets_encrypt_support_email: bestuur@bitlair.nl&lt;br /&gt;
# A shared secret (between Coturn and Synapse) used for authentication.&lt;br /&gt;
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).&lt;br /&gt;
matrix_coturn_turn_static_auth_secret: &amp;quot;nice try&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# A secret used to protect access keys issued by the server.&lt;br /&gt;
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).&lt;br /&gt;
matrix_synapse_macaroon_secret_key: &amp;quot;nice try&amp;quot;&lt;br /&gt;
&lt;br /&gt;
matrix_well_known_matrix_server_enabled: true&lt;br /&gt;
&lt;br /&gt;
matrix_postgres_connection_password: &#039;nice try&#039;&lt;br /&gt;
matrix_nginx_proxy_worker_connections: 8192&lt;br /&gt;
matrix_nginx_proxy_worker_processes: 8&lt;br /&gt;
&lt;br /&gt;
matrix_synapse_workers_enabled: true&lt;br /&gt;
&lt;br /&gt;
matrix_common_after_systemd_service_start_wait_for_timeout_seconds: 240&lt;br /&gt;
&lt;br /&gt;
matrix_synapse_admin_enabled: true&lt;br /&gt;
&lt;br /&gt;
matrix_appservice_irc_enabled: true&lt;br /&gt;
&lt;br /&gt;
matrix_appservice_irc_ircService_servers:&lt;br /&gt;
  irc.smurfnet.ch: # WIJZIG NAAR irc.smurfnet.ch&lt;br /&gt;
    sslselfsign: true&lt;br /&gt;
    ca: |&lt;br /&gt;
      -----BEGIN CERTIFICATE-----&lt;br /&gt;
      MIIGFjCCA/6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMRIwEAYKCZImiZPyLGQB&lt;br /&gt;
      GRYCY2gxGDAWBgoJkiaJk/IsZAEZFghzbXVyZm5ldDEUMBIGA1UEAxMLU211cmZu&lt;br /&gt;
      ZXQgQ0EwHhcNMTEwMTE5MTg1MzQ3WhcNMjEwMTE2MTg1MzQ3WjBMMRIwEAYKCZIm&lt;br /&gt;
      iZPyLGQBGRYCY2gxGDAWBgoJkiaJk/IsZAEZFghzbXVyZm5ldDEcMBoGA1UEAxMT&lt;br /&gt;
      Ym9maC5ubC5zbXVyZm5ldC5jaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC&lt;br /&gt;
      ggIBAPFua0cL9FPbBsZU53eZbYeBDX7aArAzkA68JnSpATX34RvvNyvi7mAzEyzN&lt;br /&gt;
      j347N7sN4LmotkGRHnuK7jp8gmuVrH53ecJxrQXaKgEVWe/JcgHIftZHs3fl6iBA&lt;br /&gt;
      za9c4M+d2BtzcyKs6GHkSIPRerdMO5fjbiusWdHpTIvjTwo1BugQoAtszhZ/20cs&lt;br /&gt;
      3028VUAVoEvplky+/w1elPTP6VDwHNdYo/a4e5pzf3+WjdUFvuOs7R1g+1KVdxv9&lt;br /&gt;
      lxsOcPwHtiQgwFXhQuqjR7GSCq5j7QsM6DyYU2GbZadmyagE40OVCg12gli8ZWaF&lt;br /&gt;
      DWc1v14u40ZUqVC3Q43sT+A2nNA6bG84eZHLp5nfQn0hbld8kBDovG7KPQ5rLeLz&lt;br /&gt;
      3Ud3VIu7CSN8x7c9aYOdUaHbMrMeMUzWPPfF7/+kFwwnDuivSKpdfWyZ1sqzUYMf&lt;br /&gt;
      30FeVYqbF6g6HFaOylWtYKM47mWrrOOfVW1ZHsJBYdecX3B9F0F697L+5XXbbnWb&lt;br /&gt;
      +UyFvro9Ll3PQ2sWrZklCSm5tEH5hYLwH9b+/RBVuihd66F9JOCZ9MDulE1jzPe3&lt;br /&gt;
      wXcOpYWyDw9WgaDsQDsIFWYgY+jGnNbgkc1BhORwVSZKjN4cPqxVxTjZod/kLbj9&lt;br /&gt;
      24/269HTa48O7vVgVuqtrbldFeiYkV2ahp5aExr9KYCMj7yvAgMBAAGjggEJMIIB&lt;br /&gt;
      BTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIEsDAdBgNVHQ4EFgQUxWChfvZH&lt;br /&gt;
      EmCFifn1pzAuHLQUKlowHwYDVR0jBBgwFoAUZQGWZjH/uip5eF0bsUuY4ysrl58w&lt;br /&gt;
      GAYDVR0gBBEwDzANBgsrBgEEAdFCY0KFGjAxBgNVHR8EKjAoMCagJKAihiBodHRw&lt;br /&gt;
      Oi8vY2Euc211cmZuZXQuY2gvY2EvY3JsLmRlcjBYBgNVHREEUTBPgRBvcGVyQHNt&lt;br /&gt;
      dXJmbmV0LmNoghNib2ZoLm5sLnNtdXJmbmV0LmNogg9pcmMuc211cmZuZXQuY2iC&lt;br /&gt;
      FXdpcGtpcC5ubC5zbXVyZm5ldC5jaDANBgkqhkiG9w0BAQUFAAOCAgEADHMYhiSL&lt;br /&gt;
      6r95CwIaT4x0DziCfaUmu6/HMSQ8K0budTJB8GcGyRxIdiyQN9PwtISs+yGjfQi5&lt;br /&gt;
      qVd/uiH5OfC87eOcuuefTjXEB+XNVO9hg1GJC88mLeT0roKyGFpJwuIlcU1X1Jc7&lt;br /&gt;
      GshA6H/as1BwBpjgwh8TMHS9ZjWBrl4O/HoDMLnlTVHaoW1Y8fIl5HnSvLeBmNpM&lt;br /&gt;
      Hn8dv4anPpU7VRg2iz/3AHMl4SnXYDzfe4PqZUKCYJl98tDu+uXw7X4lZZqPkTxH&lt;br /&gt;
      AtHmzhkKE0oe4VJDzpV0AueSCbV9EN8ao2tyMvq3F6IwH/ibnitFNsoEwLWNHNGa&lt;br /&gt;
      s8MBEzb/PQukSZ6HmI7XcGQkzL8qD1lh/4o22Guke9PWcLs+OZM19koD+FU7BYRC&lt;br /&gt;
      DMUCJn1bUtNH+tLpGc5HZrxagLNiZmYhJOkLUuJZ1TANcMQJ8auIG6oLKqxUdqLT&lt;br /&gt;
      Jflhz/NYFLwU7C52wRoNvUubf+amDMaGAv1XjmTab6AAl3zw5pN+ctwcAORFtkZs&lt;br /&gt;
      avoLVZ9KI9njfMndzJuBVRxaYIwib+rVih8Jz7ddEAhSbJgpXRl3lRoOnv4esVxk&lt;br /&gt;
      llVvJXsMI5E0fbWwOInrFcRMKt5PW8uYzEVJBm24HKT9JFKp9BivZZqjo6dbZRXa&lt;br /&gt;
      kqrsw8uq38kvNTsxsR6qfSq+A7/D2EjLu00=&lt;br /&gt;
      -----END CERTIFICATE-----&lt;br /&gt;
    name: &amp;quot;Smurfnet&amp;quot;&lt;br /&gt;
    port: 6697 # WIJZIG NAAR 6697&lt;br /&gt;
    ssl: true # WIJZIG NAAR TRUE&lt;br /&gt;
    sasl: false&lt;br /&gt;
    allowExpiredCerts: true&lt;br /&gt;
    sendConnectionMessages: true&lt;br /&gt;
    botConfig:&lt;br /&gt;
      enabled: false&lt;br /&gt;
      nick: &amp;quot;flimpie_&amp;quot;&lt;br /&gt;
      joinChannelsIfNoUsers: true&lt;br /&gt;
    privateMessages:&lt;br /&gt;
      enabled: true&lt;br /&gt;
      federate: true&lt;br /&gt;
    dynamicChannels:&lt;br /&gt;
      enabled: true&lt;br /&gt;
      createAlias: true&lt;br /&gt;
      published: false&lt;br /&gt;
      joinRule: public&lt;br /&gt;
      groupId: +smurfnet:localhost&lt;br /&gt;
      federate: true&lt;br /&gt;
      aliasTemplate: &amp;quot;#irc_$CHANNEL&amp;quot;&lt;br /&gt;
    mappings:&lt;br /&gt;
      &amp;quot;#bitlair&amp;quot;:&lt;br /&gt;
        roomIds: [&amp;quot;!qBaVlwurBmrZYdkQLA:bitlair.nl&amp;quot;]&lt;br /&gt;
    membershipLists:&lt;br /&gt;
      enabled: true&lt;br /&gt;
      floodDelayMs: 10000&lt;br /&gt;
      global:&lt;br /&gt;
        ircToMatrix:&lt;br /&gt;
          initial: true&lt;br /&gt;
          incremental: true&lt;br /&gt;
        matrixToIrc:&lt;br /&gt;
          initial: true&lt;br /&gt;
          incremental: true&lt;br /&gt;
    matrixClients:&lt;br /&gt;
      userTemplate: &amp;quot;@smurfnet_$NICK&amp;quot;&lt;br /&gt;
      displayName: &amp;quot;$NICK&amp;quot;&lt;br /&gt;
      joinAttempts: -1&lt;br /&gt;
    ircClients:&lt;br /&gt;
      nickTemplate: &amp;quot;$LOCALPART&amp;quot;&lt;br /&gt;
      allowNickChanges: true&lt;br /&gt;
      maxClients: 100&lt;br /&gt;
      idleTimeout: 0&lt;br /&gt;
      reconnectIntervalMs: 5000&lt;br /&gt;
      concurrentReconnectLimit: 50&lt;br /&gt;
      lineLimit: 3&lt;br /&gt;
&lt;br /&gt;
matrix_prometheus_enabled: false&lt;br /&gt;
&lt;br /&gt;
matrix_prometheus_node_exporter_enabled: false&lt;br /&gt;
&lt;br /&gt;
matrix_grafana_enabled: false&lt;br /&gt;
&lt;br /&gt;
matrix_grafana_anonymous_access: true&lt;br /&gt;
# grafiekjes zijn handig, kan geen kwaad en altijd nog uit...&lt;br /&gt;
&lt;br /&gt;
# This has no relation to your Matrix user id. It can be any username you&#039;d like.&lt;br /&gt;
# Changing the username subsequently won&#039;t work.&lt;br /&gt;
matrix_grafana_default_admin_user: &amp;quot;bitlair&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Changing the password subsequently won&#039;t work.&lt;br /&gt;
matrix_grafana_default_admin_password: &amp;quot;mooi niet&amp;quot;&lt;br /&gt;
&lt;br /&gt;
matrix_synapse_ext_password_provider_rest_auth_enabled: true&lt;br /&gt;
# matrix-ma1sd is the hostname of the ma1sd Docker container&lt;br /&gt;
matrix_synapse_ext_password_provider_rest_auth_endpoint: &amp;quot;http://matrix-ma1sd:8090&amp;quot;&lt;br /&gt;
&lt;br /&gt;
matrix_ma1sd_configuration_extension_yaml: |&lt;br /&gt;
  ldap:&lt;br /&gt;
    enabled: true&lt;br /&gt;
    connection:&lt;br /&gt;
      host: ldap.bitlair.nl&lt;br /&gt;
      tls: true&lt;br /&gt;
      port: 636&lt;br /&gt;
      baseDNs: [&#039;OU=Members,DC=bitlair,DC=nl&#039;]&lt;br /&gt;
      bindDn: cn=matrix,ou=System,dc=bitlair,dc=nl&lt;br /&gt;
      bindPassword: nice try&lt;br /&gt;
    attribute:&lt;br /&gt;
      uid:&lt;br /&gt;
        type: &#039;uid&#039;&lt;br /&gt;
        value: &#039;uid&#039;&lt;br /&gt;
      name: &#039;uid&#039;&lt;br /&gt;
      threepid:&lt;br /&gt;
        email:&lt;br /&gt;
          - &#039;mail&#039;&lt;br /&gt;
  logging:&lt;br /&gt;
    root: error     # default level for all loggers (apps and thirdparty libraries)&lt;br /&gt;
    app: warn       # logt anders realnames (CN) naar journalctl&lt;br /&gt;
    requests: false # log request and response&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== iptables ===&lt;br /&gt;
&lt;br /&gt;
Omdat het publieke IPv4 adres over een interface met een RFC6598 (CGNAT) adres wordt gerouteerd moet er voor Docker een SNAT regel worden ingesteld&lt;br /&gt;
in iptables. Docker stelt automatisch een MASQUERADE in voor alle bridges, maar dit moet dus een SNAT met uiteindelijke source 185.205.52.200 worden.&lt;br /&gt;
&lt;br /&gt;
Dit wordt enigszins hacky gedaan met een service die draait nadat Synapse en Coturn (die hebben beide een eigen netwerk) zijn gestart.&lt;br /&gt;
Als die zijn gestart zijn de MASQUERADES ingesteld, die worden dan overschreden door de SNATs te -I&#039;en.&lt;br /&gt;
&lt;br /&gt;
Het script staat in &amp;lt;code&amp;gt;/sbin/docker-iptables-rules&amp;lt;/code&amp;gt;, de unitfile staat in &amp;lt;code&amp;gt;/etc/systemd/system/docker-iptables.service&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
De volgende regels SNATten de bridges die docker maakt:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;iptables -t nat -I POSTROUTING -s 172.19.0.0/16 ! -o br-634561587f89 -j SNAT --to-source 185.205.52.200&lt;br /&gt;
iptables -t nat -I POSTROUTING -s 172.18.0.0/16 ! -o br-5275cf72302f -j SNAT --to-source 185.205.52.200&lt;br /&gt;
iptables -t nat -I POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j SNAT --to-source 185.205.52.200&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De br-nnnnnn interfaces veranderen niet van naam (tenzij je het playbook uninstallt vanzelfsprekend), deze zijn gekoppeld aan een docker containernetwerk. (probeer bijv &amp;lt;code&amp;gt;docker network inspect&lt;br /&gt;
bcf36440d8a7&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Onderhoudstaken ==&lt;br /&gt;
&lt;br /&gt;
=== Updaten (of wijzigen van config van) playbook ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/matrix-ansible-playbook/update-playbook-and-start-all.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Draai dit als root. Pullt playbook, update het (met de lokale ansible install dus) en restart docker-iptables zodat de SNAT regels weer bovenaan staan. Staat als cronjob iedere 2 weken:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0 2 1,14 * * /opt/matrix-ansible-playbook/update-playbook-and-start-all.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adminpanel ===&lt;br /&gt;
&lt;br /&gt;
Ga naar https://matrix.bitlair.nl/synapse-admin en log in met een admin-user.&lt;br /&gt;
&lt;br /&gt;
=== User toevoegen ===&lt;br /&gt;
&lt;br /&gt;
Dit voegt een _lokale_ user toe.&lt;br /&gt;
&lt;br /&gt;
 # /usr/local/bin/matrix-synapse-register-user &amp;lt;your-username&amp;gt; &amp;lt;your-password&amp;gt; &amp;lt;admin access: 0 or 1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Services (specifiek IRC) doen raar na apt upgrade ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl restart docker-iptables&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== To-do ==&lt;br /&gt;
&lt;br /&gt;
Alles hieronder is een richtlijn, allemaal at the discretion van het bestuur&lt;br /&gt;
&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Flimpie</name></author>
	</entry>
	<entry>
		<id>https://bitlair.nl/index.php?title=Projects/Matrix_HS&amp;diff=8546</id>
		<title>Projects/Matrix HS</title>
		<link rel="alternate" type="text/html" href="https://bitlair.nl/index.php?title=Projects/Matrix_HS&amp;diff=8546"/>
		<updated>2023-03-08T20:16:22Z</updated>

		<summary type="html">&lt;p&gt;Flimpie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|name=Matrix homeserver&lt;br /&gt;
|start=2021/11/15&lt;br /&gt;
|contact=User:Hillebrand&lt;br /&gt;
|info=Matrix homeserver tbv Bitlair members&lt;br /&gt;
|status=Alpha&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Polyfloyd]] heeft mij gevraagd om bij wijze van proef een Matrix-homeserver op te zetten. Dit om toegang tot de IRC-chat(s) laagdrempeliger te maken. Niet iedereen heeft immers een bouncer/bak om irissi op te draaien, of kennis/tijd/zin om zoiets op te zetten.&lt;br /&gt;
&lt;br /&gt;
Je kan inloggen met je LDAP-account.&lt;br /&gt;
&lt;br /&gt;
De &#039;realm&#039; van de Matrix-server is bitlair.nl, de homeserver staat op matrix.bitlair.nl&lt;br /&gt;
&lt;br /&gt;
== Gebruik ==&lt;br /&gt;
&lt;br /&gt;
In beide gevallen is je username op IRC gelijk aan je localpart (@testuser:example.org en @flimpie:bitlair.nl worden respectievelijk testuser en flimpie).&lt;br /&gt;
&lt;br /&gt;
Dit kan je wijzigen. Nadat je joint krijg je een invite voor een PM met de &#039;statusbot&#039;. Als je naar de bot &#039;!nick irc.smurfnet.ch je_nieuwe_username&#039; stuurt wordt je username gewijzigd.&lt;br /&gt;
&lt;br /&gt;
Als iemand anders (of jijzelf met een andere client) al je username heeft komt daar een suffix achter (bijv test wordt test1). Je krijgt altijd als je verbindt een berichtje van de statusbot met als inhoud &amp;quot;You&#039;ve been connected to the IRC network &#039;irc.smurfnet.ch&#039; as JE_USERNAME&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Zelf inloggen op de server, met LDAP account) ===&lt;br /&gt;
&lt;br /&gt;
* Log in met Element web (de de-facto web client voor Matrix, wordt by default geinstalleerd met het ansible playbook) op element.bitlair.nl, log in met je LDAP username en password.&lt;br /&gt;
* OF gebruik een andere matrix-client en stuur die naar matrix.bitlair.nl&lt;br /&gt;
* Join #bitlair:bitlair.nl [https://matrix.to/#/#bitlair:bitlair.nl] om in de bridge naar #bitlair te komen&lt;br /&gt;
&lt;br /&gt;
=== Inloggen vanaf een andere homeserver ===&lt;br /&gt;
&lt;br /&gt;
* Join het kanaal. [https://matrix.to/#/#bitlair:bitlair.nl]&lt;br /&gt;
&lt;br /&gt;
== Configuratie ==&lt;br /&gt;
&lt;br /&gt;
=== Ansible playbook ===&lt;br /&gt;
&lt;br /&gt;
De server wordt geconfigureerd met een Ansible-playbook [https://github.com/spantaleev/matrix-docker-ansible-deploy]. De configuratie van dit&lt;br /&gt;
playbook staat in &amp;lt;code&amp;gt;/opt/matrix-ansible-playbook/matrix-docker-ansible-deploy/inventory/host_vars/matrix.bitlair.nl/vars.yml&amp;lt;/code&amp;gt;. Dit kan&lt;br /&gt;
op een later moment in een git-repo geplaatst worden, maar voor het gemak (lees: in deze testsituatie makkelijk wijzingen kunnen doorvoeren) staat&lt;br /&gt;
deze lokaal buiten enige version control.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;matrix_domain: bitlair.nl&lt;br /&gt;
&lt;br /&gt;
matrix_ssl_retrieval_method: lets-encrypt&lt;br /&gt;
&lt;br /&gt;
matrix_ssl_lets_encrypt_support_email: bestuur@bitlair.nl&lt;br /&gt;
# A shared secret (between Coturn and Synapse) used for authentication.&lt;br /&gt;
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).&lt;br /&gt;
matrix_coturn_turn_static_auth_secret: &amp;quot;nice try&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# A secret used to protect access keys issued by the server.&lt;br /&gt;
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).&lt;br /&gt;
matrix_synapse_macaroon_secret_key: &amp;quot;nice try&amp;quot;&lt;br /&gt;
&lt;br /&gt;
matrix_well_known_matrix_server_enabled: true&lt;br /&gt;
&lt;br /&gt;
matrix_postgres_connection_password: &#039;nice try&#039;&lt;br /&gt;
matrix_nginx_proxy_worker_connections: 8192&lt;br /&gt;
matrix_nginx_proxy_worker_processes: 8&lt;br /&gt;
&lt;br /&gt;
matrix_synapse_workers_enabled: true&lt;br /&gt;
&lt;br /&gt;
matrix_common_after_systemd_service_start_wait_for_timeout_seconds: 240&lt;br /&gt;
&lt;br /&gt;
matrix_synapse_admin_enabled: true&lt;br /&gt;
&lt;br /&gt;
matrix_appservice_irc_enabled: true&lt;br /&gt;
&lt;br /&gt;
matrix_appservice_irc_ircService_servers:&lt;br /&gt;
  irc.smurfnet.ch: # WIJZIG NAAR irc.smurfnet.ch&lt;br /&gt;
    sslselfsign: true&lt;br /&gt;
    ca: |&lt;br /&gt;
      -----BEGIN CERTIFICATE-----&lt;br /&gt;
      MIIGFjCCA/6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMRIwEAYKCZImiZPyLGQB&lt;br /&gt;
      GRYCY2gxGDAWBgoJkiaJk/IsZAEZFghzbXVyZm5ldDEUMBIGA1UEAxMLU211cmZu&lt;br /&gt;
      ZXQgQ0EwHhcNMTEwMTE5MTg1MzQ3WhcNMjEwMTE2MTg1MzQ3WjBMMRIwEAYKCZIm&lt;br /&gt;
      iZPyLGQBGRYCY2gxGDAWBgoJkiaJk/IsZAEZFghzbXVyZm5ldDEcMBoGA1UEAxMT&lt;br /&gt;
      Ym9maC5ubC5zbXVyZm5ldC5jaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC&lt;br /&gt;
      ggIBAPFua0cL9FPbBsZU53eZbYeBDX7aArAzkA68JnSpATX34RvvNyvi7mAzEyzN&lt;br /&gt;
      j347N7sN4LmotkGRHnuK7jp8gmuVrH53ecJxrQXaKgEVWe/JcgHIftZHs3fl6iBA&lt;br /&gt;
      za9c4M+d2BtzcyKs6GHkSIPRerdMO5fjbiusWdHpTIvjTwo1BugQoAtszhZ/20cs&lt;br /&gt;
      3028VUAVoEvplky+/w1elPTP6VDwHNdYo/a4e5pzf3+WjdUFvuOs7R1g+1KVdxv9&lt;br /&gt;
      lxsOcPwHtiQgwFXhQuqjR7GSCq5j7QsM6DyYU2GbZadmyagE40OVCg12gli8ZWaF&lt;br /&gt;
      DWc1v14u40ZUqVC3Q43sT+A2nNA6bG84eZHLp5nfQn0hbld8kBDovG7KPQ5rLeLz&lt;br /&gt;
      3Ud3VIu7CSN8x7c9aYOdUaHbMrMeMUzWPPfF7/+kFwwnDuivSKpdfWyZ1sqzUYMf&lt;br /&gt;
      30FeVYqbF6g6HFaOylWtYKM47mWrrOOfVW1ZHsJBYdecX3B9F0F697L+5XXbbnWb&lt;br /&gt;
      +UyFvro9Ll3PQ2sWrZklCSm5tEH5hYLwH9b+/RBVuihd66F9JOCZ9MDulE1jzPe3&lt;br /&gt;
      wXcOpYWyDw9WgaDsQDsIFWYgY+jGnNbgkc1BhORwVSZKjN4cPqxVxTjZod/kLbj9&lt;br /&gt;
      24/269HTa48O7vVgVuqtrbldFeiYkV2ahp5aExr9KYCMj7yvAgMBAAGjggEJMIIB&lt;br /&gt;
      BTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIEsDAdBgNVHQ4EFgQUxWChfvZH&lt;br /&gt;
      EmCFifn1pzAuHLQUKlowHwYDVR0jBBgwFoAUZQGWZjH/uip5eF0bsUuY4ysrl58w&lt;br /&gt;
      GAYDVR0gBBEwDzANBgsrBgEEAdFCY0KFGjAxBgNVHR8EKjAoMCagJKAihiBodHRw&lt;br /&gt;
      Oi8vY2Euc211cmZuZXQuY2gvY2EvY3JsLmRlcjBYBgNVHREEUTBPgRBvcGVyQHNt&lt;br /&gt;
      dXJmbmV0LmNoghNib2ZoLm5sLnNtdXJmbmV0LmNogg9pcmMuc211cmZuZXQuY2iC&lt;br /&gt;
      FXdpcGtpcC5ubC5zbXVyZm5ldC5jaDANBgkqhkiG9w0BAQUFAAOCAgEADHMYhiSL&lt;br /&gt;
      6r95CwIaT4x0DziCfaUmu6/HMSQ8K0budTJB8GcGyRxIdiyQN9PwtISs+yGjfQi5&lt;br /&gt;
      qVd/uiH5OfC87eOcuuefTjXEB+XNVO9hg1GJC88mLeT0roKyGFpJwuIlcU1X1Jc7&lt;br /&gt;
      GshA6H/as1BwBpjgwh8TMHS9ZjWBrl4O/HoDMLnlTVHaoW1Y8fIl5HnSvLeBmNpM&lt;br /&gt;
      Hn8dv4anPpU7VRg2iz/3AHMl4SnXYDzfe4PqZUKCYJl98tDu+uXw7X4lZZqPkTxH&lt;br /&gt;
      AtHmzhkKE0oe4VJDzpV0AueSCbV9EN8ao2tyMvq3F6IwH/ibnitFNsoEwLWNHNGa&lt;br /&gt;
      s8MBEzb/PQukSZ6HmI7XcGQkzL8qD1lh/4o22Guke9PWcLs+OZM19koD+FU7BYRC&lt;br /&gt;
      DMUCJn1bUtNH+tLpGc5HZrxagLNiZmYhJOkLUuJZ1TANcMQJ8auIG6oLKqxUdqLT&lt;br /&gt;
      Jflhz/NYFLwU7C52wRoNvUubf+amDMaGAv1XjmTab6AAl3zw5pN+ctwcAORFtkZs&lt;br /&gt;
      avoLVZ9KI9njfMndzJuBVRxaYIwib+rVih8Jz7ddEAhSbJgpXRl3lRoOnv4esVxk&lt;br /&gt;
      llVvJXsMI5E0fbWwOInrFcRMKt5PW8uYzEVJBm24HKT9JFKp9BivZZqjo6dbZRXa&lt;br /&gt;
      kqrsw8uq38kvNTsxsR6qfSq+A7/D2EjLu00=&lt;br /&gt;
      -----END CERTIFICATE-----&lt;br /&gt;
    name: &amp;quot;Smurfnet&amp;quot;&lt;br /&gt;
    port: 6697 # WIJZIG NAAR 6697&lt;br /&gt;
    ssl: true # WIJZIG NAAR TRUE&lt;br /&gt;
    sasl: false&lt;br /&gt;
    allowExpiredCerts: true&lt;br /&gt;
    sendConnectionMessages: true&lt;br /&gt;
    botConfig:&lt;br /&gt;
      enabled: false&lt;br /&gt;
      nick: &amp;quot;flimpie_&amp;quot;&lt;br /&gt;
      joinChannelsIfNoUsers: true&lt;br /&gt;
    privateMessages:&lt;br /&gt;
      enabled: true&lt;br /&gt;
      federate: true&lt;br /&gt;
    dynamicChannels:&lt;br /&gt;
      enabled: true&lt;br /&gt;
      createAlias: true&lt;br /&gt;
      published: false&lt;br /&gt;
      joinRule: public&lt;br /&gt;
      groupId: +smurfnet:localhost&lt;br /&gt;
      federate: true&lt;br /&gt;
      aliasTemplate: &amp;quot;#irc_$CHANNEL&amp;quot;&lt;br /&gt;
    mappings:&lt;br /&gt;
      &amp;quot;#bitlair&amp;quot;:&lt;br /&gt;
        roomIds: [&amp;quot;!qBaVlwurBmrZYdkQLA:bitlair.nl&amp;quot;]&lt;br /&gt;
    membershipLists:&lt;br /&gt;
      enabled: true&lt;br /&gt;
      floodDelayMs: 10000&lt;br /&gt;
      global:&lt;br /&gt;
        ircToMatrix:&lt;br /&gt;
          initial: true&lt;br /&gt;
          incremental: true&lt;br /&gt;
        matrixToIrc:&lt;br /&gt;
          initial: true&lt;br /&gt;
          incremental: true&lt;br /&gt;
    matrixClients:&lt;br /&gt;
      userTemplate: &amp;quot;@smurfnet_$NICK&amp;quot;&lt;br /&gt;
      displayName: &amp;quot;$NICK&amp;quot;&lt;br /&gt;
      joinAttempts: -1&lt;br /&gt;
    ircClients:&lt;br /&gt;
      nickTemplate: &amp;quot;$LOCALPART&amp;quot;&lt;br /&gt;
      allowNickChanges: true&lt;br /&gt;
      maxClients: 100&lt;br /&gt;
      idleTimeout: 0&lt;br /&gt;
      reconnectIntervalMs: 5000&lt;br /&gt;
      concurrentReconnectLimit: 50&lt;br /&gt;
      lineLimit: 3&lt;br /&gt;
&lt;br /&gt;
matrix_prometheus_enabled: false&lt;br /&gt;
&lt;br /&gt;
matrix_prometheus_node_exporter_enabled: false&lt;br /&gt;
&lt;br /&gt;
matrix_grafana_enabled: false&lt;br /&gt;
&lt;br /&gt;
matrix_grafana_anonymous_access: true&lt;br /&gt;
# grafiekjes zijn handig, kan geen kwaad en altijd nog uit...&lt;br /&gt;
&lt;br /&gt;
# This has no relation to your Matrix user id. It can be any username you&#039;d like.&lt;br /&gt;
# Changing the username subsequently won&#039;t work.&lt;br /&gt;
matrix_grafana_default_admin_user: &amp;quot;bitlair&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Changing the password subsequently won&#039;t work.&lt;br /&gt;
matrix_grafana_default_admin_password: &amp;quot;mooi niet&amp;quot;&lt;br /&gt;
&lt;br /&gt;
matrix_synapse_ext_password_provider_rest_auth_enabled: true&lt;br /&gt;
# matrix-ma1sd is the hostname of the ma1sd Docker container&lt;br /&gt;
matrix_synapse_ext_password_provider_rest_auth_endpoint: &amp;quot;http://matrix-ma1sd:8090&amp;quot;&lt;br /&gt;
&lt;br /&gt;
matrix_ma1sd_configuration_extension_yaml: |&lt;br /&gt;
  ldap:&lt;br /&gt;
    enabled: true&lt;br /&gt;
    connection:&lt;br /&gt;
      host: ldap.bitlair.nl&lt;br /&gt;
      tls: true&lt;br /&gt;
      port: 636&lt;br /&gt;
      baseDNs: [&#039;OU=Members,DC=bitlair,DC=nl&#039;]&lt;br /&gt;
      bindDn: cn=matrix,ou=System,dc=bitlair,dc=nl&lt;br /&gt;
      bindPassword: nice try&lt;br /&gt;
    attribute:&lt;br /&gt;
      uid:&lt;br /&gt;
        type: &#039;uid&#039;&lt;br /&gt;
        value: &#039;uid&#039;&lt;br /&gt;
      name: &#039;uid&#039;&lt;br /&gt;
      threepid:&lt;br /&gt;
        email:&lt;br /&gt;
          - &#039;mail&#039;&lt;br /&gt;
  logging:&lt;br /&gt;
    root: error     # default level for all loggers (apps and thirdparty libraries)&lt;br /&gt;
    app: warn       # logt anders realnames (CN) naar journalctl&lt;br /&gt;
    requests: false # log request and response&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== iptables ===&lt;br /&gt;
&lt;br /&gt;
Omdat het publieke IPv4 adres over een interface met een RFC6598 (CGNAT) adres wordt gerouteerd moet er voor Docker een SNAT regel worden ingesteld&lt;br /&gt;
in iptables. Docker stelt automatisch een MASQUERADE in voor alle bridges, maar dit moet dus een SNAT met uiteindelijke source 185.205.52.200 worden.&lt;br /&gt;
&lt;br /&gt;
Dit wordt enigszins hacky gedaan met een service die draait nadat Synapse en Coturn (die hebben beide een eigen netwerk) zijn gestart.&lt;br /&gt;
Als die zijn gestart zijn de MASQUERADES ingesteld, die worden dan overschreden door de SNATs te -I&#039;en.&lt;br /&gt;
&lt;br /&gt;
Het script staat in &amp;lt;code&amp;gt;/sbin/docker-iptables-rules&amp;lt;/code&amp;gt;, de unitfile staat in &amp;lt;code&amp;gt;/etc/systemd/system/docker-iptables.service&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
De volgende regels SNATten de bridges die docker maakt:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;iptables -t nat -I POSTROUTING -s 172.19.0.0/16 ! -o br-634561587f89 -j SNAT --to-source 185.205.52.200&lt;br /&gt;
iptables -t nat -I POSTROUTING -s 172.18.0.0/16 ! -o br-5275cf72302f -j SNAT --to-source 185.205.52.200&lt;br /&gt;
iptables -t nat -I POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j SNAT --to-source 185.205.52.200&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De br-nnnnnn interfaces veranderen niet van naam (tenzij je het playbook uninstallt vanzelfsprekend), deze zijn gekoppeld aan een docker containernetwerk. (probeer bijv &amp;lt;code&amp;gt;docker network inspect&lt;br /&gt;
bcf36440d8a7&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Onderhoudstaken ==&lt;br /&gt;
&lt;br /&gt;
=== Updaten (of wijzigen van config van) playbook ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/matrix-ansible-playbook/update-playbook-and-start-all.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Draai dit als root. Pullt playbook, update het (met de lokale ansible install dus) en restart docker-iptables zodat de SNAT regels weer bovenaan staan. Staat als cronjob iedere 2 weken:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0 2 1,14 * * /opt/matrix-ansible-playbook/update-playbook-and-start-all.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adminpanel ===&lt;br /&gt;
&lt;br /&gt;
Ga naar https://matrix.bitlair.nl/synapse-admin en log in met een admin-user.&lt;br /&gt;
&lt;br /&gt;
=== User toevoegen ===&lt;br /&gt;
&lt;br /&gt;
Dit voegt een _lokale_ user toe.&lt;br /&gt;
&lt;br /&gt;
 # /usr/local/bin/matrix-synapse-register-user &amp;lt;your-username&amp;gt; &amp;lt;your-password&amp;gt; &amp;lt;admin access: 0 or 1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Services (specifiek IRC) doen raar na apt upgrade ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl restart docker-iptables&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== To-do ==&lt;br /&gt;
&lt;br /&gt;
Alles hieronder is een richtlijn, allemaal at the discretion van het bestuur&lt;br /&gt;
&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Flimpie</name></author>
	</entry>
	<entry>
		<id>https://bitlair.nl/index.php?title=Matrix_HS&amp;diff=8545</id>
		<title>Matrix HS</title>
		<link rel="alternate" type="text/html" href="https://bitlair.nl/index.php?title=Matrix_HS&amp;diff=8545"/>
		<updated>2023-03-08T20:14:52Z</updated>

		<summary type="html">&lt;p&gt;Flimpie: Redirected page to Projects/Matrix HS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Projects/Matrix HS]]&lt;/div&gt;</summary>
		<author><name>Flimpie</name></author>
	</entry>
	<entry>
		<id>https://bitlair.nl/index.php?title=Events/2023-03-11_BBQ&amp;diff=8523</id>
		<title>Events/2023-03-11 BBQ</title>
		<link rel="alternate" type="text/html" href="https://bitlair.nl/index.php?title=Events/2023-03-11_BBQ&amp;diff=8523"/>
		<updated>2023-02-22T19:43:17Z</updated>

		<summary type="html">&lt;p&gt;Flimpie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Event&lt;br /&gt;
|name=BBQ en verjaardagsfeestje&lt;br /&gt;
|start=2023/03/11 17:30:00&lt;br /&gt;
|end=2023/03/11 21:00:00&lt;br /&gt;
|location=Bitlair, Computerweg 20A&lt;br /&gt;
}}&lt;br /&gt;
Bitlair is (bijna) jarig! &lt;br /&gt;
  &lt;br /&gt;
Wij bestaan sinds 15 maart 2011, dus omdat wij 0xC jaar worden is dit een reden voor een feestje.&lt;br /&gt;
Verder zitten we nu ook 5 jaar in space 3.0!&lt;br /&gt;
&lt;br /&gt;
Er is vrije toegang voor hackers en geïnteresseerden. We zijn open vanaf &amp;lt;b&amp;gt;17:30&amp;lt;/b&amp;gt; (na de [[Events/2023-03-11_Deelnemersvergadering]]).&lt;br /&gt;
&lt;br /&gt;
== Nomz! ==&lt;br /&gt;
We organiseren een BBQ die start rond &amp;lt;b&amp;gt;19:00&amp;lt;/b&amp;gt;. De kosten voor de BBQ zijn &amp;lt;b&amp;gt;13.37 euro&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Zet jezelf op de lijst, of vraag iemand dit voor je te doen, bijvoorbeeld door op [[Contact|IRC]] te vragen.&lt;br /&gt;
&lt;br /&gt;
=== Inschrijvingen -&amp;gt; open ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;BBQParticipants&amp;quot;&lt;br /&gt;
! Naam/Nick !! Vlees !! Vega !! Opmerkingen&lt;br /&gt;
{{BBQParticipant|Participant=AK47|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=Pixeljoch|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=Bob|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=Polyfloyd|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=NelusTheNerd|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=Hobbybob|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=Elborro|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=Xenomatrix|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=cmpxchg|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=morphje|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=jolo|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=Eightdot|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=Zawadi|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=Jan-Willem|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=Dany|Vlees=1}}&lt;br /&gt;
{{BBQParticipant|Participant=Flimpie|Vlees=1|Opmerkingen=omnomnomnomnom}}&lt;br /&gt;
|- Subtotaal || {{#ask:[[-Has subobject::{{FULLPAGENAME}}]]|?BBQVlees|limit=50|format=sum}} ||{{#ask:[[-Has subobject::{{FULLPAGENAME}}]]|?BBQVega|limit=50|format=sum}} ||&lt;br /&gt;
|-&lt;br /&gt;
! Totaal ||colspan=&amp;quot;2&amp;quot;| {{#ask:[[-Has subobject::{{FULLPAGENAME}}]]|?BBQVlees|?BBQVega|limit=50|format=sum}} || max: 50&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Flimpie</name></author>
	</entry>
	<entry>
		<id>https://bitlair.nl/index.php?title=Events/2023-03-11_Deelnemersvergadering&amp;diff=8522</id>
		<title>Events/2023-03-11 Deelnemersvergadering</title>
		<link rel="alternate" type="text/html" href="https://bitlair.nl/index.php?title=Events/2023-03-11_Deelnemersvergadering&amp;diff=8522"/>
		<updated>2023-02-22T19:42:39Z</updated>

		<summary type="html">&lt;p&gt;Flimpie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Event&lt;br /&gt;
|name=Events/2023-03-11 Deelnemersvergadering&lt;br /&gt;
|start=2023/03/11 15:00:00&lt;br /&gt;
|end=2023/03/11 17:00:00&lt;br /&gt;
|location=Bitlair, Computerweg 20A&lt;br /&gt;
}}&lt;br /&gt;
Op 11 maart organiseren we de periodieke deelnemersvergadering. Na de deelnemersvergadering houden we ons verjaardagsfeestje en BBQ: [[Events/2023-03-11_BBQ]]&lt;br /&gt;
&lt;br /&gt;
==Agenda==&lt;br /&gt;
* Presentatie jaarcijfers&lt;br /&gt;
* Retrospective afgelopen jaren&lt;br /&gt;
* Huisvesting&lt;br /&gt;
* Toekomst Bitlair&lt;br /&gt;
* Wat zie jij graag verbeterd aan de space?&lt;br /&gt;
&lt;br /&gt;
==Ik doe mee!==&lt;br /&gt;
Schrijf je hieronder in:&lt;br /&gt;
&lt;br /&gt;
* [[User:AK47]]&lt;br /&gt;
* [[User:Polyfloyd]]&lt;br /&gt;
* [[User:Pixeljoch]]&lt;br /&gt;
* [[User:Bob]]&lt;br /&gt;
* [[User:Procyon]]&lt;br /&gt;
* [[User:NelusTheNerd]]&lt;br /&gt;
* [[User:Hobbybob]]&lt;br /&gt;
* [[User:Jolo]]&lt;br /&gt;
* [[User:Jwrm22]]&lt;br /&gt;
* flimpie&lt;br /&gt;
* you?&lt;/div&gt;</summary>
		<author><name>Flimpie</name></author>
	</entry>
</feed>