1+ x-base-image : &base-image
2+ image : whiterabbitsecurity/openxpki3:3.32.8
3+
4+ services :
5+ db :
6+ restart : always
7+ container_name : OpenXPKI_Database
8+ image : mariadb:12.0.2
9+ environment :
10+ MYSQL_DATABASE : openxpki
11+ MYSQL_USER : ${DB_USER}
12+ MYSQL_PASSWORD : ${DB_PASSWORD}
13+ MYSQL_ROOT_PASSWORD : rootpw
14+ volumes :
15+ - openxpkidb:/var/lib/mysql
16+ - ./openxpki-config/contrib/sql/schema-mariadb.sql:/docker-entrypoint-initdb.d/schema-mariadb.sql:ro
17+ healthcheck :
18+ test : ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
19+ start_period : 10s
20+ interval : 10s
21+ timeout : 5s
22+ retries : 3
23+
24+ server :
25+ << : *base-image
26+ container_name : OpenXPKI_Server
27+ user : openxpki:openxpki
28+ group_add :
29+ - openxpkiclient
30+ tmpfs :
31+ - /tmp
32+ volumes :
33+ - openxpkiclientsocket:/run/openxpki-clientd
34+ - openxpkisocket:/run/openxpkid
35+ - openxpkidownload:/var/www/download
36+ - ./openxpki-config:/etc/openxpki:ro
37+ environment :
38+ DB_HOST : db
39+ DB_NAME : openxpki
40+ DB_USER : ${DB_USER}
41+ DB_PASSWORD : ${DB_PASSWORD}
42+ healthcheck :
43+ test : /usr/bin/openxpkictl status server
44+ interval : 5s
45+ timeout : 3s
46+ retries : 5
47+ depends_on :
48+ db :
49+ condition : service_healthy
50+
51+ client :
52+ << : *base-image
53+ container_name : OpenXPKI_Client
54+ image : whiterabbitsecurity/openxpki3
55+ command : /usr/bin/openxpkictl start client --nd
56+ user : openxpkiclient:openxpkiclient
57+ group_add :
58+ - www-data
59+ tmpfs :
60+ - /tmp
61+ volumes :
62+ - ./openxpki-config/client.d:/etc/openxpki/client.d:ro
63+ - openxpkisocket:/run/openxpkid
64+ - openxpkiclientsocket:/run/openxpki-clientd
65+ healthcheck :
66+ test : /usr/bin/openxpkictl status client
67+ interval : 5s
68+ timeout : 3s
69+ retries : 5
70+ depends_on :
71+ server :
72+ condition : service_healthy
73+ db :
74+ condition : service_healthy
75+
76+ web : &web-apache
77+ << : *base-image
78+ container_name : OpenXPKI_WebUI
79+ command : /usr/bin/start-webserver apache
80+ ports :
81+ - " 8080:80/tcp"
82+ - " 8443:443/tcp"
83+ volumes :
84+ - openxpkidownload:/var/www/download:ro
85+ - openxpkiclientsocket:/run/openxpki-clientd
86+ - ./openxpki-config/contrib/apache2-openxpki-site.conf:/etc/apache2/sites-enabled/openxpki.conf:ro
87+ healthcheck :
88+ test : wget -q http://localhost/healthcheck/ping
89+ interval : 5s
90+ timeout : 3s
91+ retries : 5
92+ depends_on :
93+ client :
94+ condition : service_healthy
95+
96+ # web-nginx:
97+ # << : *web-apache
98+ # container_name: OpenXPKI_WebUI_nginx
99+ # command: /usr/bin/start-webserver nginx
100+ # volumes:
101+ # - ./openxpki-config/contrib/nginx-openxpki-site:/etc/nginx/sites-enabled/openxpki
102+ # - ./openxpki-config/tls/:/etc/openxpki/tls/
103+ # - openxpkiclientsocket:/run/openxpki-clientd
104+ # - openxpkidownload:/var/www/download:ro
105+
106+ volumes :
107+ openxpkidb :
108+ openxpkisocket :
109+ openxpkidownload :
110+ openxpkiclientsocket :
111+
112+ # secrets:
113+ # client_key:
114+ # file: ./openxpki_config/client.key
0 commit comments