summaryrefslogtreecommitdiffstats
path: root/mastodon.castle.yml
diff options
context:
space:
mode:
Diffstat (limited to 'mastodon.castle.yml')
-rw-r--r--mastodon.castle.yml117
1 files changed, 117 insertions, 0 deletions
diff --git a/mastodon.castle.yml b/mastodon.castle.yml
new file mode 100644
index 0000000..4b1cc92
--- /dev/null
+++ b/mastodon.castle.yml
@@ -0,0 +1,117 @@
+
+services:
+ mastodon:
+ labels:
+ - traefik.http.routers.mastodon.rule=Host(`mastodon.castle`)
+ - traefik.http.routers.mastodon.tls=true
+ - traefik.http.routers.mastodon.tls.certresolver=smallstep
+ - traefik.port=3000
+ depends_on:
+ - mastodon_db
+ - mastodon_es
+ - mastodon_redis
+ image: mastodon-trust-sandcastle-ca
+ build:
+ dockerfile: mastodon.Dockerfile
+ volumes:
+ - 'mastodon_data:/bitnami/mastodon'
+ ports:
+ - '3080:3000'
+ networks:
+ - mastodon
+ - fediverse
+ - default
+ environment:
+ - MASTODON_DATABASE_HOST=mastodon_db
+ - MASTODON_REDIS_HOST=mastodon_redis
+ - MASTODON_ELASTICSEARCH_HOST=mastodon_es
+ - ALLOW_EMPTY_PASSWORD=yes
+ - MASTODON_MODE=web
+ - MASTODON_DATABASE_PASSWORD=bitnami1
+ - MASTODON_ELASTICSEARCH_PASSWORD=bitnami123
+ - LOCAL_DOMAIN=mastodon.castle
+ - WEB_DOMAIN=mastodon.castle
+
+ mastodon-streaming:
+ depends_on:
+ - mastodon
+ image: docker.io/bitnami/mastodon:4
+ networks:
+ - mastodon
+ environment:
+ - ALLOW_EMPTY_PASSWORD=yes
+ - MASTODON_MODE=streaming
+ - MASTODON_DATABASE_PASSWORD=bitnami1
+ - MASTODON_ELASTICSEARCH_PASSWORD=bitnami123
+ - MASTODON_REDIS_HOST=mastodon_redis
+ mastodon-sidekiq:
+ depends_on:
+ - mastodon
+ image: docker.io/bitnami/mastodon:4
+ volumes:
+ - 'mastodon_data:/bitnami/mastodon'
+ networks:
+ - mastodon
+ environment:
+ - ALLOW_EMPTY_PASSWORD=yes
+ - MASTODON_MODE=sidekiq
+ - MASTODON_DATABASE_PASSWORD=bitnami1
+ - MASTODON_ELASTICSEARCH_PASSWORD=bitnami123
+ - MASTODON_REDIS_HOST=mastodon_redis
+ - MASTODON_DATABASE_HOST=mastodon_db
+ mastodon_db:
+ image: docker.io/bitnami/postgresql:16
+ networks:
+ - mastodon
+ volumes:
+ - 'mastodon_db_data:/bitnami/postgresql'
+ environment:
+ - POSTGRESQL_DATABASE=bitnami_mastodon
+ - POSTGRESQL_USERNAME=bn_mastodon
+ - POSTGRESQL_PASSWORD=bitnami1
+ mastodon_redis:
+ image: docker.io/bitnami/redis:7.0
+ volumes:
+ - 'redis_data:/bitnami/redis'
+ networks:
+ - mastodon
+ environment:
+ - ALLOW_EMPTY_PASSWORD=yes
+ mastodon_es:
+ image: docker.io/bitnami/elasticsearch:8
+ networks:
+ - mastodon
+ volumes:
+ - 'elasticsearch_data:/bitnami/elasticsearch/data'
+ environment:
+ - ELASTICSEARCH_ENABLE_SECURITY=true
+ - ELASTICSEARCH_SKIP_TRANSPORT_TLS=true
+ - ELASTICSEARCH_ENABLE_REST_TLS=false
+ - ELASTICSEARCH_PASSWORD=bitnami123
+
+ # Configure docker's internal DNS
+ # Traefik will provide SSL termination and proxy back to mastodon
+ proxy:
+ networks:
+ default:
+ aliases:
+ - mastodon.castle
+ fediverse:
+ aliases:
+ - mastodon.castle
+
+volumes:
+ mastodon_db_data:
+ driver: local
+ minio_data:
+ driver: local
+ redis_data:
+ driver: local
+ elasticsearch_data:
+ driver: local
+ mastodon_data:
+ driver: local
+
+networks:
+ mastodon:
+ internal: true \ No newline at end of file