@page infrastructure Infrastructure

There are many moving parts supporting Tilde Friends beyond just the code that
makes it work. Below is a rough overview of various pieces involved.

```dot
digraph {
    dev [label="dev.tildefriends.net", URL="https://dev.tildefriends.net"];
    media [label="media.tildefriends.net", URL="https://media.tildefriends.net"];
    www [label="www.tildefriends.net", URL="https://www.tildefriends.net"];
    docs [label="docs.tildefriends.net", URL="https://docs.tildefriends.net"];

    gitea -> dev;
    dev -> ci;

    ci -> docs;

    peertube -> media;

    ci -> executables;

    ci [label="Continuous Integration"];


    ios -> ios_store;
    android -> fdroid;
    android -> google_play;

    ios_store [label="iOS App Store"];
    fdroid [label="F-Droid"];
    google_play [label="Google Play"];

    www -> blog;
    www -> ssb;
    www -> welcome;

    blog [label="blog\n(/~cory/tildeblog/)", URL="https://www.tildefriends.net/~cory/tildeblog/"];
    ssb [label="ssb\n(/~core/ssb/)", URL="https://www.tildefriends.net/~core/ssb/"];
    welcome [label="welcome\n(/~cory/welcome/)", URL="https://www.tildefriends.net/~cory/welcome/"];

    welcome -> blog;
    welcome -> dev;
    welcome -> docs;
    welcome -> media;
    welcome -> ssb;

    dev -> welcome;

    subgraph cluster_code {
        label="code";

        makefile;
        src [label="src/\n(server-side C)"];
        core [label="core/\n(mostly client-side JS)"];
        apps [label="apps/\n(stock apps)"];
    }

    makefile -> executables;
    src -> executables;
    core -> executables;
    apps -> executables;

    subgraph cluster_artifacts {
        label="artifacts";

    appimages [label="AppImages (Linux)"];
        windows_exe [label="tildefriends.exe (win32)"];
        ios [label="tildefriends.ipa (iOS)"];
        android [label="tildefriends.apk, tildefriends.aab (Android)"];
    };

    executables -> www;
    executables -> appimages;
    executables -> ios;
    executables -> android;
    executables -> windows_exe;

    src -> docs;
    markdown -> docs;

    markdown [label="docs/"];
}
```
