Write a README

I adapted this from the one I wrote last night for the
`openneo-analytics` repo!
This commit is contained in:
Emi Matchu 2024-01-15 00:08:36 -08:00
parent 695d85cc5b
commit a9495c09bf
2 changed files with 45 additions and 1 deletions

View file

@ -1,3 +1,43 @@
# OpenNeo Code
TODO: Write this! <3
This is the deployment code we use to set up and manage code.openneo.net,
a self-hosted copy of [Forgejo][fj]! It's a very GitHub-like service, but we
control the data. (Microsoft's recent approach to AI has me feeling real
anxious about continuing to develop on there!)
We like to use Ansible playbooks to keep track of how we set up our servers,
here's how we've structured them! (We don't use very fancy Ansible features:
these are all very basic commands, captured in script form for convenience!)
- `setup-users.yml`: Sets up the user accounts for the system, with their SSH
keys for login.
- `setup-security.yml`: Sets up firewall rules and automatic system updates.
(This is a standard playbook I use for all my servers!)
- `setup-forgejo.yml`: Sets up the Forgejo server itself, as a `systemd`
service running Forgejo's official Linux binary.
You can run them individually, or all at once, with `run.sh`:
run.sh setup-all.yml
If you're interested in setting up your own Forgejo service, this could be
useful as a starting point, there's not much custom here! Just a couple things
to note:
- `setup-users.yml` contains my own username and my own SSH public keys—you'll
want to replace those! (Public SSH keys aren't secret, don't worry, I'm fine!)
- `files/app.ini` includes some custom config you'll need to replace, like our
domain name. (We also opt to use Forgejo's built-in HTTPS support, via
Let's Encrypt!)
- You'll need to create your own copy of the secret token files in
`files/secrets`. See the `README` in there for more details!
- We used the latest version of Forgejo available at the time we deployed,
but it's possible you're reading this later. It's worth checking out
Forgejo's own self-hosting instructions, and making sure you download the
latest version.
- This code is distributed under the GPLv3 license; see the `LICENSE` file for
more details.
Hope this helps!
[fj]: https://forgejo.org/

4
setup-all.yml Normal file
View file

@ -0,0 +1,4 @@
---
- import_playbook: setup-users.yml
- import_playbook: setup-security.yml
- import_playbook: setup-forgejo.yml