fix: usar compose oficial do Mixpost Lite docs, com volumes separados
This commit is contained in:
+22
-69
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user