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 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