From 2c8aabc7882c633af695a5e44cc929e2dce6a667 Mon Sep 17 00:00:00 2001 From: msnie Date: Fri, 31 Jan 2025 10:29:27 +0100 Subject: [PATCH] adding mastodon --- mastodon/docker-compose.yml | 153 +++++++++++++++++++++++++++++++++++- 1 file changed, 152 insertions(+), 1 deletion(-) diff --git a/mastodon/docker-compose.yml b/mastodon/docker-compose.yml index 11e2005..a83a896 100644 --- a/mastodon/docker-compose.yml +++ b/mastodon/docker-compose.yml @@ -96,4 +96,155 @@ networks: traefik: external: true internal_network: - internal: true \ No newline at end of file + internal: true + + + + + + # This file is designed for production server deployment, not local development work +# For a containerized local dev environment, see: https://github.com/mastodon/mastodon/blob/main/docs/DEVELOPMENT.md#docker + +# services: +# db: +# restart: always +# image: postgres:14-alpine +# shm_size: 256mb +# networks: +# - internal_network +# healthcheck: +# test: ['CMD', 'pg_isready', '-U', 'postgres'] +# volumes: +# - ./postgres14:/var/lib/postgresql/data +# environment: +# - 'POSTGRES_HOST_AUTH_METHOD=trust' + +# redis: +# restart: always +# image: redis:7-alpine +# networks: +# - internal_network +# healthcheck: +# test: ['CMD', 'redis-cli', 'ping'] +# volumes: +# - ./redis:/data + +# # es: +# # restart: always +# # image: docker.elastic.co/elasticsearch/elasticsearch:7.17.4 +# # 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" +# # networks: +# # - traefik +# # - internal_network +# # healthcheck: +# # test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"] +# # volumes: +# # - ./elasticsearch:/usr/share/elasticsearch/data +# # ulimits: +# # memlock: +# # soft: -1 +# # hard: -1 +# # nofile: +# # soft: 65536 +# # hard: 65536 +# # ports: +# # - '127.0.0.1:9200:9200' + +# web: +# # You can uncomment the following line if you want to not use the prebuilt image, for example if you have local code changes +# # build: . +# image: ghcr.io/mastodon/mastodon:v4.3.3 +# restart: always +# env_file: .env.production +# command: bundle exec puma -C config/puma.rb +# networks: +# - traefik +# - internal_network +# healthcheck: +# # prettier-ignore +# test: ['CMD-SHELL',"curl -s --noproxy localhost localhost:3000/health | grep -q 'OK' || exit 1"] +# ports: +# - '127.0.0.1:3000:3000' +# depends_on: +# - db +# - redis +# # - es +# volumes: +# - ./public/system:/mastodon/public/system + +# streaming: +# # You can uncomment the following lines if you want to not use the prebuilt image, for example if you have local code changes +# # build: +# # dockerfile: ./streaming/Dockerfile +# # context: . +# image: ghcr.io/mastodon/mastodon-streaming:v4.3.3 +# restart: always +# env_file: .env.production +# command: node ./streaming/index.js +# networks: +# - traefik +# - internal_network +# healthcheck: +# # prettier-ignore +# test: ['CMD-SHELL', "curl -s --noproxy localhost localhost:4000/api/v1/streaming/health | grep -q 'OK' || exit 1"] +# ports: +# - '127.0.0.1:4000:4000' +# depends_on: +# - db +# - redis + +# sidekiq: +# # You can uncomment the following line if you want to not use the prebuilt image, for example if you have local code changes +# # build: . +# image: ghcr.io/mastodon/mastodon:v4.3.3 +# restart: always +# env_file: .env.production +# command: bundle exec sidekiq +# depends_on: +# - db +# - redis +# networks: +# - traefik +# - internal_network +# volumes: +# - ./public/system:/mastodon/public/system +# healthcheck: +# test: ['CMD-SHELL', "ps aux | grep '[s]idekiq\ 6' || false"] + +# ## Uncomment to enable federation with tor instances along with adding the following ENV variables +# ## http_hidden_proxy=http://privoxy:8118 +# ## ALLOW_ACCESS_TO_HIDDEN_SERVICE=true +# # tor: +# # image: sirboops/tor +# # networks: +# # - traefik +# # - internal_network +# # +# # privoxy: +# # image: sirboops/privoxy +# # volumes: +# # - ./priv-config:/opt/config +# # networks: +# # - traefik +# # - internal_network + +# networks: +# # traefik: +# traefik: +# external: true +# internal_network: +# internal: true + +# # networks: +# # traefik: +# # external: true