-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
102 lines (87 loc) · 2.18 KB
/
Copy pathdocker-compose.yml
File metadata and controls
102 lines (87 loc) · 2.18 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
services:
zonzon:
build:
context: .
dockerfile: Dockerfile.zonzon
container_name: zonzon_mesh
cap_add:
- NET_ADMIN
ports:
- "58080:80/tcp"
volumes:
- ./config:/app/config:ro
environment:
- ZONZON_PORT=53
- ZONZON_FALLBACK_DNS=1.1.1.1
networks:
pi_network:
ipv4_address: 172.53.0.53
external_net:
restart: unless-stopped
pi-agent:
build:
context: .
dockerfile: Dockerfile
image: local/pi-coding-agent:latest
container_name: pi_coding_agent
tty: true
stdin_open: true
# Force all domain resolution through zonzon's L7 Intercept Mesh
dns:
- 172.53.0.53
environment:
- HOME=/home/node
- HOST_UID=${HOST_UID:-1000}
- HOST_GID=${HOST_GID:-1000}
- GIT_AUTHOR_NAME=${GIT_NAME}
- GIT_AUTHOR_EMAIL=${GIT_EMAIL}
- GIT_COMMITTER_NAME=${GIT_NAME}
- GIT_COMMITTER_EMAIL=${GIT_EMAIL}
- GIT_CONFIG_COUNT=2
- GIT_CONFIG_KEY_0=user.signingkey
- GIT_CONFIG_VALUE_0=${GIT_GPG_KEY}
- GIT_CONFIG_KEY_1=commit.gpgsign
- GIT_CONFIG_VALUE_1=${GIT_GPG_SIGN:-false}
secrets:
- source: github_token
target: ${SECRET_TARGET_PATH:-/run/secrets/gh_default}
volumes:
- workspace:/workspace
- pi_data:/home/node/.pi
user: "${HOST_UID:-1000}:${HOST_GID:-1000}"
read_only: true
tmpfs:
- /tmp:noexec,nodev,nosuid,mode=1777
- /home/node/.config:uid=${HOST_UID:-1000},gid=${HOST_GID:-1000},mode=700,noexec,nodev,nosuid
- /home/node/.npm:uid=${HOST_UID:-1000},gid=${HOST_GID:-1000},mode=700,noexec,nodev,nosuid
pids_limit: 150
networks:
- pi_network
restart: "no"
depends_on:
- zonzon
volumes:
pi_data:
driver: local
driver_opts:
type: none
o: bind
device: ${PWD}/.pi-data
workspace:
driver: local
driver_opts:
type: none
o: bind
device: ${PWD}/workspace
networks:
pi_network:
driver: bridge
internal: true
ipam:
config:
- subnet: 172.53.0.0/16
external_net:
driver: bridge
secrets:
github_token:
file: ${PWD}/.secrets/github_token.txt