Remove org-mode readme

Implements #49
This commit is contained in:
Eric S. Londres 2022-11-27 21:14:19 -05:00
parent cbdadef165
commit d2195ca1b9
Signed by: slondr
GPG Key ID: A2D25B4D5CB970E4
3 changed files with 76 additions and 96 deletions

View File

@ -1,20 +1,23 @@
# egalaxyd
# Status
A smallweb server from proton to supercluster.
## Status
egalaxyd provides a robust, parallel, fault-tolerant server for the Gemini and Spartan protocols. It is production-ready, although not fully battle tested.
egalaxyd really shines when run on a multi-core computer, and will take full advantage of the CPU resources it can get its hands on. Despite this, egalaxyd is very memory-efficient, and will typically not use more than 64 MB of memory even under heavy sustained load (in the realm of tens of thousands of simultaneous requests served on commodity hardware).
## Gemini support
### Gemini support
egalaxyd supports basic server functionality. Properly-formed requests are usually handled correctly. Directory re-writing, MIME type support, and basic response codes are implemented. Application errors or erroneous requests do not cause the entire server to crash; egalaxyd is self-healing.
There is a list of features and bugfixes which guard the road to v1.0, tracked in .
There is a list of features and bugfixes which guard the road to v1.0, tracked in the roadmap:
=> roadmap.org Roadmap
## Spartan support
### Spartan support
egalaxyd's spartan server is fairly complete. Properly-formed requests are handled correctly. There may be some rough edges with regards to configuration.
@ -23,40 +26,48 @@ By default, egalaxyd listens for Spartan requests on port 3000. This is user-con
No special attention is paid to the interactive portions of the Spartan protocol specification.
# Setup instrutions
## Setup instrutions
## Quickstart with docker
### Quickstart with docker
Just `docker run -it -p 1965:1965 -p 300:3000 tildegit.org/slondr/egalaxyd:latest `. Boom, you are now serving content on Gemini at port 1965 and on Spartan at port 300. Yeah, it's that easy! (Assuming you had rights to port 300).
Just
```
docker run -it -p 1965:1965 -p 300:3000 tildegit.org/slondr/egalaxyd:latest
```
Boom, you are now serving content on Gemini at port 1965 and on Spartan at port 300. Yeah, it's that easy! (Assuming you had rights to port 300).
Note that the docker setup command creates an SSL certificate that is very well-known. It's useful to check your network setup by hitting localhost:1965 with a gemini client and seeing the hello world message, but if you get beyond that point you must delete the `server.crt' and `server.key' files and re-generate them using your actual domain information.
The container will serve files directly out of the `/root/public' directory by default, so just put more gmi files (or whatever you want to serve) there.
## Installing from source
### Installing from source
This is the recommended way to install production instances of egalaxyd.
Run `MIX_ENV=prod mix deps.get; mix release', and then executed the indicated start command (by default, `_build/prod/rel/egalaxyd/bin/egalaxyd start `). egalaxyd is now serving files on both Gemini and Spartan from your current working directory!
Run MIX_ENV=prod mix deps.get; mix release, and then executed the indicated start command, which by default is:
```
_build/prod/rel/egalaxyd/bin/egalaxyd start
```
egalaxyd is now serving files on both Gemini and Spartan from your current working directory!
Make sure you start the application from a working directory containing the toml config file and your SSL certificate.
Make sure you start the application from a working directory containing the toml config file and your SSL certificate.
The releases command also produces a tarball, which can be copied to another machines, untarred and run as-is. The other machine does *not* need Erlang or Elixir installed on the machine; egalaxyd has no external dependencies except ncurses when run this way. The build machine and target machine must have the same target triple (OS, architecture, ABI) though.
# History
## History
egalaxyd started life as a Gemini server named `Geminex', which became feature-complete as a Gemini server by version 0.2. A separate but technically very similar spartan protocol server named `Diarchy' was written about six months later. In late July 2022, the project ambitions were merged into a single monolithic application, mainly out of a desire to implement Titan support for both servers at the same time.
The first version of the project under the name egalaxyd was 0.3, to represent a linear transition forward from geminex.
# Motivation
## Motivation
I wanted a Gemini server that is both braindead easy to use quickly (think like `serve' in the Node space or `http.server' in Python) and viable for serious production use.
In support of those goals, egalaxyd aims to implement reasonable conventions without necessary configuration, and strives for fault-tolerance and scalability.
If you want more of a marketing pitch, see [this (now very-outdated) gemlog post].
=> gemini://tilde.pink/~slondr/geminex.gmi this (now very-outdated) gemlog post
If you want more of a marketing pitch, see this (now very-outdated) gemlog post:
=> gemini://tilde.pink/~slondr/geminex.gmi original geminex announcement

View File

@ -1,61 +1,75 @@
# egalaxyd
A smallweb server from proton to supercluster.
## Status
egalaxyd provides a robust, parallel, fault-tolerant server for the Gemini and Spartan protocols. It is production-ready, although not fully battle tested.
egalaxyd really shines when run on a multi-core computer, and will take full advantage of the CPU resources it can get its hands on. Despite this, egalaxyd is very memory-efficient, and will typically not use more than 64 MB of memory even under heavy sustained load (in the realm of tens of thousands of simultaneous requests served on commodity hardware).
# Status
### Gemini support
egalaxyd provides a robust, parallel, fault-tolerant server for the Gemini and Spartan protocols. It is production-ready, although not fully battle tested.
egalaxyd supports basic server functionality. Properly-formed requests are usually handled correctly. Directory re-writing, MIME type support, and basic response codes are implemented. Application errors or erroneous requests do not cause the entire server to crash; egalaxyd is self-healing.
egalaxyd really shines when run on a multi-core computer, and will take full advantage of the CPU resources it can get its hands on. Despite this, egalaxyd is very memory-efficient, and will typically not use more than 64 MB of memory even under heavy sustained load (in the realm of tens of thousands of simultaneous requests served on commodity hardware).
There is a list of features and bugfixes which guard the road to v1.0, tracked in the roadmap:
[Roadmap](roadmap.org)
## Gemini support
egalaxyd supports basic server functionality. Properly-formed requests are usually handled correctly. Directory re-writing, MIME type support, and basic response codes are implemented. Application errors or erroneous requests do not cause the entire server to crash; egalaxyd is self-healing.
### Spartan support
There is a list of features and bugfixes which guard the road to v1.0, tracked in <roadmap.md>.
egalaxyd's spartan server is fairly complete. Properly-formed requests are handled correctly. There may be some rough edges with regards to configuration.
By default, egalaxyd listens for Spartan requests on port 3000. This is user-configurable.
No special attention is paid to the interactive portions of the Spartan protocol specification.
## Spartan support
## Setup instrutions
egalaxyd's spartan server is fairly complete. Properly-formed requests are handled correctly. There may be some rough edges with regards to configuration.
### Quickstart with docker
By default, egalaxyd listens for Spartan requests on port 3000. This is user-configurable.
Just
```
docker run -it -p 1965:1965 -p 300:3000 tildegit.org/slondr/egalaxyd:latest
```
Boom, you are now serving content on Gemini at port 1965 and on Spartan at port 300. Yeah, it's that easy! (Assuming you had rights to port 300).
No special attention is paid to the interactive portions of the Spartan protocol specification.
Note that the docker setup command creates an SSL certificate that is very well-known. It's useful to check your network setup by hitting localhost:1965 with a gemini client and seeing the hello world message, but if you get beyond that point you must delete the `server.crt' and `server.key' files and re-generate them using your actual domain information.
The container will serve files directly out of the `/root/public' directory by default, so just put more gmi files (or whatever you want to serve) there.
# Setup instrutions
### Installing from source
This is the recommended way to install production instances of egalaxyd.
## Quickstart with docker
Just `docker run -it -p 1965:1965 -p 300:3000 tildegit.org/slondr/egalaxyd:latest`. Boom, you are now serving content on Gemini at port 1965 and on Spartan at port 300. Yeah, it's that easy! (Assuming you had rights to port 300).
Note that the docker setup command creates an SSL certificate that is very well-known. It's useful to check your network setup by hitting localhost:1965 with a gemini client and seeing the hello world message, but if you get beyond that point you must delete the `server.crt` and `server.key` files and re-generate them using your actual domain information.
The container will serve files directly out of the `/root/public` directory by default, so just put more gmi files (or whatever you want to serve) there.
## Installing from source
This is the recommended way to install production instances of egalaxyd.
Run `MIX_ENV=prod mix deps.get; mix release`, and then executed the indicated start command (by default, `_build/prod/rel/egalaxyd/bin/egalaxyd start`). egalaxyd is now serving files on both Gemini and Spartan from your current working directory!
Run MIX_ENV=prod mix deps.get; mix release, and then executed the indicated start command, which by default is:
```
_build/prod/rel/egalaxyd/bin/egalaxyd start
```
egalaxyd is now serving files on both Gemini and Spartan from your current working directory!
Make sure you start the application from a working directory containing the toml config file and your SSL certificate.
# History
egalaxyd started life as a Gemini server named `Geminex`, which became feature-complete as a Gemini server by version 0.2. A separate but technically very similar spartan protocol server named `Diarchy` was written about six months later. In late July 2022, the project ambitions were merged into a single monolithic application, mainly out of a desire to implement Titan support for both servers at the same time.
The first version of the project under the name egalaxyd was 0.3, to represent a linear transition forward from geminex.
The releases command also produces a tarball, which can be copied to another machines, untarred and run as-is. The other machine does *not* need Erlang or Elixir installed on the machine; egalaxyd has no external dependencies except ncurses when run this way. The build machine and target machine must have the same target triple (OS, architecture, ABI) though.
# Motivation
## History
I wanted a Gemini server that is both braindead easy to use quickly (think like `serve` in the Node space or `http.server` in Python) and viable for serious production use.
egalaxyd started life as a Gemini server named `Geminex', which became feature-complete as a Gemini server by version 0.2. A separate but technically very similar spartan protocol server named `Diarchy' was written about six months later. In late July 2022, the project ambitions were merged into a single monolithic application, mainly out of a desire to implement Titan support for both servers at the same time.
In support of those goals, egalaxyd aims to implement reasonable conventions without necessary configuration, and strives for fault-tolerance and scalability.
The first version of the project under the name egalaxyd was 0.3, to represent a linear transition forward from geminex.
If you want more of a marketing pitch, see this (now very-outdated) gemlog post (gemini://tilde.pink/~slondr/geminex.gmi).
## Motivation
I wanted a Gemini server that is both braindead easy to use quickly (think like `serve' in the Node space or `http.server' in Python) and viable for serious production use.
In support of those goals, egalaxyd aims to implement reasonable conventions without necessary configuration, and strives for fault-tolerance and scalability.
If you want more of a marketing pitch, see this (now very-outdated) gemlog post:
[original geminex announcement](gemini://tilde.pink/~slondr/geminex.gmi)

View File

@ -1,45 +0,0 @@
#+title: egalaxyd
#+subtitle: a smallweb server from proton to supercluster
#+author:
#+options: toc:nil num:nil
* Status
egalaxyd provides a robust, parallel, fault-tolerant server for the Gemini and Spartan protocols. It is production-ready, although not fully battle tested.
egalaxyd really shines when run on a multi-core computer, and will take full advantage of the CPU resources it can get its hands on. Despite this, egalaxyd is very memory-efficient, and will typically not use more than 64 MB of memory even under heavy sustained load (in the realm of tens of thousands of simultaneous requests served on commodity hardware).
** Gemini support
egalaxyd supports basic server functionality. Properly-formed requests are usually handled correctly. Directory re-writing, MIME type support, and basic response codes are implemented. Application errors or erroneous requests do not cause the entire server to crash; egalaxyd is self-healing.
There is a list of features and bugfixes which guard the road to v1.0, tracked in file:roadmap.org.
** Spartan support
egalaxyd's spartan server is fairly complete. Properly-formed requests are handled correctly. There may be some rough edges with regards to configuration.
By default, egalaxyd listens for Spartan requests on port 3000. This is user-configurable.
No special attention is paid to the interactive portions of the Spartan protocol specification.
* Setup instrutions
** Quickstart with docker
Just ~docker run -it -p 1965:1965 -p 300:3000 tildegit.org/slondr/egalaxyd:latest~. Boom, you are now serving content on Gemini at port 1965 and on Spartan at port 300. Yeah, it's that easy! (Assuming you had rights to port 300).
Note that the docker setup command creates an SSL certificate that is very well-known. It's useful to check your network setup by hitting localhost:1965 with a gemini client and seeing the hello world message, but if you get beyond that point you must delete the =server.crt= and =server.key= files and re-generate them using your actual domain information.
The container will serve files directly out of the =/root/public= directory by default, so just put more gmi files (or whatever you want to serve) there.
** Installing from source
This is the recommended way to install production instances of egalaxyd.
Run =MIX_ENV=prod mix deps.get; mix release=, and then executed the indicated start command (by default, ~_build/prod/rel/egalaxyd/bin/egalaxyd start~). egalaxyd is now serving files on both Gemini and Spartan from your current working directory!
Make sure you start the application from a working directory containing the toml config file and your SSL certificate.
* History
egalaxyd started life as a Gemini server named =Geminex=, which became feature-complete as a Gemini server by version 0.2. A separate but technically very similar spartan protocol server named =Diarchy= was written about six months later. In late July 2022, the project ambitions were merged into a single monolithic application, mainly out of a desire to implement Titan support for both servers at the same time.
The first version of the project under the name egalaxyd was 0.3, to represent a linear transition forward from geminex.
* Motivation
:PROPERTIES:
:ID: 9bdbc436-6b11-4209-abc2-344a9f81185e
:END:
I wanted a Gemini server that is both braindead easy to use quickly (think like =serve= in the Node space or =http.server= in Python) and viable for serious production use.
In support of those goals, egalaxyd aims to implement reasonable conventions without necessary configuration, and strives for fault-tolerance and scalability.
If you want more of a marketing pitch, see [[gemini://tilde.pink/~slondr/geminex.gmi][this (now very-outdated) gemlog post]].