Uberspace 7 Lab

repository·main·Indexed 43 days ago

https://github.com/uberspace/lab

A community-driven collection of guides and tips for running software on Uberspace 7, featuring installation and configuration instructions for applications such as 2FAuth, Ackee, and Actual Budget.

Tokens
234K
Snippets
1.1K
Records
1.2K
Agent score
56%

What's inside Uberspace Lab

  1. Overview of Uberlab guides

    main

    Uberlab is a collection of hands-on how-to guides specifically designed for Uberspace 7. It serves as a practical supplement to the official Uberspace Manual, focusing on how to install and run various software applications on the Uberspace platform.

    Key usage notes:

    • The guides are written assuming a fresh account setup.
    • It is recommended to use one account per application.
    • These guides are specific to Uberspace 7. For Uberspace 8, use the U8 Lab instead.
  2. Boilerplate for new Uberspace Lab guides

    main

    When creating a new guide, use the following reST boilerplate to ensure proper metadata, categorization, and structure.

    Note: Replace placeholders like YourName, YourURL/YourMail, and the .. tag:: values with actual information.

    .. highlight:: console
    
    .. author:: YourName <YourURL/YourMail>
    
    .. categorize your guide! refer to the current list of tags: https://lab.uberspace.de/tags
    .. tag:: lang-php
    .. tag:: web
    
    .. sidebar:: About
    
      .. image:: _static/images/loremipsum.png
          :align: center
    
    ##########
    Loremipsum
    ##########
    
    .. tag_list::
    
    Loremipsum_ dolor sit amet...
    
    ....
    
    License
    =======
    
    All relevant legal information can be found here
    
      * http://www.loremipsum.com/legal/privacy
    
    Prerequisites
    =============
    
    ....
    
    Installation
    ============
    
    Download the source
    -------------------
    
    Compile the code
    ---------------
    
    Configuration
    =============
    
    Configure the web server
    ------------------------
    
    Set up the daemon
    -----------------
    
    Finishing installation
    ======================
    
    Best practices
    ==============
    
    Security
    --------
    
    Tuning
    ======
    
    Updates
    =======
    
    Debugging
    =========
    
    Backup
    ======
    
    ----
    
    Tested with Loremipsum 1.22.1, Uberspace 7.1.1
    
    .. author_list::
  3. What is Mailman 3?

    main

    Mailman 3 is a suite of programs for managing electronic mail discussion and e-newsletter lists. It consists of four main components:

    • Mailman Core: The core delivery engine.
    • Postorius: The web user interface for list members and administrators.
    • HyperKitty: The web-based archiver.
    • Mailman client: Official Python bindings for interacting with the Core's REST administrative API.
  4. What is Beehive?

    main
    Beehive is an event and agent system that allows you to create automated agents triggered by events and filters. It uses a modular architecture where modules (called Hives) allow the system to interface with external services like Twitter, Tumblr, Email, IRC, Jabber, RSS, Jenkins, and Hue. By connecting these Hives, you can build complex automated workflows.
  5. Security and Backup considerations for Tor Onion Services

    main

    When running a Tor onion service on Uberspace, keep the following in mind:

    Security

    • Localhost Permissions: Users connecting via the onion service appear to your application as localhost connections. If your application grants special permissions to localhost, these permissions will apply to anyone connecting via the .onion domain.
    • Key Protection: The ~/onionservice directory contains critical cryptographic keys. Ensure this directory has restrictive permissions.

    Backup

    • Identity Keys: You must back up the ~/onionservice folder. These keys are randomly generated when Tor starts for the first time. If these keys are lost, your .onion domain is permanently lost.
  6. Understand InfluxDB 2 Data Modeling Concepts

    main

    InfluxDB 2 models data as time series. Understanding the hierarchy is essential for effective data management:

    • Organisation (~ workspace): Groups buckets and manages user access.
    • Bucket (~ database): Contains measurements and defines a retention period (how long data is stored).
    • Measurement (~ table): A specific set of time series data used for grouping points.
    • Point (~ row): A single entry consisting of a unique timestamp, one or more fields, and optional tags.
    • Field (~ column): A typed name and value pair. Fields are required but not indexed.
    • Tag (~ labels): A string name and value pair. Tags are optional but are indexed.

    Performance Tip: Use tags for metadata that you frequently use in query filters. Because tags are indexed, queries filtering by tags are significantly more performant than queries filtering by field values, which require scanning all values.

  7. How ssh-agent works on Uberspace servers

    main

    On Uberspace servers, ssh-agent (part of the OpenSSH suite) is used to persist unlocked SSH keys so you don't have to enter passphrases repeatedly. It works with ssh-add, which communicates with the agent via a Unix socket located in /tmp. The location of this socket is provided via the $SSH_AUTH_SOCK environment variable.

    Important Security/Resource Warning: Do not simply add ssh-agent to your shell startup scripts on Uberspace servers. Because of server permission settings, you cannot easily see or manage running agent processes. Running them in startup scripts can lead to resource exhaustion, potentially preventing you from SSHing into the server until staff manually terminates the agents. Additionally, ssh-agent is unsuitable for use with supervisord because it is designed to wrap commands or echo socket locations rather than run as a standalone daemon.

  8. Security considerations for Prometheus

    main

    Prometheus is designed with the assumption that:

    1. Untrusted users may have access to the Prometheus HTTP endpoint and logs.
    2. Only trusted users can change the command line, configuration files, rule files, and other aspects of the runtime environment.

    It is considered safe to make Prometheus reachable for everyone as long as only you have the ability to modify the configuration files and CLI arguments. If you require stricter access, you should implement basic authentication.

  9. Back up Frogtab data

    main

    Frogtab data management involves two distinct parts:

    1. User Task Data: Stored in the user's browser. Users can export backups manually or enable automatic backups via the Frogtab help page.
    2. Personal Link Data: Stored on your Uberspace in ~/frogtab.db. If you allow multiple users to create personal links, you should back up ~/frogtab.db regularly to prevent data loss during re-installations.
  10. Understand the authorship data structure

    main

    Authorship data is stored in the environment using two specific keys: authors and tags.

    Both keys map to a dictionary where:

    • Keys: The names of the documents.
    • Values: A list of authors or tags associated with that document.