Emi Matchu
a9495c09bf
I adapted this from the one I wrote last night for the `openneo-analytics` repo!
43 lines
1.9 KiB
Markdown
43 lines
1.9 KiB
Markdown
# OpenNeo Code
|
|
|
|
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/
|