fix: usar compose oficial do Mixpost Lite docs, com volumes separados

This commit is contained in:
Carlos
2026-06-16 00:38:48 +02:00
parent bd682860b1
commit 00b21782d8
+22 -69
View File
@@ -1,35 +1,19 @@
# Mixpost - Self-hosted social media management (Laravel) # Mixpost Lite - Docker Compose
# https://docs.mixpost.app/installation/docker # Fonte: https://docs.mixpost.app/lite/installation/docker
# https://github.com/inovector/mixpost # Adaptado para Coolify (já tem Traefik + rede coolify)
# #
# Stack: app (Laravel + nginx), horizon, scheduler, MySQL 8.0, Redis 7 # 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: services:
app: app:
image: inovector/mixpost:latest image: inovector/mixpost:latest
restart: always restart: always
environment: env_file:
APP_NAME: Mixpost - .env
APP_ENV: production volumes:
APP_KEY: base64:AdNNBZUvMxmgU2IrG34A1M/SdwTVBnlfkbzwNaYeCTg= - mixpost-storage:/var/www/html/storage/app
APP_DEBUG: "false" - mixpost-logs:/var/www/html/storage/logs
APP_URL: https://mixpost.fluxtechnologies.uk
DB_CONNECTION: mysql
DB_HOST: db
DB_PORT: "3306"
DB_DATABASE: mixpost
DB_USERNAME: mixpost
DB_PASSWORD: 282a989ffe21a5db3daa757f29871a57
REDIS_HOST: redis
REDIS_PORT: "6379"
CACHE_DRIVER: redis
QUEUE_CONNECTION: redis
SESSION_DRIVER: redis
MAIL_MAILER: log
LOG_CHANNEL: stderr
# Fix: avoid chown hanging on large volumes
NGINX_RUN_USER: root
WWWUSER: root
depends_on: depends_on:
db: db:
condition: service_healthy condition: service_healthy
@@ -44,34 +28,13 @@ services:
- traefik.http.routers.mixpost.tls.certresolver=letsencrypt - traefik.http.routers.mixpost.tls.certresolver=letsencrypt
- traefik.http.services.mixpost.loadbalancer.server.port=80 - traefik.http.services.mixpost.loadbalancer.server.port=80
- coolify.managed=true - coolify.managed=true
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/api/mixpost"]
interval: 30s
timeout: 10s
retries: 3
horizon: horizon:
image: inovector/mixpost:latest image: inovector/mixpost:latest
restart: always restart: always
command: php artisan horizon command: php artisan horizon
environment: env_file:
APP_NAME: Mixpost - .env
APP_ENV: production
APP_KEY: base64:AdNNBZUvMxmgU2IrG34A1M/SdwTVBnlfkbzwNaYeCTg=
APP_URL: https://mixpost.fluxtechnologies.uk
DB_CONNECTION: mysql
DB_HOST: db
DB_PORT: "3306"
DB_DATABASE: mixpost
DB_USERNAME: mixpost
DB_PASSWORD: 282a989ffe21a5db3daa757f29871a57
REDIS_HOST: redis
REDIS_PORT: "6379"
CACHE_DRIVER: redis
QUEUE_CONNECTION: redis
SESSION_DRIVER: redis
NGINX_RUN_USER: root
WWWUSER: root
depends_on: depends_on:
app: app:
condition: service_started condition: service_started
@@ -82,24 +45,8 @@ services:
image: inovector/mixpost:latest image: inovector/mixpost:latest
restart: always restart: always
command: sh -c "while true; do php artisan schedule:run; sleep 60; done" command: sh -c "while true; do php artisan schedule:run; sleep 60; done"
environment: env_file:
APP_NAME: Mixpost - .env
APP_ENV: production
APP_KEY: base64:AdNNBZUvMxmgU2IrG34A1M/SdwTVBnlfkbzwNaYeCTg=
APP_URL: https://mixpost.fluxtechnologies.uk
DB_CONNECTION: mysql
DB_HOST: db
DB_PORT: "3306"
DB_DATABASE: mixpost
DB_USERNAME: mixpost
DB_PASSWORD: 282a989ffe21a5db3daa757f29871a57
REDIS_HOST: redis
REDIS_PORT: "6379"
CACHE_DRIVER: redis
QUEUE_CONNECTION: redis
SESSION_DRIVER: redis
NGINX_RUN_USER: root
WWWUSER: root
networks: networks:
- coolify - coolify
@@ -107,16 +54,16 @@ services:
image: mysql:8.0 image: mysql:8.0
restart: always restart: always
environment: environment:
MYSQL_ROOT_PASSWORD: fe21dcf3a9658d24850ed7d7f66fa2f9
MYSQL_DATABASE: mixpost MYSQL_DATABASE: mixpost
MYSQL_USER: mixpost MYSQL_USER: mixpost
MYSQL_PASSWORD: 282a989ffe21a5db3daa757f29871a57 MYSQL_PASSWORD: 282a989ffe21a5db3daa757f29871a57
MYSQL_ROOT_PASSWORD: fe21dcf3a9658d24850ed7d7f66fa2f9
volumes: volumes:
- mixpost-db:/var/lib/mysql - mixpost-db:/var/lib/mysql
networks: networks:
- coolify - coolify
healthcheck: healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MYSQL_ROOT_PASSWORD"] test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD}"]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
@@ -124,6 +71,9 @@ services:
redis: redis:
image: redis:7-alpine image: redis:7-alpine
restart: always restart: always
command: redis-server --appendonly yes --replica-read-only no
volumes:
- mixpost-redis:/data
networks: networks:
- coolify - coolify
healthcheck: healthcheck:
@@ -134,6 +84,9 @@ services:
volumes: volumes:
mixpost-db: mixpost-db:
mixpost-storage:
mixpost-logs:
mixpost-redis:
networks: networks:
coolify: coolify: