Files
torsearch/compose.yml

111 lines
2.2 KiB
YAML
Executable File

services:
caddy:
image: caddy:2.9.1
restart: unless-stopped
cap_add:
- NET_ADMIN
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- $PWD/bash/caddy:/etc/caddy
- $PWD/bash/certs:/etc/ssl
web:
build:
dockerfile: docker/Dockerfile.web
context: .
depends_on:
app:
condition: service_healthy
redis:
image: redis:latest
volumes:
- redis_data:/data
command: redis-server --maxmemory 512MB
restart: unless-stopped
app:
build:
dockerfile: docker/Dockerfile.app
context: .
volumes:
- ./:/var/www
depends_on:
database:
condition: service_healthy
worker:
build:
dockerfile: docker/Dockerfile.worker
context: .
volumes:
- ./:/app
- ./var/downloads/movies:/var/download/movies
- ./var/downloads/tvshows:/var/download/tvshows
command: -v --time-limit=3600 --limit=10
env_file:
- .env
depends_on:
app:
condition: service_healthy
scheduler:
build:
dockerfile: docker/Dockerfile.scheduler
context: .
volumes:
- ./:/var/www
- ./var/download:/var/download
command: -vv --time-limit=3600
depends_on:
app:
condition: service_healthy
mercure:
image: dunglas/mercure
restart: unless-stopped
ports:
- "3000:80"
environment:
SERVER_NAME: ':80'
MERCURE_PUBLISHER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'
MERCURE_SUBSCRIBER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'
MERCURE_EXTRA_DIRECTIVES: |
cors_origins *
anonymous
command: /usr/bin/caddy run --config /etc/caddy/dev.Caddyfile
volumes:
- mercure_data:/data
- mercure_config:/config
database:
image: mariadb:10.11.2
ports:
- "3306:3306"
volumes:
- mysql:/var/lib/mysql
environment:
MYSQL_DATABASE: app
MYSQL_USERNAME: app
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
healthcheck:
test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
timeout: 10s
retries: 10
adminer:
image: adminer
ports:
- "8081:8080"
volumes:
mysql:
mercure_data:
mercure_config:
redis_data: