summaryrefslogtreecommitdiff
path: root/docker-compose.yml
diff options
context:
space:
mode:
Diffstat (limited to 'docker-compose.yml')
-rw-r--r--docker-compose.yml38
1 files changed, 38 insertions, 0 deletions
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..6483a7a
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,38 @@
+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"
+
+# Defines the services
+services:
+ # The eduvpn server with portal
+ eduvpnserver:
+ build:
+ context: .
+ dockerfile: ci/docker/eduvpnserver.docker
+ sysctls: # needed for wireguard permissions, otherwise we get a permisison failed
+ - net.ipv6.conf.all.disable_ipv6=0
+ cap_add: # needed for wireguard
+ - NET_ADMIN
+ environment: *common-env
+ healthcheck:
+ test: ["CMD", "/eduvpn/server/healthcheck.sh"] # 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/gotest.docker
+ environment: *common-env
+ # Wait for eduvpn server to come online
+ depends_on:
+ eduvpnserver:
+ condition: service_healthy