-
Notifications
You must be signed in to change notification settings - Fork 49
/
Copy pathdocker-compose.yml
65 lines (60 loc) · 1.67 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Docker Compose Configuration for Osclass Application
name: osclass
services:
# PHP-FPM Service
php-fpm:
build:
context: .
dockerfile: .docker/php-fpm/Dockerfile
container_name: osclass-php-fpm
working_dir: /application
volumes:
- .:/application
- ./.docker/php-fpm/php-ini-overrides.ini:/etc/php/8.2/fpm/conf.d/99-overrides.ini
command: php-fpm
# MySQL Database
mysql:
# Uncomment this line if you are using a M1 Mac and facing issues with MySQL image
# platform: linux/x86_64
image: mysql:8.0
container_name: osclass-mysql
volumes:
- mysql-data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${ROOT_PASSWORD_MYSQL:-root}
- MYSQL_DATABASE=${OSCLASS_DATABASE_NAME:-osclass}
- MYSQL_USER=${OSCLASS_DATABASE_USER:-osclass}
- MYSQL_PASSWORD=${OSCLASS_DATABASE_PASSWORD:-osclass}
# Memcached for Caching
memcached:
image: memcached:alpine
container_name: osclass-memcached
# Nginx Webserver
webserver:
image: nginx:alpine
container_name: osclass-webserver
working_dir: /application
volumes:
- .:/application
- ./.docker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
ports:
- "5080:80"
# Mailhog for Email Testing
mailhog:
image: mailhog/mailhog:latest
container_name: osclass-mailhog
ports:
- "5025:8025"
# PHPMyAdmin for Database Management
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: osclass-phpmyadmin
ports:
- "5800:80"
environment:
- PMA_HOST=mysql
- PMA_USER=root
- PMA_PASSWORD=${MYSQL_ROOT_PASSWORD:-root}
# persistent volumes
volumes:
mysql-data: