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