blob: 7e102e42196b9f2159ab739f948b1d13e35c7f2b (
plain)
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
|
version: '3'
# Common environment vars
# These are the credentials for the portal
# And the URI of the server
x-common-env: &common-env
PORTAL_USER: ${PORTAL_USER}
PORTAL_PASS: ${PORTAL_PASS}
OAUTH_EXPIRED_TTL: ${OAUTH_EXPIRED_TTL}
SERVER_URI: "https://eduvpnserver"
# Define a network so that the containers can talk with eachother using their service name
networks:
eduvpn_network:
ipam:
driver: default
config:
- subnet: 172.20.0.0/24
# Defines the services
services:
# The eduvpn server with portal
eduvpnserver:
build:
context: "."
dockerfile: 'ci/docker/eduvpn-server.docker'
sysctls: # needed for wireguard permissions, otherwise we get a permisison failed
- net.ipv6.conf.all.disable_ipv6=0
networks:
eduvpn_network:
ipv4_address: 172.20.0.6
cap_add: # needed for wireguard
- NET_ADMIN
environment: *common-env
healthcheck:
test: ["CMD", "systemctl", "status", "wg-quick@wg0"] # Wait for wireguard to come online
interval: 5s
timeout: 10s
retries: 10
# The container for testing the go code
gotest:
build:
context: "."
dockerfile: 'ci/docker/go-test.docker'
environment: *common-env
networks:
eduvpn_network:
ipv4_address: 172.20.0.5
# Wait for eduvpn server to come online
depends_on:
eduvpnserver:
condition: service_healthy
|