Initial: Mixpost docker-compose stack
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
# Mixpost - Self-hosted social media management (Laravel)
|
||||
# https://github.com/inovector/mixpost
|
||||
#
|
||||
# Stack:
|
||||
# - app: Laravel + nginx (porta interna 80)
|
||||
# - horizon: queue worker
|
||||
# - scheduler: cron-like scheduled tasks
|
||||
# - db: MySQL 8.0
|
||||
# - redis: Redis 7
|
||||
|
||||
services:
|
||||
app:
|
||||
image: inovector/mixpost:latest
|
||||
restart: always
|
||||
environment:
|
||||
APP_NAME: Mixpost
|
||||
APP_ENV: production
|
||||
APP_KEY: base64:2a7a8d497c22c43be59bc4d873763f8505ee0f8dbda6
|
||||
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
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- coolify-proxy
|
||||
- mixpost
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.mixapp.rule=Host(`mixpost.fluxtechnologies.uk`)
|
||||
- traefik.http.routers.mixapp.entrypoints=https
|
||||
- traefik.http.routers.mixapp.tls=true
|
||||
- traefik.http.routers.mixapp.tls.certresolver=letsencrypt
|
||||
- traefik.http.services.mixapp.loadbalancer.server.port=80
|
||||
- coolify.managed=true
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-qO-", "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:2a7a8d497c22c43be59bc4d873763f8505ee0f8dbda6
|
||||
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
|
||||
depends_on:
|
||||
app:
|
||||
condition: service_started
|
||||
networks:
|
||||
- mixpost
|
||||
|
||||
scheduler:
|
||||
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:2a7a8d497c22c43be59bc4d873763f8505ee0f8dbda6
|
||||
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
|
||||
networks:
|
||||
- mixpost
|
||||
|
||||
db:
|
||||
image: mysql:8.0
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: fe21dcf3a9658d24850ed7d7f66fa2f9
|
||||
MYSQL_DATABASE: mixpost
|
||||
MYSQL_USER: mixpost
|
||||
MYSQL_PASSWORD: 282a989ffe21a5db3daa757f29871a57
|
||||
volumes:
|
||||
- mixpost-db:/var/lib/mysql
|
||||
networks:
|
||||
- mixpost
|
||||
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
|
||||
networks:
|
||||
- mixpost
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
volumes:
|
||||
mixpost-db:
|
||||
|
||||
networks:
|
||||
coolify-proxy:
|
||||
external: true
|
||||
mixpost:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user