forked from vufind-org/vufind
-
Notifications
You must be signed in to change notification settings - Fork 46
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
117 lines (111 loc) · 2.79 KB
/
Copy pathdocker-compose.yml
File metadata and controls
117 lines (111 loc) · 2.79 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
services:
# Apache HTTPD + PHP + Composer + NPM
vufind:
image: vufind
build:
context: local/docker
dockerfile: vufind.Dockerfile
volumes:
- type: bind
source: .
target: $FINNA_DOCUMENT_ROOT
read_only: false
- type: volume
source: finna-log
target: /var/log/finna
read_only: false
- type: volume
source: finna-cache
target: ${VUFIND_CACHE_DIR:-${FINNA_DOCUMENT_ROOT?document root not set}/local/cache}
read_only: false
configs:
- source: site_config
target: /etc/apache2/sites-available/vufind2.conf
env_file: .env
environment:
XDEBUG_CLIENT_HOST: host.docker.internal
extra_hosts:
- "host.docker.internal:host-gateway"
ports:
- 8080:80
depends_on:
sshproxy:
condition: service_started
mariadb:
condition: service_healthy
networks:
- finnadev
# SOCKS5 proxy over SSH jump hosts
sshproxy:
image: sshproxy
restart: always
build:
context: local/docker
dockerfile: sshproxy.Dockerfile
volumes:
- type: bind
source: $SSH_IDENTITY_FILE
target: /root/identity
- type: bind
source: $SSH_KNOWN_HOSTS
target: /tmp/ssh_known_hosts
- type: bind
source: $SSH_CONFIG
target: /tmp/ssh.conf
- type: bind
source: ./ssh-auth.sock
target: /ssh-auth.sock
env_file: .env
environment:
- SSH_AUTH_SOCK=/ssh-auth.sock
networks:
- finnadev
mariadb:
image: mariadb:10-ubi
restart: always
# the container startup script automatically sources all files in this dir
# in alphabetical order
configs:
- source: vufind_sql
target: /docker-entrypoint-initdb.d/001-vufind.sql
- source: finna_sql
target: /docker-entrypoint-initdb.d/002-finna.sql
- source: grants_sql
target: /docker-entrypoint-initdb.d/003-grants.sql
env_file: .env
environment:
MARIADB_ROOT_PASSWORD_FILE: /run/secrets/db_root_passwd
MARIADB_DATABASE: vufind
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
start_period: 10s
interval: 10s
timeout: 5s
retries: 3
secrets:
- source: db_root_passwd
volumes:
- type: volume
source: finna-mariadb
target: /var/lib/mysql
networks:
- finnadev
configs:
site_config:
file: local/docker/vufind2.conf
grants_sql:
file: local/docker/grants.sql
vufind_sql:
file: module/VuFind/sql/mysql.sql
finna_sql:
file: module/Finna/sql/mysql.sql
secrets:
db_root_passwd:
file: local/db_root_passwd.secret
volumes:
finna-cache:
finna-log:
finna-mariadb:
networks:
finnadev:
enable_ipv6: true