th: compose out of the box, more-or-less

pull/59/head
kouhai dev 2023-03-18 01:54:21 -07:00
parent c9a49fc3dd
commit b822d60675
2 changed files with 15 additions and 10 deletions

View File

@ -14,7 +14,7 @@
# ---------- # ----------
# This identifies your server and cannot be changed safely later # This identifies your server and cannot be changed safely later
# ---------- # ----------
LOCAL_DOMAIN=example.com LOCAL_DOMAIN=localhost
# Use this only if you need to run mastodon on a different domain than the one used for federation. # Use this only if you need to run mastodon on a different domain than the one used for federation.
# You can read more about this option on https://docs.joinmastodon.org/admin/config/#web-domain # You can read more about this option on https://docs.joinmastodon.org/admin/config/#web-domain
@ -25,6 +25,7 @@ LOCAL_DOMAIN=example.com
# handler@example2.com etc. for the same user. LOCAL_DOMAIN should not # handler@example2.com etc. for the same user. LOCAL_DOMAIN should not
# be added. Comma separated values # be added. Comma separated values
# ALTERNATE_DOMAINS=example1.com,example2.com # ALTERNATE_DOMAINS=example1.com,example2.com
ALTERNATE_DOMAINS=mastodon.internal
# Use HTTP proxy for outgoing request (optional) # Use HTTP proxy for outgoing request (optional)
# http_proxy=http://gateway.local:8118 # http_proxy=http://gateway.local:8118
@ -43,14 +44,14 @@ LOCAL_DOMAIN=example.com
# Redis # Redis
# ----- # -----
REDIS_HOST=localhost REDIS_HOST=redis
REDIS_PORT=6379 REDIS_PORT=6379
# PostgreSQL # PostgreSQL
# ---------- # ----------
DB_HOST=/var/run/postgresql DB_HOST=db
DB_USER=mastodon DB_USER=postgres
DB_NAME=mastodon_production DB_NAME=mastodon_production
DB_PASS= DB_PASS=
DB_PORT=5432 DB_PORT=5432

View File

@ -2,16 +2,17 @@ version: '3'
services: services:
db: db:
restart: always restart: always
image: postgres:14-alpine image: postgres:15-alpine
shm_size: 256mb shm_size: 256mb
networks: networks:
- internal_network - internal_network
healthcheck: healthcheck:
test: ['CMD', 'pg_isready', '-U', 'postgres'] test: ['CMD', 'pg_isready', '-U', 'postgres']
volumes: volumes:
- ./postgres14:/var/lib/postgresql/data - ./data/postgres.15:/var/lib/postgresql/data
environment: environment:
- 'POSTGRES_HOST_AUTH_METHOD=trust' - 'POSTGRES_HOST_AUTH_METHOD=trust'
- 'POSTGRES_USER=mastodon'
redis: redis:
restart: always restart: always
@ -21,7 +22,7 @@ services:
healthcheck: healthcheck:
test: ['CMD', 'redis-cli', 'ping'] test: ['CMD', 'redis-cli', 'ping']
volumes: volumes:
- ./redis:/data - ./data/redis:/data
# es: # es:
# restart: always # restart: always
@ -56,7 +57,7 @@ services:
web: web:
build: . build: .
image: tootsuite/mastodon image: gitea.treehouse.systems/treehouse/mastodon:latest
restart: always restart: always
env_file: .env.production env_file: .env.production
command: bash -c "rm -f /mastodon/tmp/pids/server.pid; bundle exec rails s -p 3000" command: bash -c "rm -f /mastodon/tmp/pids/server.pid; bundle exec rails s -p 3000"
@ -68,6 +69,8 @@ services:
test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:3000/health || exit 1'] test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:3000/health || exit 1']
expose: expose:
- 3000 - 3000
ports:
- 3000:3000
labels: labels:
- traefik.enable=true - traefik.enable=true
- traefik.http.routers.web.rule=Host(`social-dev.treehouse.systems`) - traefik.http.routers.web.rule=Host(`social-dev.treehouse.systems`)
@ -82,10 +85,11 @@ services:
# - es # - es
volumes: volumes:
- ./public/system:/mastodon/public/system - ./public/system:/mastodon/public/system
# - ./data/postgres:/var/lib/postgresql/data
streaming: streaming:
build: . build: .
image: tootsuite/mastodon image: gitea.treehouse.systems/treehouse/mastodon:latest
restart: always restart: always
env_file: .env.production env_file: .env.production
command: node ./streaming command: node ./streaming
@ -111,7 +115,7 @@ services:
sidekiq: sidekiq:
build: . build: .
image: tootsuite/mastodon image: gitea.treehouse.systems/treehouse/mastodon:latest
restart: always restart: always
env_file: .env.production env_file: .env.production
command: bundle exec sidekiq command: bundle exec sidekiq