159
mastodon/docker-compose.yml
Normal file
159
mastodon/docker-compose.yml
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
version: '3.9'
|
||||||
|
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: postgres:14-alpine
|
||||||
|
restart: unless-stopped
|
||||||
|
shm_size: 256mb
|
||||||
|
volumes:
|
||||||
|
- /home/nick/configs/mastodon/db:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
|
POSTGRES_USER: mastodon
|
||||||
|
POSTGRES_PASSWORD: mastodon
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:7-alpine
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- /home/nick/configs/mastodon/redis:/data
|
||||||
|
|
||||||
|
es:
|
||||||
|
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.4
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- /home/nick/configs/mastodon/es:/usr/share/elasticsearch/data
|
||||||
|
environment:
|
||||||
|
ES_JAVA_OPTS: -Xms512m -Xmx512m -Des.enforce.bootstrap.checks=true
|
||||||
|
xpack.license.self_generated.type: basic
|
||||||
|
xpack.security.enabled: false
|
||||||
|
xpack.watcher.enabled: false
|
||||||
|
xpack.graph.enabled: false
|
||||||
|
xpack.ml.enabled: false
|
||||||
|
bootstrap.memory_lock: true
|
||||||
|
cluster.name: es-mastodon
|
||||||
|
discovery.type: single-node
|
||||||
|
thread_pool.write.queue_size: 1000
|
||||||
|
ELASTIC_PASSWORD: mastodon
|
||||||
|
ulimits:
|
||||||
|
memlock:
|
||||||
|
soft: -1
|
||||||
|
hard: -1
|
||||||
|
nofile:
|
||||||
|
soft: 65536
|
||||||
|
hard: 65536
|
||||||
|
|
||||||
|
mastodon:
|
||||||
|
image: ghcr.io/mastodon/mastodon
|
||||||
|
restart: unless-stopped
|
||||||
|
command: bash -c "rm -f /mastodon/tmp/pids/server.pid; bundle exec rails s -p 3000"
|
||||||
|
volumes:
|
||||||
|
- /home/nick/configs/mastodon/public/system:/mastodon/public/system
|
||||||
|
environment:
|
||||||
|
LOCAL_DOMAIN: mastodon.karaolidis.com
|
||||||
|
SINGLE_USER_MODE: true
|
||||||
|
RAILS_ENV: production
|
||||||
|
REDIS_HOST: redis
|
||||||
|
REDIS_PORT: 6379
|
||||||
|
DB_HOST: db
|
||||||
|
DB_USER: mastodon
|
||||||
|
DB_NAME: mastodon
|
||||||
|
DB_PASS: mastodon
|
||||||
|
DB_PORT: 5432
|
||||||
|
ES_ENABLED: true
|
||||||
|
ES_HOST: es
|
||||||
|
ES_PORT: 9200
|
||||||
|
ES_USER: elastic
|
||||||
|
ES_PASS: mastodon
|
||||||
|
SECRET_KEY_BASE: ${SECRET_KEY_BASE}
|
||||||
|
OTP_SECRET: ${OTP_SECRET}
|
||||||
|
VAPID_PRIVATE_KEY: ${VAPID_PRIVATE_KEY}
|
||||||
|
VAPID_PUBLIC_KEY: ${VAPID_PUBLIC_KEY}
|
||||||
|
SMTP_SERVER: ${SMTP_SERVER}
|
||||||
|
SMTP_PORT: ${SMTP_PORT}
|
||||||
|
SMTP_LOGIN: ${SMTP_LOGIN}
|
||||||
|
SMTP_PASSWORD: ${SMTP_PASSWORD}
|
||||||
|
SMTP_FROM_ADDRESS: ${SMTP_FROM_ADDRESS}
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
- routing
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
- redis
|
||||||
|
- es
|
||||||
|
|
||||||
|
mastodon-streaming:
|
||||||
|
image: ghcr.io/mastodon/mastodon
|
||||||
|
restart: unless-stopped
|
||||||
|
command: node ./streaming
|
||||||
|
environment:
|
||||||
|
LOCAL_DOMAIN: mastodon.karaolidis.com
|
||||||
|
SINGLE_USER_MODE: true
|
||||||
|
RAILS_ENV: production
|
||||||
|
REDIS_HOST: redis
|
||||||
|
REDIS_PORT: 6379
|
||||||
|
DB_HOST: db
|
||||||
|
DB_USER: mastodon
|
||||||
|
DB_NAME: mastodon
|
||||||
|
DB_PASS: mastodon
|
||||||
|
DB_PORT: 5432
|
||||||
|
ES_ENABLED: true
|
||||||
|
ES_HOST: es
|
||||||
|
ES_PORT: 9200
|
||||||
|
ES_USER: elastic
|
||||||
|
ES_PASS: mastodon
|
||||||
|
SECRET_KEY_BASE: ${SECRET_KEY_BASE}
|
||||||
|
OTP_SECRET: ${OTP_SECRET}
|
||||||
|
VAPID_PRIVATE_KEY: ${VAPID_PRIVATE_KEY}
|
||||||
|
VAPID_PUBLIC_KEY: ${VAPID_PUBLIC_KEY}
|
||||||
|
SMTP_SERVER: ${SMTP_SERVER}
|
||||||
|
SMTP_PORT: ${SMTP_PORT}
|
||||||
|
SMTP_LOGIN: ${SMTP_LOGIN}
|
||||||
|
SMTP_PASSWORD: ${SMTP_PASSWORD}
|
||||||
|
SMTP_FROM_ADDRESS: ${SMTP_FROM_ADDRESS}
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
- routing
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
- redis
|
||||||
|
|
||||||
|
sidekiq:
|
||||||
|
image: ghcr.io/mastodon/mastodon
|
||||||
|
restart: unless-stopped
|
||||||
|
command: bundle exec sidekiq
|
||||||
|
volumes:
|
||||||
|
- /home/nick/configs/mastodon/public/system:/mastodon/public/system
|
||||||
|
environment:
|
||||||
|
LOCAL_DOMAIN: mastodon.karaolidis.com
|
||||||
|
SINGLE_USER_MODE: true
|
||||||
|
RAILS_ENV: production
|
||||||
|
REDIS_HOST: redis
|
||||||
|
REDIS_PORT: 6379
|
||||||
|
DB_HOST: db
|
||||||
|
DB_USER: mastodon
|
||||||
|
DB_NAME: mastodon
|
||||||
|
DB_PASS: mastodon
|
||||||
|
DB_PORT: 5432
|
||||||
|
ES_ENABLED: true
|
||||||
|
ES_HOST: es
|
||||||
|
ES_PORT: 9200
|
||||||
|
ES_USER: elastic
|
||||||
|
ES_PASS: mastodon
|
||||||
|
SECRET_KEY_BASE: ${SECRET_KEY_BASE}
|
||||||
|
OTP_SECRET: ${OTP_SECRET}
|
||||||
|
VAPID_PRIVATE_KEY: ${VAPID_PRIVATE_KEY}
|
||||||
|
VAPID_PUBLIC_KEY: ${VAPID_PUBLIC_KEY}
|
||||||
|
SMTP_SERVER: ${SMTP_SERVER}
|
||||||
|
SMTP_PORT: ${SMTP_PORT}
|
||||||
|
SMTP_LOGIN: ${SMTP_LOGIN}
|
||||||
|
SMTP_PASSWORD: ${SMTP_PASSWORD}
|
||||||
|
SMTP_FROM_ADDRESS: ${SMTP_FROM_ADDRESS}
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
- redis
|
||||||
|
|
||||||
|
networks:
|
||||||
|
routing:
|
||||||
|
external: true
|
||||||
|
name: routing
|
Reference in New Issue
Block a user