mastodont-c@f16c12e04f | ||
treebird@7b41f083f1 | ||
.gitmodules | ||
build_container.sh | ||
configure_build.sh | ||
Dockerfile | ||
README.md | ||
TODO |
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.