From 04004f5fc2ab2d9871923924a5722b2cfa154351 Mon Sep 17 00:00:00 2001 From: Dustin Stiles Date: Mon, 24 Mar 2025 18:21:00 -0400 Subject: [PATCH] docs(readme,hosting): improve docs --- README.md | 6 ++--- docs/hosting.md | 66 +++++++++++++++++++++++++++++++------------------ 2 files changed, 44 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 938d796..a32a324 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ -# dsfx +# Distributed Secure File Exchange (dsfx) -> Distributed Secure File Exchange - -_DSFX is a next generation file exchange that that liberates users from big tech._ +> DSFX is a next generation data exchange designed to be user friendly and excessively secure. ## Documentation diff --git a/docs/hosting.md b/docs/hosting.md index 37d1624..b4566d6 100644 --- a/docs/hosting.md +++ b/docs/hosting.md @@ -1,28 +1,52 @@ # Hosting -## Installation +This document describes how to set up and run your own DSFX server. It is +intended for users who want to run their own instance of DSFX, either for +testing or for production use. If you are looking for the DSFX client, please +see the [operating docs](./operating.md). If you are looking for the DSFX +administration docs, please see the [administration docs](./administration.md). + +- [Setup](#setup) + - [Dependencies](#dependencies) + - [Git Setup](#git-setup) + - [Binary Installation](#binary-installation) + - [Running](#running) +- [Configuration](#configuration) +- [Local Files](#local-files) + +--- + +## Setup Due to the maturity of the project, we haven't yet created a release strategy. -In order to install DSFX, we recommend building the project from source. +We have, however, fully embraced the go ecosystem - so you can use the go +toolchain to install the project from source. This is the recommended way to +install the project, as it will always give you the latest version of the code. ### Dependencies -In order to build the project from source, you will need to have git installed -on your system, as well as the go compiler. You can install these dependencies -using your system's package manager. For example, on Ubuntu, you can run: +- [git](https://git-scm.com/) +- [golang](https://go.dev/) -```bash -sudo apt-get install git golang -``` +In many cases, these tools are available in your system package manager. Here +are a few commands for various operating systems (not comprehensive): + +- **Ubuntu**: `sudo apt-get install git golang` +- **Fedora**: `sudo dnf install git golang` +- **Arch**: `sudo pacman -S git go` +- **macOS**: `brew install git go` + +If the above commands don't work for you, please refer to the official +documentation for your operating system. ### Git Setup Currently we are hosted on **gitea cloud**, which hides everything from the -public internet by default. This means that you will need to authenticate with -your gitea account as if you were cloning a private repository, even though our -repository is public. An easy way to do this is with the `.netrc` file combined -with a personal access token. You can create a `.netrc` file in your home directory -with the following contents: +public internet by default. This means that the machine you are deploying to +will need to be able to access the gitea cloud instance. One way to do this is +to use the `.netrc` file in conjunction with a personal access token. Once you +have a personal access token, you can create a `.netrc` file in your home +directory with the following contents: ```plaintext machine koti.casa login password @@ -38,7 +62,7 @@ export GOPRIVATE=koti.casa If you want to persist this setting across sessions, you can add the above line to your `~/.bashrc` or `~/.bash_profile`. -### Installation +### Binary Installation Now that you have the go toolchain set up with access to our repository, you can simply install the project by using the `go install` command. @@ -49,16 +73,10 @@ go install koti.casa/numenorlabs/dsfx/cmd/dsfx@main ### Running -You can run the DSFX server using the `dsfx` command, which will be available in your `$GOPATH/bin` -directory after installation. If you have added `$GOPATH/bin` to your `PATH`, you can run the server -directly from the command line: - -```bash -dsfx -``` - -Optionally, you can run the command directly via the `go run` command if you prefer not to install -the project globally. This can be done with the following command: +If you are familiar with the go toolchain, you can run the executables in the +`cmd` directory directly. For other users, we recommend using the `go run` +command to run the project. This will automatically download and install the +dependencies for you, and run the project in a single command. ```bash go run koti.casa/numenorlabs/dsfx/cmd/dsfx@main