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)
# https://docs.mixpost.app/installation/docker
# https://github.com/inovector/mixpost
# Mixpost Lite - Docker Compose
# Fonte: https://docs.mixpost.app/lite/installation/docker
# 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:
app:
image: inovector/mixpost:latest
restart: always
environment:
APP_NAME: Mixpost
APP_ENV: production
APP_KEY: base64:AdNNBZUvMxmgU2IrG34A1M/SdwTVBnlfkbzwNaYeCTg=
APP_DEBUG: "false"
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
env_file:
- .env
volumes:
- mixpost-storage:/var/www/html/storage/app
- mixpost-logs:/var/www/html/storage/logs
depends_on:
db:
condition: service_healthy
@@ -44,34 +28,13 @@ services:
- traefik.http.routers.mixpost.tls.certresolver=letsencrypt
- traefik.http.services.mixpost.loadbalancer.server.port=80
- coolify.managed=true
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/api/mixpost"]
interval: 30s
timeout: 10s
retries: 3
horizon:
image: inovector/mixpost:latest
restart: always
command: php artisan horizon
environment:
APP_NAME: Mixpost
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
env_file:
- .env
depends_on:
app:
condition: service_started
@@ -82,24 +45,8 @@ services:
image: inovector/mixpost:latest
restart: always
command: sh -c "while true; do php artisan schedule:run; sleep 60; done"
environment:
APP_NAME: Mixpost
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
env_file:
- .env
networks:
- coolify
@@ -107,16 +54,16 @@ services:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: fe21dcf3a9658d24850ed7d7f66fa2f9
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"]
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD}"]
interval: 10s
timeout: 5s
retries: 5
@@ -124,6 +71,9 @@ services:
redis:
image: redis:7-alpine
restart: always
command: redis-server --appendonly yes --replica-read-only no
volumes:
- mixpost-redis:/data
networks:
- coolify
healthcheck:
@@ -134,6 +84,9 @@ services:
volumes:
mixpost-db:
mixpost-storage:
mixpost-logs:
mixpost-redis:
networks:
coolify: