Files
newznab-tmux/docker-compose.yml
T
vcorre 93d64efe19 Fix spacing issue in docker-compose.yml command block
Removed an unnecessary space in the schedule runner command. This change ensures consistency in formatting and avoids potential errors during script execution. No functional behavior is affected.
2024-12-19 14:23:47 +01:00

174 lines
4.4 KiB
YAML

services:
webapp:
build:
context: .
dockerfile: Dockerfile
image: nntmux
extra_hosts:
- 'host.docker.internal:host-gateway'
ports:
- '${APP_PORT:-80}:80'
environment:
TZ: ${APP_TIMEZONE}
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:80" ]
interval: 10s
timeout: 5s
retries: 5
env_file:
- .env
volumes:
- 'install:/app/_install'
- 'storage:/app/storage'
# - 'resources:/var/www/html/resources'
networks:
- nntmux
depends_on:
- mariadb
- redis
- mailpit
- elasticsearch
- manticore
worker:
command: >
sh -c "php artisan tmux-ui:start & php artisan horizon"
image: nntmux
extra_hosts:
- 'host.docker.internal:host-gateway'
tty: true
environment:
TZ: ${APP_TIMEZONE}
env_file:
- .env
volumes:
- 'install:/app/_install'
- 'storage:/app/storage'
networks:
- nntmux
depends_on:
webapp:
condition: service_healthy
scheduler:
image: nntmux
extra_hosts:
- 'host.docker.internal:host-gateway'
tty: true
env_file:
- .env
environment:
TZ: ${APP_TIMEZONE}
volumes:
- 'install:/app/_install'
- 'storage:/app/storage'
networks:
- nntmux
depends_on:
webapp:
condition: service_healthy
command: >
sh -c "while [ true ]; do php artisan schedule:run; sleep 60;done"
mariadb:
image: 'mariadb:11'
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
environment:
TZ: ${APP_TIMEZONE}
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
MYSQL_ROOT_HOST: '%'
MYSQL_DATABASE: '${DB_DATABASE}'
MYSQL_USER: '${DB_USERNAME}'
MYSQL_PASSWORD: '${DB_PASSWORD}'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
command:
--max_allowed_packet=128M
--group_concat_max_len=16384
--max_connections=200
volumes:
- 'mariadb:/var/lib/mysql'
- './vendor/laravel/sail/database/mariadb/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'
networks:
- nntmux
healthcheck:
test:
- CMD
- mysqladmin
- ping
- '-p${DB_PASSWORD}'
retries: 3
timeout: 5s
redis:
image: 'redis:alpine'
ports:
- '${FORWARD_REDIS_PORT:-6379}:6379'
environment:
TZ: ${APP_TIMEZONE}
volumes:
- 'redis:/data'
networks:
- nntmux
healthcheck:
test:
- CMD
- redis-cli
- ping
retries: 3
timeout: 5s
manticore:
image: manticoresearch/manticore
environment:
TZ: ${APP_TIMEZONE}
EXTRA: 1 # Activates extra features
restart: always
ports:
- 9306:9306
- 9308:9308
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535
memlock:
soft: -1
hard: -1
volumes:
- 'manticore:/var/lib/manticore'
# - ./misc/manticoresearch/manticore.conf:/etc/manticoresearch/manticore.conf
networks:
- nntmux
mailpit:
image: 'axllent/mailpit:latest'
ports:
- '${FORWARD_MAILPIT_PORT:-1025}:1025'
- '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025'
networks:
- nntmux
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.17.0
environment:
- TZ=${APP_TIMEZONE}
- discovery.type=single-node
- xpack.security.enabled=false
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ports:
- 9200:9200
- 9300:9300
volumes:
- elasticsearch:/usr/share/elasticsearch/data
networks:
- nntmux
deploy:
resources:
limits:
memory: 1g
networks:
nntmux:
driver: bridge
volumes:
mariadb:
redis:
elasticsearch:
manticore:
storage:
resources:
install: