mirror of https://github.com/kcal-app/kcal.git
				
				
				
			
		
			
				
	
	
		
			89 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
| version: '3'
 | |
| services:
 | |
|   app:
 | |
|     image: kcalapp/kcal
 | |
|     container_name: kcal-app
 | |
|     restart: unless-stopped
 | |
|     tty: true
 | |
|     working_dir: /var/www
 | |
|     volumes:
 | |
|       - ./:/var/www
 | |
|       - ./etc/php/php.ini:/usr/local/etc/php/conf.d/local.ini
 | |
|     networks:
 | |
|       - kcal
 | |
|     depends_on:
 | |
|       - db
 | |
|       - redis
 | |
|       - elasticsearch
 | |
|   webserver:
 | |
|     image: nginx:alpine
 | |
|     container_name: kcal-nginx
 | |
|     restart: unless-stopped
 | |
|     tty: true
 | |
|     ports:
 | |
|       - '${APP_PORT:-80}:80'
 | |
|       - '${APP_PORT_SSL:-443}:443'
 | |
|     volumes:
 | |
|       - ./:/var/www
 | |
|       - ./etc/nginx/conf.d/:/etc/nginx/conf.d/
 | |
|     networks:
 | |
|       - kcal
 | |
|   db:
 | |
|     image: mysql:8.0
 | |
|     container_name: kcal-db
 | |
|     restart: unless-stopped
 | |
|     tty: true
 | |
|     ports:
 | |
|       - '${DB_PORT:-3306}:3306'
 | |
|     environment:
 | |
|       MYSQL_ROOT_PASSWORD: '${DB_PASSWORD:-kcal}'
 | |
|       MYSQL_DATABASE: '${DB_DATABASE:-kcal}'
 | |
|       MYSQL_USER: '${DB_USERNAME:-kcal}'
 | |
|       MYSQL_PASSWORD: '${DB_PASSWORD:-kcal}'
 | |
|       MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
 | |
|     volumes:
 | |
|       - db-data:/var/lib/mysql/
 | |
|       - ./etc/mysql/my.cnf:/etc/mysql/my.cnf
 | |
|     networks:
 | |
|       - kcal
 | |
|   elasticsearch:
 | |
|     image: 'elasticsearch:7.12.0'
 | |
|     container_name: kcal-elasticsearch
 | |
|     environment:
 | |
|       - xpack.security.enabled=false
 | |
|       - discovery.type=single-node
 | |
|     ulimits:
 | |
|       memlock:
 | |
|         soft: -1
 | |
|         hard: -1
 | |
|       nofile:
 | |
|         soft: 65536
 | |
|         hard: 65536
 | |
|     cap_add:
 | |
|       - IPC_LOCK
 | |
|     volumes:
 | |
|       - elasticsearch-data:/usr/share/elasticsearch/data
 | |
|     ports:
 | |
|       - '${ELASTIC_PORT:-9200}:9200'
 | |
|     networks:
 | |
|       - kcal
 | |
|   redis:
 | |
|     image: 'redis:alpine'
 | |
|     container_name: kcal-redis
 | |
|     ports:
 | |
|       - '${REDIS_PORT:-6379}:6379'
 | |
|     volumes:
 | |
|       - 'redis-data:/data'
 | |
|     networks:
 | |
|       - kcal
 | |
| networks:
 | |
|   kcal:
 | |
|     driver: bridge
 | |
| volumes:
 | |
|   db-data:
 | |
|     driver: local
 | |
|   elasticsearch-data:
 | |
|     driver: local
 | |
|   redis-data:
 | |
|     driver: local
 |