# Mixpost Lite - Docker Compose # Fonte: https://docs.mixpost.app/lite/installation/docker # Adaptado para Coolify (já tem Traefik + rede coolify) # # O start.sh original do Mixpost roda "chown -R www-data:www-data /var/www/html" # que pode travar em volumes Docker. A solução é pré-permitir o volume. services: app: image: inovector/mixpost:latest restart: always env_file: - .env volumes: - mixpost-storage:/var/www/html/storage/app - mixpost-logs:/var/www/html/storage/logs depends_on: db: condition: service_healthy redis: condition: service_healthy networks: - coolify labels: - traefik.enable=true - traefik.http.routers.mixpost.rule=Host(`mixpost.fluxtechnologies.uk`) - traefik.http.routers.mixpost.tls=true - traefik.http.routers.mixpost.tls.certresolver=letsencrypt - traefik.http.services.mixpost.loadbalancer.server.port=80 - coolify.managed=true horizon: image: inovector/mixpost:latest restart: always command: php artisan horizon env_file: - .env depends_on: app: condition: service_started networks: - coolify scheduler: image: inovector/mixpost:latest restart: always command: sh -c "while true; do php artisan schedule:run; sleep 60; done" env_file: - .env networks: - coolify db: image: mysql:8.0 restart: always environment: MYSQL_DATABASE: mixpost MYSQL_USER: mixpost MYSQL_PASSWORD: 282a989ffe21a5db3daa757f29871a57 MYSQL_ROOT_PASSWORD: fe21dcf3a9658d24850ed7d7f66fa2f9 volumes: - mixpost-db:/var/lib/mysql networks: - coolify healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD}"] interval: 10s timeout: 5s retries: 5 redis: image: redis:7-alpine restart: always command: redis-server --appendonly yes --replica-read-only no volumes: - mixpost-redis:/data networks: - coolify healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 volumes: mixpost-db: mixpost-storage: mixpost-logs: mixpost-redis: networks: coolify: external: true