# Uberspace # how to ideally set up a new uberspace instance 1. create uberspace 2. create SSH key (with password, key longer than RSA 8192) 3. integrate SSH key into kitty (or your preferred program) 4. login SSH 5. ``` uberspace tools version list php ``` 6. ``` uberspace tools version use php #(whatever is newest) ``` 7. do the same thing with any other software you have to use (like MongoDB and so on) now: set the newest version BEFORE you begin projects. 8. ``` uberspace web header set / Permissions-Policy "browsing-topics=()" ``` (that's about Google Topics, formerly FLoC) 9. ``` uberspace web domain add (your domain) ``` 10. set DNS A records accordingly planning to do WordPress? -> [https://lab.uberspace.de/guide\_wordpress-bedrock/](https://lab.uberspace.de/guide_wordpress-bedrock/) # Subdomains

Im Manual von Uberspace wünscht man sich keine Subdomains. Sie überlasten Server weil sie tendenziell für einzelne Services stehen. Man bittet darum pro Funktion einen Space zu öffnen und nicht alles auf tendenziell niedrig bezahlten Pay-what-you-want-Servern zu lagern, weil das zwangsweise für alle auf dem Server schlechtere Performance bedeutet.

### Subdomains einrichten 1. ```shell Uberspace web domain add subdomain.domain.tld ``` 2. A (IPv4) und AAAA (IPv6) Record gemäß Output setzen. Falls gewünscht/möglich als Wildcard mit \* #### Wenn Website (Apache) gewünscht 1. ```shell mkdir /var/www/virtual/$USER/subdomain ``` #### Wenn Service als Backend gewünscht [https://manual.uberspace.de/web-backends/](https://manual.uberspace.de/web-backends/) angepasst auf ```shell uberspace web backend set subdomain.domain.tld --http --port ``` #### Terminus Subdomain = nur der Teil der die Subdomain bezeichnet (**ISABELL**.uber.space) Domain = Domain (isabell.**UBER**.space) tld = Top-Level-Domain (isabell.uber.**SPACE**)

Nach [Manual](https://manual.uberspace.de/web-domains/#subdomains) können Subdomains von Hauptdomains nicht in verschiedenen Uberspaces geteilt werden. (Auch wenn DNS-Einträge das splitten mehrerer Subdomains auf verschiedene Hosts theoretisch möglich machen würden)

wenn mkdir nicht gemacht, landet subomain.domain.tld in /var/www/virtual/$USER/html ([src](https://twitter.com/hallouberspace/status/1516069606326161411))

Gleiches natürlich dann auch mit Subdomains von uber.space oder mit Verkettung. Beispiel: sub.isabell.uber.space ### Subdomains nach Wunsch aus Uberspace Manual

Zwei mal 2,50 € ist für die Lastverteilung besser als einmal 5 € für einen Space.

1. [anderen Uberspace anlegen](https://wiki.notizlo.ch/books/uberspace/page/how-to-ideally-set-up-a-new-uberspace-instance) 2. uberspace web domain add subdomain.domain.tld 3. DNS record: subdomain im DNS record als A und AAAA gemäß output anlegen 4. gemäß der Info oben landet die Subdomain dann in /var/www/virtual/$USER/html ## Mailsubdomains Ist mehr oder weniger das gleiche wie mit uberspace web domain add - nur dass web durch mail ersetzt wird. # uberspace subcommands just the console output of the commands to save it for later. Like manpages in the internet. # Uberspace tools ### ```shell [$USER@$HOSTNAME ~]$ uberspace Configure your Uberspace account. usage: uberspace [options] uberspace --help Possible commands: mail - Configure mail server. port - Open ports in the firewall for direct TCP or UDP connections. takeout - Help for 'takeout' (Beta) tools - Manage command line tools and programming languages. web - Configure web server. [$USER@$HOSTNAME ~]$ uberspace tools Manage command line tools and programming languages. Possible commands: restart - Restart your running services. version - Manage installed versions of command line tools and programming languages. [$USER@$HOSTNAME ~]$ uberspace tools restart Restart your running services. Possible commands: php - restart your php-fpm instance [$USER@$HOSTNAME ~]$ uberspace tools version Manage installed versions of command line tools and programming languages. Possible commands: list - List available versions show - Show selected version use - Select version [$USER@$HOSTNAME ~]$ uberspace tools version list - couchdb - erlang - mongodb - node - php - postgresql - prolog - ruby - rust [$USER@$SERVER ~]$ uberspace tools version show -h usage: uberspace-tools-version-show [-h] [-v] feature Show selected version required arguments: feature the feature which should be modified (e.g. php) optional arguments: -h, --help show this help message and exit -v, --verbose run with a lot of debugging output [$USER@$SERVER ~]$ uberspace tools version use -h usage: uberspace-tools-version-use [-h] [-v] feature release Select version required arguments: feature the feature which should be modified (e.g. php) release release version number in the form of "Major" (e.g. "7") or "Major.Minor" (e.g. "7.0") you wish to set optional arguments: -h, --help show this help message and exit -v, --verbose run with a lot of debugging output ``` ### available versions ```shell [$USER@$HOSTNAME ~]$ date Wed 20 Apr 17:55:51 CEST 2022 [$USER@$HOSTNAME ~]$ uberspace tools version list couchdb - 3 [$USER@$HOSTNAME ~]$ uberspace tools version list erlang - 20 - 21 - 22 - 23 - 24 [$USER@$HOSTNAME ~]$ uberspace tools version list mongodb - 4.0 - 4.2 - 4.4 - 5.0 [$USER@$HOSTNAME ~]$ uberspace tools version list node - 12 - 14 - 16 [$USER@$HOSTNAME ~]$ uberspace tools version list php - 7.4 - 8.0 - 8.1 [$USER@$HOSTNAME ~]$ uberspace tools version list postgresql - 10 - 11 - 12 - 13 [$USER@$HOSTNAME ~]$ uberspace tools version list prolog - stable [$USER@$HOSTNAME ~]$ uberspace tools version list ruby - 2.5 - 2.6 - 2.7 - 3.0 [$USER@$HOSTNAME ~]$ uberspace tools version list rust - stable ``` someone should make a debugger for rust and call it wd40... (it's my joke from [over five years ago](https://devrant.com/rants/557405/debugger-for-rust-call-it-wd40) 😊) # Uberspace mail

If there's no MX pointing to the Uberspace server, every mailbox will end up on @$USER.uber.space

adresses like ![📧](https://abs-0.twimg.com/emoji/v2/72x72/1f4e7.png "E-Mail Symbol").$USER.uber.space (i.e. created as punycode variant xn--du8h are inconsistent between server and client. ([src](https://twitter.com/hallouberspace/status/1517965331305836544)) Here I just have to experiment more. Because of the parallels to domains I assume that punycode can also be applied to mail addresses and that emojis can be used as normal ASCII chars.

# Uberspace port # Uberspace takeout # Uberspace web