This repository has been archived by the owner on Jun 7, 2022. It is now read-only.
Add cross-compliation and package building for arm64 for go-ssb-room #23
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds the capability to peach-package-builder to build a debian package of go-ssb-room for arm64 for running on a peachcloud device.
Its tested and working, and I was able to access the go-ssb-room admin interface through the web and to accept invites from the room via other devices.
A few open TODOS/questions, if this were to be more polished:
A- How to dynamically get the dns name into the go-ssb-room systemd service file. Currently its hardcoded for the domain I was testing with (roomtest2.commoninternet.net). We would probably want this to be read from /var/lib/peachcloud/config.yml , which would involved using some type of script from within the systemd unit file which parses that value (I imagined perhaps we could have another peach-config command,
peach-config env ENV_VAR
which looks up and returns the value of an ENV_VAR in config.yml, or something along these lines... a microservice for looking up peachcloud environmental variable values, which the go-ssb-room systemd file could make use of.)B- There is another small little issue, that the peachcloud admin interface, and the go-ssb-room admin interface, would actually need to have different domains, so that they don't conflict... perhaps if the main domain is littleorchard.dyn.peachcloud.org , the room domain could be room.littleorchard.dyn.peachcloud.org ... I would also need to build stuff in to the dyndns logic, to make sure that it keeps both domains dynamically up to date and pointing to the IP of the pi
C- I've been having issues getting certbot to work from the pi on my local network. I keep getting a firewall error from certbot (although I haven't figured out what firewall its running into). What I ended up doing was running certbot on a digital ocean droplet, where certbot ran successfully for my domain, and then copying over the SSL certificates to the pi. This worked. However, if we wanted something more automated in the future, we might need some type of utility on the pi that generates the ssl certificates for the dynamic dns domain, and then configures the nginx conf appropriately using these certs. This sounds possible but non-trivial
cc @mycognosist