-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathcompose.yaml
More file actions
167 lines (157 loc) · 3.99 KB
/
Copy pathcompose.yaml
File metadata and controls
167 lines (157 loc) · 3.99 KB
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
services:
fbk:
image: fbk
container_name: fbk
restart: unless-stopped
stdin_open: true
tty: true
networks:
- fbk
ports:
- 8001:8001 # YouTube PubSub subscription callback
- 8002:8002 # TwitCasting Webhook endpoint
- 127.0.0.1:8003:8003 # Internal Twitch Webhook endpoint
- 127.0.0.1:8004:8004 # Kick Webhook endpoint
- 8010:8010 # YouTube video API server
- 8020:8020 # External command execution API server
- 8080:8080 # File server
- 8101:8101 # OAuth redirect
volumes:
- ./fbk/files:/app/files
- ./fbk/logs:/app/logs
- ./fbk/keys.toml:/app/keys.toml
secrets:
- db_password
depends_on:
mongodb:
condition: service_healthy
restart: true
postgres:
condition: service_healthy
restart: true
libretranslate:
condition: service_healthy
restart: false
postgres:
image: postgres:17
container_name: fbk_postgres
restart: always
command: -c 'max_connections=15000' -c 'shared_buffers=4GB'
healthcheck:
test: ["CMD-SHELL", "pg_isready -U fbk -d fbk"]
interval: 30s
timeout: 10s
networks:
- fbk
environment:
- POSTGRES_USER=fbk
- POSTGRES_PASSWORD_FILE=/run/secrets/db_password
- POSTGRES_DB=fbk
volumes:
- ./pgdata:/var/lib/postgresql/data
- ./transfer/postgres:/mnt/transfer
secrets:
- db_password
mongodb:
image: mongo
container_name: fbk_mongodb
restart: always
healthcheck:
test: mongosh --norc --quiet --eval "db.getMongo()"
interval: 30s
timeout: 10s
start_period: 30s
networks:
- fbk
environment:
- MONGO_INITDB_ROOT_USERNAME=fbk
- MONGO_INITDB_ROOT_PASSWORD_FILE=/run/secrets/db_password # linux: may need to adjust file permissions or just put the password here without using _FILE.
volumes:
- ./mongodata:/data/db
- ./transfer/mongo:/mnt/transfer
secrets:
- db_password
libretranslate:
image: libretranslate/libretranslate
container_name: fbk_libretranslate
restart: always
tty: true
healthcheck:
test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']
retries: 120 # First-time startup will download all models before bot should be ran - may take a long time
networks:
- fbk
volumes:
- ./tldata:/home/libretranslate/.local:rw # linux: may need to use chown 1032:1032 tldata/
deeplx:
image: ghcr.io/owo-network/deeplx:latest
restart: always
networks:
- fbk
jetstream:
image: ghcr.io/bluesky-social/jetstream:sha-fc35aea
container_name: fbk_bluesky
restart: always
networks:
- fbk
#volumes:
#- ./bskydata:/data
environment:
- JETSTREAM_DATA_DIR=/data
- JETSTREAM_LIVENESS_TTL=15s
nitter:
image: zedeus/nitter:latest
container_name: nitter
networks:
- fbk
ports:
- "127.0.0.1:8300:80"
volumes:
- ./fbk/nitter/nitter.conf:/src/nitter.conf:Z,ro # linux: may need to chown 998:998 /fbk/nitter/
- ./fbk/nitter/sessions.jsonl:/src/sessions.jsonl:Z,ro
depends_on:
- nitter-redis
restart: unless-stopped
healthcheck:
test: wget -nv --tries=1 --spider http://127.0.0.1:80/Jack/status/20 || exit 1
interval: 30s
timeout: 5s
retries: 2
user: "998:998"
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
nitter-redis:
image: redis:6-alpine
container_name: nitter-redis
command: redis-server --save 60 1 --loglevel warning
networks:
- fbk
volumes:
- nitter-redis:/data
restart: unless-stopped
healthcheck:
test: redis-cli ping
interval: 30s
timeout: 5s
retries: 2
user: "999:1000"
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
volumes:
nitter-redis:
secrets:
db_password:
file: db_password
networks:
fbk:
name: fbk
driver: bridge
ipam:
config:
- subnet: 172.10.0.0/24