scripts/fogcutter/docker/mastodon.sh

109 lines
3.0 KiB
Bash
Executable File

#!/bin/bash
set -e
TRUSTED_PROXY_IP=172.25.0.0/16
LOCAL_DOMAIN=social.bigcavemaps.com
REDIS_HOST=mastodon-redis
REDIS_PORT=6379
DB_HOST=mastodon-pg
DB_USER=mastodon
DB_NAME=mastodon_production
DB_PASS=mastodon
DB_PORT=5432
up () {
docker run \
--detach \
--name mastodon-web \
--restart unless-stopped \
--env-file mastodon.env \
--env TRUSTED_PROXY_IP=$TRUSTED_PROXY_IP \
--env LOCAL_DOMAIN=$LOCAL_DOMAIN \
--env REDIS_HOST=$REDIS_HOST \
--env REDIS_PORT=$PORT \
--env DB_HOST=$DB_HOST \
--env DB_USER=$DB_USER \
--env DB_NAME=$DB_NAME \
--env DB_PASS=$DB_PASS \
--env DB_PORT=$DB_PORT \
--volume /bigdata/k8s-config/mastodon/public/system:/mastodon/public/system:rw \
--network pew-net \
ghcr.io/mastodon/mastodon:v4.1.5 bash -c "rm -f /mastodon/tmp/pids/server.pid; bundle exec rails s -p 3000"
docker run \
--detach \
--name mastodon-streaming \
--restart unless-stopped \
--env-file mastodon.env \
--env TRUSTED_PROXY_IP=$TRUSTED_PROXY_IP \
--env LOCAL_DOMAIN=$LOCAL_DOMAIN \
--env REDIS_HOST=$REDIS_HOST \
--env REDIS_PORT=$PORT \
--env DB_HOST=$DB_HOST \
--env DB_USER=$DB_USER \
--env DB_NAME=$DB_NAME \
--env DB_PASS=$DB_PASS \
--env DB_PORT=$DB_PORT \
--network pew-net \
ghcr.io/mastodon/mastodon:v4.1.5 node ./streaming
docker run \
--detach \
--name mastodon-sidekiq \
--restart unless-stopped \
--env-file mastodon.env \
--env TRUSTED_PROXY_IP=$TRUSTED_PROXY_IP \
--env LOCAL_DOMAIN=$LOCAL_DOMAIN \
--env REDIS_HOST=$REDIS_HOST \
--env REDIS_PORT=$PORT \
--env DB_HOST=$DB_HOST \
--env DB_USER=$DB_USER \
--env DB_NAME=$DB_NAME \
--env DB_PASS=$DB_PASS \
--env DB_PORT=$DB_PORT \
--volume /bigdata/k8s-config/mastodon/public/system:/mastodon/public/system:rw \
--network pew-net \
ghcr.io/mastodon/mastodon:v4.1.5 bundle exec sidekiq
# may have to run db:migrate if things don't work right away
docker run \
--detach \
--name mastodon-pg \
--restart unless-stopped \
--env POSTGRES_HOST_AUTH_METHOD=trust \
--env POSTGRES_USER=$DB_USER \
--env POSTGRES_DB=$DB_NAME \
--env POSTGRES_PASSWORD=$DB_PASS \
--volume /bigdata/k8s-config/mastodon/postgres/data:/var/lib/postgresql/data:rw \
--network pew-net \
docker.io/postgres:14-alpine
docker run \
--detach \
--name mastodon-redis \
--restart unless-stopped \
--volume /bigdata/k8s-config/mastodon/redis/data:/data:rw \
--network pew-net \
docker.io/redis:7-alpine
}
down () {
docker stop mastodon-web || true
docker rm mastodon-web || true
docker stop mastodon-streaming || true
docker rm mastodon-streaming || true
docker stop mastodon-sidekiq || true
docker rm mastodon-sidekiq || true
docker stop mastodon-pg || true
docker rm mastodon-pg || true
docker stop mastodon-redis || true
docker rm mastodon-redis || true
}
logs () {
docker logs --follow mastodon
}
$@