-
-
Notifications
You must be signed in to change notification settings - Fork 492
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
97 lines (90 loc) · 2.66 KB
/
docker-compose.yml
File metadata and controls
97 lines (90 loc) · 2.66 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
services:
service.ttrss:
image: wangqiru/ttrss:nightly
container_name: ttrss
ports:
- 181:80
environment:
- SELF_URL_PATH=http://localhost:181 # please change to your own domain
- DB_PASS=ttrss # use the same password defined in `database.postgres`
- PUID=1000
- PGID=1000
# - ALLOW_PORTS=1200 # allow service.rsshub to expose port 1200 to ttrss
volumes:
- cache:/var/www/cache/
networks:
- public_access
- service_only
- database_only
stdin_open: true
tty: true
depends_on:
- database.postgres
restart: always
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:80 || exit 1"]
start_period: 30s
interval: 30s
timeout: 10s
retries: 5
service.mercury: # set Mercury Parser API endpoint to `service.mercury:3000` on TTRSS plugin setting page
image: wangqiru/mercury-parser-api:latest
container_name: mercury
networks:
- public_access
- service_only
restart: always
service.opencc: # set OpenCC API endpoint to `service.opencc:3000` on TTRSS plugin setting page
image: wangqiru/opencc-api-server:latest
container_name: opencc
environment:
- NODE_ENV=production
networks:
- service_only
restart: always
database.postgres:
image: postgres:16-alpine
environment:
- POSTGRES_PASSWORD=ttrss # feel free to change the password
volumes:
- ~/postgres/data/:/var/lib/postgresql/data # persist postgres data to ~/postgres/data/ on the host
networks:
- database_only
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
start_period: 30s
interval: 30s
timeout: 10s
retries: 5
# utility.watchtower:
# container_name: watchtower
# image: nicholas-fedor/watchtower:latest
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
# environment:
# - WATCHTOWER_CLEANUP=true
# - WATCHTOWER_POLL_INTERVAL=86400
# restart: always
# service.rsshub:
# container_name: rsshub
# image: diygod/rsshub:latest # or :chromium-bundled for routes requiring Puppeteer
# environment:
# NODE_ENV: production
# DEBUG_INFO: false
# LOGGER_LEVEL: error
# NO_LOGFILES: true
# networks:
# - public_access
# - service_only
# expose:
# - 1200
# restart: unless-stopped
volumes:
cache:
networks:
public_access: # Provide the access for ttrss UI
service_only: # Provide the communication network between services only
internal: true
database_only: # Provide the communication between ttrss and database only
internal: true