diff options
| author | EuAndreh <eu@euandre.org> | 2020-08-14 08:36:23 -0300 |
|---|---|---|
| committer | EuAndreh <eu@euandre.org> | 2020-08-14 08:36:23 -0300 |
| commit | dcd53d253715d0794a239c9a4b679f9286555211 (patch) | |
| tree | 670c8caf46d61c8f95efc72397cb5eb55da9d20e /TODOs.org | |
| parent | Add .tfplan extension to Terraform plan files (diff) | |
| download | toph-dcd53d253715d0794a239c9a4b679f9286555211.tar.gz toph-dcd53d253715d0794a239c9a4b679f9286555211.tar.xz | |
Setup cgit and Prosody
The TLS setup for Prosody is broken, though.
Diffstat (limited to 'TODOs.org')
| -rw-r--r-- | TODOs.org | 78 |
1 files changed, 71 insertions, 7 deletions
@@ -1,6 +1,46 @@ * Tasks - v4 -** TODO snapshot with swap -** TODO cron: borg, postgresql backup and nixos update +** TODO Prosody in localhost +** TODO Prosody in NixOS with NGINX +https://www.reddit.com/r/linuxadmin/comments/7z0ahv/prosody_behind_reverse_proxy/dunbdmv/: +#+BEGIN_SRC nginx +server { + listen 80; + listen [::]:80; + server_name xmpp.domain.com + + return 301 https://$host$request_uri; +} + +server { + listen 443 ssl; + listen [::]:443 ssl; + + ssl on; + ssl_certificate /path/to/cert; + ssl_certificate_key /path/to/key; + + location / { + proxy_pass http://192.168.2.101:5222; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + } +} +#+END_SRC +** TODO matterbridge +#+BEGIN_SRC nix +matterbridge = { + enable = false; + configFile = '' + ''; +}; +#+END_SRC +** TODO cgit +** TODO snapshot with swap: nixos-rebuild switch takes too much memory +Adding swap memory maybe be a lot slower, but allows me to stay inside the 512MB memory server plan +** TODO cron: borg, PostgreSQL backup and NixOS update and collect gargabe ** TODO Configure PostgreSQL permissions correctly ** TODO Harden the server *** TODO [#C] [[https://www.reddit.com/r/selfhosted/comments/bw8hqq/top_3_measures_to_secure_your_virtual_private/][Top 3 measures to secure your Virtual Private Server? (VPS)]] @@ -9,6 +49,7 @@ *** TODO [#B] [[https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/HTTP_Strict_Transport_Security_Cheat_Sheet.md][Check for HSTS header configuration]] *** TODO Move secrets outside the Nix store *** TODO Properly configure PostgreSQL +*** TODO Separate lighttpd user ownership from =$GIT_ROOT=? ** TODO Add volume And put in to fstab Can I use Terraform to automate the mounting? @@ -26,10 +67,13 @@ resource "vultr_block_storage" "vps_storage" { live = "yes" } #+END_SRC +** TODO EteSync? +** TODO Run cgit from nginx instead of using lighttpd * Services - v2 ** TODO =cloud.$tld=: Nextcloud: storage, calendar, contacts, notes and talk -** TODO =chat.$tld=: Matrix Synapse server, or a XMPP server -** TODO =git.$tld=: git-instaweb (or cgit) server with repositories from ~/dev/libre/ +** TODO =chat.$tld=: [[https://conversejs.org/][Converse]] interface to Prosody server +Setup under Prosody server, and bridge it with Telegram and WhatsApp using matterbridge. +** TODO =git.$tld=: cgit server with repositories from ~/dev/libre/ ** TODO =mail.$tld=: postfix, dovecot, spamassasin, opendkim, etc No need for roundcube, Nextcloud has a web interface client. ** TODO =$tld=: current Jekyll blog @@ -95,7 +139,27 @@ We could use the raw Droplet IP instead of the DNS A record, but I prefer callin * Questions ** How to best handle IP changes when the server changes? How does this affect the email sending IP reputation? * Scrath -https://federationtester.matrix.org/ -EteSync? -DHCP? + + + + # ssl = { + # cert = "/var/lib/acme/${envsubstConfiguration.TLD}/fullchain.pem"; + # key = "/var/lib/acme/${envsubstConfiguration.TLD}/key.pem"; + # }; + # virtualHosts = { + # "${envsubstConfiguration.prosodyTLD}" = { + # enabled = true; + # domain = "${envsubstConfiguration.prosodyTLD}"; + # ssl = { + # cert = "/var/lib/acme/${envsubstConfiguration.TLD}/fullchain.pem"; + # key = "/var/lib/acme/${envsubstConfiguration.TLD}/key.pem"; + # }; + # }; + # }; + # muc = [{ + # domain = envsubstConfiguration.prosodyMUCTLD; + # }]; + # uploadHttp = { + # domain = envsubstConfiguration.prosodyHTTPUploadTLD; + # }; |
