Our patched version of Hometown
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
decentral1se 1116157d16
docs: update diff
1 year ago
.gitignore init 1 year ago
README.md docs: update diff 1 year ago



fork hell

release management

We're using Hometown with this PR merged in. Yes, that's a fork of a fork. The process of making a new release is basically merging that PR into the latest Hometown, building, tagging & pushing a container and then updating the hometown recipe configs. Then deploy it and debug any issues.

How to do it, you ask? Abandon all hope. Computers were a mistake.

  1. Clone hometown, git fetch -a, git remote add sso https://github.com/chandrn7/smalltown.git, git fetch -a sso
  2. Check out the hometown tag you want, start cherrypicking the commits the PR. This view is handiest. You can copy/pasta each commit hash with that button and see what conflicts you need to resolve. Yep, you'll be blindly resolving conflicts between two forks.
  3. If you're lucky enough to get this far, you now need to build a new container. docker build -t <name> . and see what happens . Add RUN cat /etc/ssl/certs/ca-certificates.crt > /opt/mastodon/vendor/bundle/ruby/2.7.0/gems/httpclient-2.8.3/lib/httpclient/cacert.pem to the Dockerfile (ref). You might need to do this absolutely random step in order to get bundler/gem/ruby to install the damn thing. Also try wiping out RUBY VERSION / BUNDLED WITH in the Gemfile.lock when running the build. You generally just end up reading the errors and then chaotically hacking the Gemfile / Gemfile.lock file until it works. If you get to the yarn building step, you might actually make it.
  4. Push the container & update the Co-op Cloud recipe (compose.oidc.yml)
  5. Deploy the thing & pray
  6. Hope you never have to do this again


diff --git a/Dockerfile b/Dockerfile
index cbcdb2034..5dc1acc2f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -59,6 +59,8 @@ RUN cd /opt/mastodon && \
        bundle install -j"$(nproc)" && \
        yarn install --pure-lockfile

+RUN cat /etc/ssl/certs/ca-certificates.crt > /opt/mastodon/vendor/bundle/ruby/2.7.0/gems/httpclient-2.8.3/lib/httpclient/cacert.pem
 FROM ubuntu:20.04

 # Copy over all the langs needed for runtime
diff --git a/Gemfile.lock b/Gemfile.lock
index a01341fc9..573c8e776 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -279,8 +279,8 @@ GEM
     http-parser (1.2.1)
       ffi-compiler (>= 1.0, < 2.0)
     http_accept_language (2.1.1)
-    httplog (1.5.0)
     httpclient (2.8.3)
+    httplog (1.5.0)
       rack (>= 1.0)
       rainbow (>= 2.0.0)
     i18n (1.8.10)
@@ -843,9 +843,3 @@ DEPENDENCIES
   webpacker (~> 5.4)
   webpush (~> 0.3)
   xorcist (~> 1.1)
-   ruby 2.6.5p114
-   1.17.2