-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
98 lines (93 loc) · 2.69 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
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
services:
mysql:
image: mysql:8.0
container_name: cars-mysql
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
ports:
- "3306:3306" # No need to open this up in production, only here for development.
volumes:
- ./local-data/mysql_data:/var/lib/mysql
healthcheck:
test: [ "CMD", "mysqladmin", "ping", "-h", "localhost" ]
interval: 10s
timeout: 5s
retries: 3
cars-node:
build: .
container_name: cars-node
ports:
- "7777:7777"
extra_hosts:
- "prometheus.localhost:host-gateway"
environment:
CARS_NODE_PORT: ${CARS_NODE_PORT}
MAINNET_PRIVATE_KEY: ${MAINNET_PRIVATE_KEY}
TESTNET_PRIVATE_KEY: ${TESTNET_PRIVATE_KEY}
TAAL_API_KEY_MAIN: ${TAAL_API_KEY_MAIN}
TAAL_API_KEY_TEST: ${TAAL_API_KEY_TEST}
CARS_NODE_SERVER_BASEURL: ${CARS_NODE_SERVER_BASEURL}
MYSQL_DATABASE_URL: "mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@mysql:3306/${MYSQL_DATABASE}"
LOG_LEVEL: "info"
K3S_TOKEN: ${K3S_TOKEN}
KUBECONFIG: ${KUBECONFIG_FILE_PATH}
DOCKER_HOST: ${DOCKER_HOST}
DOCKER_REGISTRY: ${DOCKER_REGISTRY}
PROJECT_DEPLOYMENT_DNS_NAME: ${PROJECT_DEPLOYMENT_DNS_NAME} # Where will projects be deployed online?
CERT_ISSUANCE_EMAIL: ${CERT_ISSUANCE_EMAIL}
PROMETHEUS_URL: ${PROMETHEUS_URL}
SENDGRID_API_KEY: ${SENDGRID_API_KEY}
SYSTEM_FROM_EMAIL: ${SYSTEM_FROM_EMAIL}
depends_on:
- mysql
volumes:
- ./src:/app/src
- ./local-data/kubeconfig:/kubeconfig
k3s-server:
image: rancher/k3s:latest
container_name: cars-k3s
privileged: true
tmpfs:
- /run
- /var/run
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535
command:
- server
- "--tls-san=cars-k3s"
- "--node-name=cars-k3s"
restart: always
environment:
K3S_KUBECONFIG_OUTPUT: /output/kubeconfig.yaml
K3S_KUBECONFIG_MODE: "666"
K3S_TOKEN: ${K3S_TOKEN}
volumes:
- k3s-server:/var/lib/rancher/k3s
- ./local-data/kubeconfig:/output
- ./registries.yaml:/etc/rancher/k3s/registries.yaml:ro
ports:
- "8081:80"
- "8082:443"
registry:
image: registry:2
container_name: cars-registry
volumes:
- ./local-data/registry:/var/lib/registry
dind:
image: docker:20-dind
container_name: cars-dind
privileged: true
environment:
DOCKER_TLS_CERTDIR: ""
command: [ "--insecure-registry=cars-registry:5000" ]
volumes:
- dind-storage:/var/lib/docker
volumes:
k3s-server: {}
dind-storage: {}