-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
129 lines (118 loc) · 2.75 KB
/
Copy pathdocker-compose.yml
File metadata and controls
129 lines (118 loc) · 2.75 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
name: philomena
services:
app:
image: ghcr.io/philomena-dev/philomena:master
env_file: .env
working_dir: /srv/philomena
attach: true
depends_on:
- postgres
- opensearch
- valkey
- mediaproc
worker:
image: ghcr.io/philomena-dev/philomena:master
environment:
- START_WORKER=true
- START_ENDPOINT=false
env_file: .env
working_dir: /srv/philomena
attach: false
depends_on:
- postgres
- opensearch
- valkey
- mediaproc
postgres:
image: postgres:18.1-alpine
environment:
- POSTGRES_HOST_AUTH_METHOD=trust
- POSTGRES_USER=philomena
- POSTGRES_PASSWORD=philomena
- POSTGRES_DB=philomena
- LANG=en_US.utf8
volumes:
- ./volumes/postgres/18:/var/lib/postgresql/data
command:
- "postgres"
- "-c"
- "shared_buffers=256MB"
- "-c"
- "max_connections=256"
attach: false
opensearch:
image: opensearchproject/opensearch:3.3.2
environment:
- TAKE_FILE_OWNERSHIP=true
- OPENSEARCH_JAVA_OPTS=-Xms8g -Xmx8g
volumes:
- ./volumes/opensearch:/usr/share/opensearch/data
- ./opensearch.yml:/usr/share/opensearch/config/opensearch.yml:ro
attach: false
ulimits:
nofile:
soft: 65536
hard: 65536
memlock:
soft: -1
hard: -1
valkey:
image: valkey/valkey:9.0.0-alpine
attach: false
mediaproc:
image: ghcr.io/philomena-dev/mediaproc:master
attach: false
deploy:
resources:
limits:
cpus: '4'
memory: 8gb
pids: 8192
caddy:
image: ghcr.io/philomena-dev/philomena-web:master
volumes:
- ./volumes/caddy:/data
- ./logs/caddy:/var/log/caddy
env_file: .env-web
depends_on:
- app
attach: false
web:
image: nginx:1.29.3-alpine
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./certs:/etc/nginx/certs:ro
- ./logs/nginx:/etc/nginx/logs
- ./volumes/cache:/var/www/cache
attach: false
depends_on:
- caddy
- app
ports:
- '80:80'
- '443:443'
# Optional local S3 storage service.
files:
image: andrewgaul/s3proxy:sha-3080d9e
environment:
- JCLOUDS_FILESYSTEM_BASEDIR=/data
- S3PROXY_IGNORE_UNKNOWN_HEADERS=true
volumes:
- ./volumes/files:/data
attach: false
profiles:
- local-storage
# Optional local proxy services (go-camo and tinyproxy).
gocamo:
image: cactus4docker/go-camo:v2.7.1
env_file: .env-web
attach: false
profiles:
- local-proxy
tinyproxy:
image: ghcr.io/philomena-dev/tinyproxy:1.11.2
attach: false
volumes:
- ./tinyproxy.conf:/tinyproxy.conf:ro
profiles:
- local-proxy