Skip to content

feat: add Mastodon service template#9562

Open
maebahesioru wants to merge 4 commits intocoollabsio:nextfrom
maebahesioru:feat/add-mastodon-service-template
Open

feat: add Mastodon service template#9562
maebahesioru wants to merge 4 commits intocoollabsio:nextfrom
maebahesioru:feat/add-mastodon-service-template

Conversation

@maebahesioru
Copy link
Copy Markdown

Changes

Adds a one-click deployment template for Mastodon, the most widely used Fediverse / ActivityPub platform.

The template includes:

  • web — Puma app server (port 3000)
  • streaming — Node.js streaming API (port 4000)
  • sidekiq — background job worker
  • postgres:14-alpine — database (matches official docker-compose.yml)
  • redis:7-alpine — cache/queue

SECRET_KEY_BASE and OTP_SECRET are auto-generated via SERVICE_PASSWORD_64_*. VAPID_PRIVATE_KEY and VAPID_PUBLIC_KEY must be generated manually (instructions in template comments). LOCAL_DOMAIN is required and permanent.

Issues

  • Fixes

Category

  • Bug fix
  • Improvement
  • New feature
  • Adding new one click service
  • Fixing or updating existing one click service

Preview

AI Assistance

  • AI was NOT used to create this PR
  • AI was used (please describe below)

If AI was used:

  • Tools used: Kiro
  • How extensively: Template structure verified against official mastodon/mastodon docker-compose.yml and .env.production.sample.

Testing

Verified against official Mastodon repository:

  • Image names match ghcr.io/mastodon/mastodon:latest and ghcr.io/mastodon/mastodon-streaming:latest
  • Environment variables match .env.production.sample
  • PostgreSQL version matches official docker-compose.yml (postgres:14-alpine)
  • Healthcheck endpoints match official compose (/health, /api/v1/streaming/health)
  • SERVICE_PASSWORD_64_* used for SECRET_KEY_BASE and OTP_SECRET (128-char hex required by Mastodon)

Contributor Agreement

Important

  • I have read and understood the contributor guidelines. If I have failed to follow any guideline, I understand that this PR may be closed without review.
  • I have searched existing issues and pull requests (including closed ones) to ensure this is not a duplicate.
  • I have tested all the changes thoroughly with a local development instance of Coolify and I am confident that they will work as expected when a maintainer tests them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant