Cómo configurar Mastodon usando Docker Compose
Requisitos previos Docker y Docker Compose instalados Nombre de dominio que apunta a su servidor 1. Crear directorio de proyectos mkdir mastodon cd mastodon 2. Crear un archivo de redacción Docker Cree un archivo docker-compose.yml: version: ''3'' services: db: restart: always image: postgres:14-alpine shm_size: 256mb networks: - internal_network healthcheck: test: [''CMD'', ''pg_isready'', ''-U'', ''postgres''] volumes: - postgres_data:/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:/data web: restart: always image: tootsuite/mastodon:latest networks: - external_network - internal_network healthcheck: test: [''CMD-SHELL'', ''wget -q --spider http://localhost:3000/health || exit 1''] timeout: 10s depends_on: - db - redis environment: - DB_HOST=db - DB_USER=postgres - DB_NAME=postgres - DB_PASS= - REDIS_HOST=redis - LOCAL_DOMAIN=your-domain.com - SINGLE_USER_MODE=false - SMTP_SERVER=smtp.mailgun.org - SMTP_PORT=587 - SMTP_LOGIN=your-smtp-login - SMTP_PASSWORD=your-smtp-password - SMTP_FROM_ADDRESS=notifications@your-domain.com volumes: - ./public/system:/mastodon/public/system ports: - "3000:3000" command: bash -c "rm -f /mastodon/tmp/pids/server.pid && bundle exec rails s -p 3000" streaming: restart: always image: tootsuite/mastodon:latest networks: - external_network - internal_network depends_on: - db - redis environment: - DB_HOST=db - DB_USER=postgres - DB_NAME=postgres - DB_PASS= - REDIS_HOST=redis - LOCAL_DOMAIN=your-domain.com volumes: - ./public/system:/mastodon/public/system ports: - "4000:4000' command: node ./streaming sidekiq: restart: always image: tootsuite/mastodon:latest networks: - internal_network depends_on: - db - redis environment: - DB_HOST=db - DB_USER=postgres - DB_NAME=postgres - DB_PASS= - REDIS_HOST=redis - LOCAL_DOMAIN=your-domain.com volumes: - ./public/system:/mastodon/public/system command: bundle exec sidekiq networks: external_network: internal_network: internal: true volumes: postgres_data: redis_data: 3. Crear archivo de entorno Cree un archivo .env.production con su configuración: ...