94 lines
2.3 KiB
YAML
94 lines
2.3 KiB
YAML
# 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
|