self-hosted/install.sh
Burak Yigit Kaya 84f904f7a1
feat: Use S3 node store with seaweedfs (#3498)
* feat: Use S3 node store with garage

* lol, fix bash

* moar bash

* lol

* hate bash

* fix moar bash

* Add healthcheck to garage service

Co-authored-by: Reinaldy Rafli <aldy505@proton.me>

* revert +x

* fix healthcheck, fix config

* add env var for garage size

* use better compression level

* simpler garage config

* add migration support

* feat: use seaweedfs as nodestore backend (#3842)

* feat: seaweedfs as s3 nodestore backend

* fix: 'server' was missing for seaweed

* feat: remove minimum volume free space

* feat: specify hostname on ip

* fix: grpc port on seaweed should be `-{service}.port.grpc` instead of `-{service}.grpcPort`

* fix: wrong access key & secret key; use localhost for internal comms

* fix: create index directory

* test: add sentry-seaweedfs volume into expected volumes

* debug: aaaaaaaaaaaaaaaaaaaaaaarrrrggggggghhhhhhhhhhhhhhh

* test: correct ordering for expected volumes

* chore: seaweedfs healthcheck to multiple urls

See https://stackoverflow.com/a/14578575/3153224

* chore: add swap for arm64 runners

* ci: debug memory issues for arm64 runners

* ci: turn off swapfile first

Turns out the arm64 runners already have 3GB of swap

* feat: nodestore config update behind a prompt/flag

* feat: set s3 lifecycle policy

* fix: seaweed is a busybox

* fix: try xml policy

* fix: go back to simplified json

* Revert "fix: go back to simplified json"

This reverts commit 2f1575dfe33db6f781b09d09b01f5382716b8826.

* chore: reword debug lifecycle policy

* fix: don't pollute APPLY_AUTOMATIC_CONFIG_UPDATES variable

---------

Co-authored-by: Reinaldy Rafli <github@reinaldyrafli.com>
2025-09-13 07:48:56 +07:00

47 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eEuo pipefail
test "${DEBUG:-}" && set -x
# Override any user-supplied umask that could cause problems, see #1222
umask 002
# Pre-pre-flight? 🤷
if [[ -n "${MSYSTEM:-}" ]]; then
echo "Seems like you are using an MSYS2-based system (such as Git Bash) which is not supported. Please use WSL instead."
exit 1
fi
source install/_logging.sh
source install/_lib.sh
# Pre-flight. No impact yet.
source install/parse-cli.sh
source install/detect-platform.sh
source install/dc-detect-version.sh
source install/error-handling.sh
# We set the trap at the top level so that we get better tracebacks.
trap_with_arg cleanup ERR INT TERM EXIT
source install/check-latest-commit.sh
source install/check-minimum-requirements.sh
# Let's go! Start impacting things.
# Upgrading clickhouse needs to come first before turning things off, since we need the old clickhouse image
# in order to determine whether or not the clickhouse version needs to be upgraded.
source install/upgrade-clickhouse.sh
source install/turn-things-off.sh
source install/create-docker-volumes.sh
source install/ensure-files-from-examples.sh
source install/check-memcached-backend.sh
source install/ensure-relay-credentials.sh
source install/generate-secret-key.sh
source install/update-docker-images.sh
source install/build-docker-images.sh
source install/bootstrap-s3-nodestore.sh
source install/bootstrap-snuba.sh
source install/upgrade-postgres.sh
source install/ensure-correct-permissions-profiles-dir.sh
source install/set-up-and-migrate-database.sh
source install/geoip.sh
source install/setup-js-sdk-assets.sh
source install/wrap-up.sh