**WIP** docker build configuration files to run the Treebird FCGI from a container
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.
 
 
ICScaryThings a8a0ae5097 Add files to build a local testing nginx setup 4 weeks ago
mastodont-c@316778687b hopefully this will fix it... 4 weeks ago
nginx-test Add files to build a local testing nginx setup 4 weeks ago
patches Add patch to fix compile breakage due to a missing file 4 weeks ago
treebird@0e71de0ba6 hopefully this will fix it... 4 weeks ago
.gitmodules Set branches to fix submodules 4 weeks ago
Dockerfile allow FCGI to be connected to with -p port:port instead of using --network host set 1 month ago
README.md misc info to readme 4 weeks ago
TODO todo 1 month ago
build_container.sh Add files to build a local testing nginx setup 4 weeks ago
configure_build.sh fuck it just use bash since I keep running into things breaking that don't make sense 4 weeks ago

README.md

Containerized Treebird FE Build

This git repo contains the files needed to builder a docker containerized setup of nekobit's C FCGI based Treebird Front End for Pleroma or other Mastodon compatibles.

How to build the container image

The build is divided into two parts to allow you to make custom configuration changes. Run the following to prepare the container build configuration.

./configure_build.sh instance_domain treebird_domain [treebird_fcgi_port (optional)]

options:

  • instance_domain: domain of the instance for Treebird FE to connect to (ex: sleepy.cafe)
  • treebird_domain: domain you plan serve Treebird on (ex: treebird.mysite.com)
  • treebird_fcgi_port: internal FCGI port for your http server to communicate with Treebird DO NOT set this unless you have a port conflict (default: 4008)

The script will generate a folder named configs/ containing configuration files you can edit further as needed before starting the build. Once ready, run the following:

./build_container.sh [image_name (optional)] [container_name (optional)]

NOTE: Unless your user is a member of the docker group, you will need root for this!

The build should complete without errors and if you run docker image ls you should see treebird:latest (or whatever alt image tag you set in the previous command).

Troubleshooting

Various issues I have seen and solutions

Random Issue I Saw - I

On older versions of debian you need to install docker.io to get docker (the container software) rather than docker (some utility for docking widgets in GUIs I think).

Random Issue I Saw - II

If the container build fails and you get the following message:

The key(s) in the keyring /etc/apt/trusted.gpg.d/debian-archive-bullseye-automatic.gpg are ignored as the file is not readable by user '_apt' executing

Try building the container locally or on another system. I saw this when running from debian stable VPS. I think it is some kind of permission issue due to kernel or docker version differences because the exact same image runs fine on other host distros.

After building elsewhere you can do the following:

docker save treebird:latest -o treebird.dsave
rsync -avP treebird.dsave name@myserver:~/
ssh name@myserver
docker load -i treebird.dsave

Random Issue I Saw - III

In the nginx config it handles more than one set of a fastcgi_param very poorly so if you include fastcgi.conf and try to set SCRIPTNAME after, it will fail to update it and you will get the usual fastcgi cryptic error.