-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
98 lines (92 loc) · 2.88 KB
/
docker-compose.yml
File metadata and controls
98 lines (92 loc) · 2.88 KB
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# SPDX-License-Identifier: PMPL-1.0-or-later
# SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
#
# Docker Compose for LCB Website Development with OpenLiteSpeed
# This is a development-only configuration.
# WARNING: EXPERIMENTAL - Use nuj-lcb-production for actual deployment
# Production uses selur-compose.yml with verified container stack.
version: '3.8'
services:
wordpress:
image: docker.io/litespeedtech/openlitespeed:1.8.3-lsphp84
container_name: lcb-wordpress-ols-dev
ports:
- "8080:80"
- "7080:7080" # OLS admin console
environment:
# Database connection
MYSQL_HOST: db
MYSQL_DB: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress_password
# WordPress settings
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress_password
WORDPRESS_DB_NAME: wordpress
WORDPRESS_CONFIG_EXTRA: |
define('WP_ENVIRONMENT_TYPE', 'development');
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
volumes:
- wordpress_data:/var/www/vhosts/localhost/html
- ./wp-content/themes:/var/www/vhosts/localhost/html/wp-content/themes:z
- ./wp-content/mu-plugins:/var/www/vhosts/localhost/html/wp-content/mu-plugins:z
- ./.well-known:/var/www/vhosts/localhost/html/.well-known:ro,z
depends_on:
- db
restart: unless-stopped
labels:
- "com.hyperpolymath.stack=development"
- "com.hyperpolymath.component=wordpress"
- "com.hyperpolymath.webserver=openlitespeed"
networks:
- lcb-network
db:
image: docker.io/library/mariadb:11.2
container_name: lcb-mariadb-dev
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress_password
volumes:
- db_data:/var/lib/mysql
restart: unless-stopped
labels:
- "com.hyperpolymath.stack=development"
- "com.hyperpolymath.component=database"
networks:
- lcb-network
# Varnish cache layer
varnish:
image: docker.io/library/varnish:7.4
container_name: lcb-varnish-dev
ports:
- "8081:8080"
environment:
VARNISH_SIZE: 256M
VARNISH_HTTP_PORT: 8080
volumes:
- ./services/varnish/default.vcl:/etc/varnish/default.vcl:ro,z
depends_on:
- wordpress
restart: unless-stopped
labels:
- "com.hyperpolymath.stack=development"
- "com.hyperpolymath.component=cache"
networks:
- lcb-network
user: "1000:1000"
entrypoint: ["/usr/sbin/varnishd"]
command: ["-F", "-f", "/etc/varnish/default.vcl", "-a", ":8080", "-s", "malloc,256M", "-p", "feature=+http2"]
volumes:
wordpress_data:
driver: local
db_data:
driver: local
networks:
lcb-network:
driver: bridge
labels:
- "com.hyperpolymath.environment=development"