-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.development.yml
More file actions
85 lines (74 loc) · 2.87 KB
/
Copy pathdocker-compose.development.yml
File metadata and controls
85 lines (74 loc) · 2.87 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
# =============================================================================
# LinkStack — Development (Direct Port Access)
# =============================================================================
# Usage: docker compose -f docker-compose.development.yml up -d
#
# ⚠ Development only — no HTTPS, no reverse proxy, no security headers.
# Do NOT expose to the internet.
#
# Builds the BAUER GROUP image locally from app/linkstack/Dockerfile so theme
# and entrypoint changes are exercised end-to-end. Database is SQLite (stored in
# the /htdocs volume). Complete the first-run wizard at http://localhost:8080.
#
# Access:
# - Public page + Admin: http://localhost:${EXPOSED_HTTP_PORT:-8080}
# =============================================================================
### Service Templates ###
x-linkstack-common: &linkstack-common
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "50m"
max-file: "3"
networks:
local:
services:
# ── LinkStack (local build) ────────────────────────────────────────────────
linkstack:
<<: *linkstack-common
# image: ghcr.io/bauer-group/cs-linkstack/linkstack:${LINKSTACK_IMAGE_TAG:-stable}
build:
# Context = the app dir (matches the CI docker-context) so the Dockerfile's
# `COPY themes/...` resolves to app/linkstack/themes/ and .dockerignore applies.
context: ./app/linkstack
dockerfile: Dockerfile
args:
LINKSTACK_VERSION: ${LINKSTACK_VERSION:-latest}
container_name: ${STACK_NAME:-linkstack}_SERVER
hostname: linkstack
environment:
TZ: ${TIME_ZONE:-Etc/UTC}
# ── Apache / PHP (upstream image env) ─────────────────────────
SERVER_ADMIN: ${SERVICE_ADMIN_EMAIL:-info@bauer-group.com}
HTTP_SERVER_NAME: ${LINKSTACK_DOMAIN:-localhost}
HTTPS_SERVER_NAME: ${LINKSTACK_DOMAIN:-localhost}
LOG_LEVEL: ${LINKSTACK_LOG_LEVEL:-info}
PHP_MEMORY_LIMIT: ${PHP_MEMORY_LIMIT:-512M}
UPLOAD_MAX_FILESIZE: ${UPLOAD_MAX_FILESIZE:-8M}
# ── No TLS in dev — do not force HTTPS ────────────────────────
LINKSTACK_MANAGE_ENV: ${LINKSTACK_MANAGE_ENV:-false}
LINKSTACK_FORCE_HTTPS: "false"
expose:
- 80/tcp
ports:
- "${EXPOSED_HTTP_PORT:-8080}:80"
volumes:
- linkstack-data:/htdocs:rw
healthcheck:
test: ["CMD-SHELL", "wget -q -O /dev/null http://127.0.0.1:80/ || exit 1"]
interval: 30s
timeout: 5s
start_period: 40s
retries: 3
### Volumes ###
volumes:
linkstack-data:
driver: local
name: ${STACK_NAME:-linkstack}-data
### Networks ###
networks:
local:
driver: bridge
name: ${STACK_NAME:-linkstack}
enable_ipv6: true