-
-
Notifications
You must be signed in to change notification settings - Fork 26
/
docker-compose.yml
68 lines (67 loc) · 1.96 KB
/
docker-compose.yml
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
services:
bot:
image: ghcr.io/erisa/cliptok
depends_on:
- redis
env_file:
- .env
restart: on-failure
volumes:
- type: bind
source: ./Lists/Private
target: /app/Lists/Private
# Comment out the following (And I guess the above?) if you won't use SSH to pull Lists/Private
- type: bind
source: ${HOME}/.ssh/known_hosts
target: /root/.ssh/known_hosts
- type: bind
source: ./ssh_key
target: /root/.ssh/id_ed25519
# Uncomment the below lines to use your own config file.
#- type: bind
# source: ./config.dev.json
# target: /app/config.json
environment:
# Overrides your configs Redis options for use with Docker Compose
# I don't advise changing this unless you have a strange setup
- REDIS_DOCKER_OVERRIDE=true
redis:
image: 'redis:7.2-alpine'
restart: always
volumes:
- type: bind
source: ./data
target: /data
command: --appendonly yes
# You may want to comment out everything below if you're not Erisa.
redis-exposer:
image: ghcr.io/erisa/redis-exposer
restart: always
env_file:
- .exposer.env
cloudflared:
image: erisamoe/cloudflared
restart: always
command: tunnel --no-autoupdate run
environment:
- TUNNEL_TOKEN=${CLOUDFLARED_TOKEN}
watchtower:
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --interval 30 --label-enable
restart: always
tailscale:
image: tailscale/tailscale:latest
volumes:
- ./data/ts-state:/var/lib/tailscale
environment:
- TS_AUTHKEY=${TS_AUTHKEY}
- TS_STATE_DIR=/var/lib/tailscale
- TS_USERSPACE=false
- TS_EXTRA_ARGS=--hostname=cliptok --accept-dns=false --accept-routes=false # i'm not having my tailnet misconfigurations break cliptok
cap_add:
- net_admin
- sys_module
restart: always
network_mode: service:bot