3.4 KiB
Installing TrashPoss with Docker
This guide is based on docker compose
/Docker Compose v2, but docker-compose
/Docker Compose v1 should work as well. Docker 20.10+ is required for building your own images because of BuildKit usage, and Docker 20.10 users need to enable BuildKit first, or upgrade to latest Docker.
Preparations
Getting needed files
If you want to use the prebuilt images:
GIT_LFS_SKIP_SMUDGE=1 git clone https://iceshrimp.dev/Crimekillz/trashposs.git --depth=1
If you want to build your own images (make sure to install git-lfs
and to run git lfs install
before running the command):
git clone https://iceshrimp.dev/Crimekillz/trashposs.git
docker-compose.yml
First, run cp docs/examples/docker-compose.yml docker-compose.yml
, and edit docker-compose.yml
if you want to build the image yourself or choose a different tag
.config
Run cp .config/docker_example.env .config/docker.env
, and edit .config/docker.env
and fill it with the database credentials you want.
Run cp .config/example-docker.yml .config/default.yml
, and edit .config/default.yml
- Replace example database credentials with the ones you entered in
.config/docker.env
- Change other configuration
If you are running TrashPoss on a system with more than one CPU thread, you might want to set the clusterLimit
config option to about half of your thread count, depending on your system configuration. Please note that each worker requires around 10 PostgreSQL connections, so be sure to set max_connections
appropriately. To do this with docker-compose, add args: ["-c", "max_connections=n"]
to the db:
section of docker-compose.yml
, with n
being (10 * no_workers) + 10
.
Installation and first start
Choose a method, whether you chose to build the image yourself or not.
Note: Ctrl-C will shut down TrashPoss gracefully.
Pulling the image
docker compose pull
docker compose up
Building the image
Depending on your machine specs, this can take well over 30 minutes
docker compose build
docker compose up
Starting TrashPoss automatically
Run docker compose up -d
and TrashPoss will start automatically on boot.
Updating TrashPoss
Pulling the image
docker compose pull
docker compose down
docker compose up -d
Building the image
## Run git stash commands only if you have uncommitted changes
git stash
git pull
git stash pop
docker compose build
docker compose down
docker compose up -d
Post-install
See post-install.
Troubleshooting
WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition.
If you see a warning like this, you have to enable overcommit on your host machine (outside docker, since /proc is read-only for redis). Solution
echo "vm.overcommit_memory = 1" | sudo tee /etc/sysctl.d/trashposs-memory-overcommit.conf should be set, to enable Memory overcommit on reboot, change will apply after reboot or see the line below how to activate it temporary without reboot
sysctl "vm.overcommit_memory=1" enables Memory overcommit on-the-fly, you can then start TrashPoss with "docker-compose up -d"