-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
80 lines (75 loc) · 2.44 KB
/
Copy pathdocker-compose.yml
File metadata and controls
80 lines (75 loc) · 2.44 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
services:
api:
container_name: api
build:
context: .
dockerfile: ./api/Dockerfile
environment:
- DISCORD_WEBHOOK_URL=${DISCORD_WEBHOOK_URL}
- CORS_ORIGIN=${CORS_ORIGIN}
volumes:
- ./api/dist:/dist
nuxt-frontend:
container_name: nuxt-frontend
build:
context: ./frontend
dockerfile: Dockerfile
environment:
- ENVIRONMENT=${ENVIRONMENT}
volumes:
- ./frontend/dist:/app/dist
terraform:
container_name: terraform
build:
context: ./terraform
dockerfile: Dockerfile
environment:
- TF_VAR_aws_account_id=${AWS_ACCOUNT_ID}
- TF_VAR_aws_region=${AWS_DEFAULT_REGION}
- TF_VAR_aws_access_key_id=${AWS_ACCESS_KEY_ID}
- TF_VAR_aws_secret_access_key=${AWS_SECRET_ACCESS_KEY}
- TF_VAR_discord_webhook_url=${DISCORD_WEBHOOK_URL}
volumes:
- .:/workspace
working_dir: /workspace/terraform
entrypoint: ["/workspace/terraform/entrypoint.sh"]
esp32-rust:
image: espressif/idf-rust:esp32c3_latest
container_name: esp32c3_rust_dev
working_dir: /workspace
environment:
- DEVICE_ID=${DEVICE_ID}
- OWNER_NAME=${OWNER_NAME}
- WIFI_SSID=${WIFI_SSID}
- WIFI_PASSWORD=${WIFI_PASSWORD}
- MQTT_PORT=${MQTT_PORT}
- MQTT_PUB_TOPIC=${MQTT_PUB_TOPIC}
- MQTT_SUB_TOPIC=${MQTT_SUB_TOPIC}
volumes:
- ./iot-device/esp32c3:/workspace
- ./iot-device/.certs/root_ca.pem:/certs/root_ca.pem
- ./iot-device/.certs/iot_cert.pem:/certs/iot_cert.pem
- ./iot-device/.certs/iot_private_key.pem:/certs/iot_private_key.pem
- ./iot-device/.certs/iot_endpoint.txt:/certs/iot_endpoint.txt
command: sh -c "cargo build --release"
localstack:
container_name: localstack
image: localstack/localstack
environment:
- SERVICES=iot,dynamodb,amplify,s3,iam # Mock AWS services
- DEFAULT_REGION=${AWS_DEFAULT_REGION}
ports:
- "4566:4566" # LocalStack gateway for AWS CLI & SDKs
- "4567:4567" # LocalStack S3
iot-client:
container_name: iot-client
build:
context: .
dockerfile: ./iot-device/virtual-device/Dockerfile
environment:
- PYTHONUNBUFFERED=1
volumes:
- ./iot-device/.certs/root_ca.pem:/certs/root_ca.pem
- ./iot-device/.certs/iot_cert.pem:/certs/iot_cert.pem
- ./iot-device/.certs/iot_private_key.pem:/certs/iot_private_key.pem
- ./iot-device/.certs/iot_endpoint.txt:/certs/iot_endpoint.txt