forked from
tangled.org/knot-docker
Community maintained Docker config for the knot server
1name: tangled
2services:
3 knot:
4 image: tngl/knot:latest
5 build:
6 target: knot
7 args: &args
8 UID: ${UID:-1000}
9 GID: ${GID:-1000}
10 TAG: ${TAG:-v1.11.0-alpha}
11 tags:
12 - tngl/spindle:latest
13 - tngl/spindle:${TAG:-v1.11.0-alpha}
14 environment:
15 KNOT_SERVER_HOSTNAME: ${KNOT_SERVER_HOSTNAME}
16 KNOT_SERVER_OWNER: ${KNOT_SERVER_OWNER}
17 KNOT_SERVER_DB_PATH: /app/knotserver.db
18 KNOT_REPO_SCAN_PATH: /home/git/repositories
19 KNOT_SERVER_INTERNAL_LISTEN_ADDR: localhost:5444
20 volumes:
21 - ./keys:/etc/ssh/keys
22 - ./repositories:/home/git/repositories
23 - ./server:/app
24 ports:
25 - "5555:5555"
26 - "2222:22"
27 restart: always
28 spindle:
29 image: tngl/spindle:latest
30 build:
31 target: spindle
32 args: *args
33 tags:
34 - tngl/spindle:latest
35 - tngl/spindle:${TAG:-v1.11.0-alpha}
36 environment:
37 SPINDLE_SERVER_HOSTNAME: ${SPINDLE_SERVER_HOSTNAME}
38 SPINDLE_SERVER_OWNER: ${KNOT_SERVER_OWNER}
39 volumes:
40 - ./logs:/var/log/spindle
41 - ./spindle:/app
42 ports:
43 - "6555:6555"
44 frontend:
45 image: caddy:alpine
46 depends_on:
47 knot:
48 condition: service_healthy
49 spindle:
50 condition: service_healthy
51 configs:
52 - source: caddyfile
53 target: /etc/caddy/Caddyfile
54 ports:
55 - ${KNOT_SERVER_PORT:-443}:443
56 - ${KNOT_SERVER_PORT:-443}:443/udp
57 volumes:
58 - ./caddy_data:/data
59 restart: always
60 profiles: ["caddy"]
61configs:
62 caddyfile:
63 content: |
64 ${KNOT_SERVER_HOSTNAME} { reverse_proxy knot:5555 }
65 ${SPINDLE_SERVER_HOSTNAME} { reverse_proxy spindle:6555 }