1services:
2 aqua-api:
3 build:
4 context: .
5 dockerfile: apps/aqua/Dockerfile
6 container_name: aqua-app
7 ports:
8 - "3000:3000"
9 extra_hosts:
10 - "host.docker.internal:host-gateway"
11 networks:
12 - app_network
13 depends_on:
14 - postgres
15 env_file:
16 - .env
17 environment:
18 DATABASE_URL: ${DOCKER_DB_URL}
19 amethyst:
20 build:
21 context: .
22 dockerfile: apps/amethyst/Dockerfile
23 args:
24 - CLIENT_ADDRESS=${CLIENT_ADDRESS}
25 ports:
26 - "80:80"
27 - "443:443"
28 - "443:443/udp"
29 volumes:
30 - caddy_data:/data
31 - caddy_config:/config
32 networks:
33 - app_network
34 environment:
35 CLIENT_ADDRESS: ${CLIENT_ADDRESS}
36
37 cadet:
38 build:
39 context: .
40 dockerfile: apps/cadet/Dockerfile
41 container_name: cadet-app
42 ports:
43 - "3001:3000"
44 networks:
45 - app_network
46 depends_on:
47 - postgres
48
49 satellite:
50 image: ghcr.io/espeon/satellite
51 ports:
52 - "3132:3000"
53 env_file:
54 - .env
55 environment:
56 DATABASE_URL: ${DOCKER_DB_URL}
57 extra_hosts:
58 - "host.docker.internal:host-gateway"
59 networks:
60 - app_network
61 depends_on:
62 - postgres
63
64 piper:
65 image: ghcr.io/teal-fm/piper:main
66 # Depends on your .env.air
67 ports:
68 - "8080:8080"
69 env_file:
70 - .env.air
71 volumes:
72 - piper_data:/db
73 - garnet
74
75 garnet:
76 image: ghcr.io/microsoft/garnet:latest
77 container_name: garnet
78 ports:
79 - "6379:6379"
80 volumes:
81 - garnet_data:/data
82 command: --storage-tier Storage --index-size 1g
83 networks:
84 - app_network
85
86 postgres:
87 image: postgres:latest
88 container_name: postgres_db
89 environment:
90 POSTGRES_USER: ${DB_USER}
91 POSTGRES_PASSWORD: ${DB_PASSWORD}
92 POSTGRES_DB: ${DB_NAME}
93 ports:
94 - "5432:5432"
95 volumes:
96 - postgres_data:/var/lib/postgresql/data
97 extra_hosts:
98 - "host.docker.internal:host-gateway"
99 networks:
100 - app_network
101 # traefik:
102 # image: traefik:v2.10
103 # container_name: traefik
104 # command:
105 # - "--api.insecure=true"
106 # - "--providers.file.directory=/etc/traefik/dynamic"
107 # - "--providers.file.watch=true"
108 # - "--entrypoints.web.address=:80"
109 # ports:
110 # - "80:80" # HTTP
111 # - "8080:8080" # Dashboard
112 # volumes:
113 # - ./traefik/dynamic:/etc/traefik/dynamic:ro
114 # networks:
115 # - app_network
116 # extra_hosts:
117 # - "host.docker.internal:host-gateway" # This allows reaching host machine
118networks:
119 app_network:
120 driver: bridge
121volumes:
122 postgres_data:
123 caddy_data:
124 caddy_config:
125 piper_data:
126 garnet_data: