vichan/compose.yml
2025-04-20 21:51:49 +00:00

72 lines
2.2 KiB
YAML

services:
web:
build:
context: .
dockerfile: ./docker/nginx/Dockerfile
container_name: vichan_frontend
restart: unless-stopped
ports:
- "9090:80"
# - "9092:443" # optional for SSL
depends_on:
- db
- php
volumes:
- ./local-instances/${INSTANCE:-0}/www:/var/www/html
- ./docker/nginx/vichan.conf:/etc/nginx/conf.d/default.conf
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./docker/nginx/proxy.conf:/etc/nginx/conf.d/proxy.conf
# - ./docker/nginx/ssl:/etc/nginx/ssl # optional For SSL
links:
- php
php:
build:
context: .
dockerfile: ./docker/php/Dockerfile
container_name: vichan_php
restart: unless-stopped
volumes:
- ./local-instances/${INSTANCE:-0}/www:/var/www
- ./docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf
- ./docker/php/jit.ini:/usr/local/etc/php/conf.d/jit.ini
- ./docker/php/php.ini:/usr/local/etc/php/php.ini
environment:
VICHAN_MYSQL__HOST: ${VICHAN_MYSQL__HOST}
VICHAN_MYSQL__USER: ${VICHAN_MYSQL__USER}
VICHAN_MYSQL__NAME: ${VICHAN_MYSQL__NAME}
VICHAN_MYSQL__PASSWORD: ${VICHAN_MYSQL__PASSWORD}
VICHAN_SECURE_LOGIN_ONLY: ${VICHAN_SECURE_LOGIN_ONLY}
VICHAN_REDIS_HOST: ${VICHAN_REDIS_HOST}
VICHAN_REDIS_PORT: ${VICHAN_REDIS_PORT}
VICHAN_REDIS_PASSWORD: ${VICHAN_REDIS_PASSWORD}
depends_on:
- db
db:
image: mariadb:latest
container_name: vichan_mariadb
restart: unless-stopped
ports:
- "9091:3306"
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
volumes:
- ./local-instances/${INSTANCE:-0}/db:/var/lib/mysql
redis:
image: redis:latest
container_name: vichan_redis
restart: unless-stopped
volumes:
- ./local-instances/${INSTANCE:-0}/redis:/data
command: redis-server --requirepass ${VICHAN_REDIS_PASSWORD}
healthcheck:
test: ["CMD", "redis-cli", "-a", "${VICHAN_REDIS_PASSWORD}", "ping"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s