-
Notifications
You must be signed in to change notification settings - Fork 95
/
Copy pathdocker-compose.yml
132 lines (125 loc) · 3.58 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
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
x-logging: &default-logging
driver: "json-file"
options:
max-size: "50m"
max-file: "4"
services:
proxy:
image: docker.io/library/nginx
ports:
# Note, change lemmy_port in vars.yml if it is already in use on your system
- "127.0.0.1:{{ lemmy_port }}:8536"
volumes:
- ./nginx_internal.conf:/etc/nginx/nginx.conf:ro,Z
- ./proxy_params:/etc/nginx/proxy_params:ro,Z
restart: always
logging: *default-logging
depends_on:
- pictrs
- lemmy-ui
lemmy:
image: {{ lemmy_docker_image }}
hostname: lemmy
restart: always
logging: *default-logging
environment:
{% if lemmy_env_vars is defined and lemmy_env_vars|length > 0 %}
{% for item in lemmy_env_vars %}
{% for key, value in item.items() %}
- {{ key }}={{ value }}
{% endfor %}
{% endfor %}
{% endif %}
volumes:
- ./lemmy.hjson:/config/config.hjson:Z
depends_on:
- postgres
- pictrs
lemmy-ui:
image: {{ lemmy_docker_ui_image }}
environment:
{% if lemmyui_env_vars is defined and lemmyui_env_vars|length > 0 %}
{% for item in lemmyui_env_vars %}
{% for key, value in item.items() %}
- {{ key }}={{ value }}
{% endfor %}
{% endfor %}
{% endif %}
volumes:
- ./volumes/lemmy-ui/extra_themes:/app/extra_themes:Z
depends_on:
- lemmy
restart: always
logging: *default-logging
pictrs:
image: docker.io/asonix/pictrs:0.5
# this needs to match the pictrs url in lemmy.hjson
hostname: pictrs
# we can set options to pictrs like this, here we set max. image size and forced format for conversion
# entrypoint: /sbin/tini -- /usr/local/bin/pict-rs -p /mnt -m 4 --image-format webp
environment:
{% if pictrs_env_vars is defined and pictrs_env_vars|length > 0 %}
{% for item in pictrs_env_vars %}
{% for key, value in item.items() %}
- {{ key }}={{ value }}
{% endfor %}
{% endfor %}
{% endif %}
{% if pictrs_safety is defined and pictrs_safety|bool == true %}
- PICTRS__MEDIA__EXTERNAL_VALIDATION=http://{{ domain }}:14051/api/v1/scan/IPADDR
{% endif %}
user: 991:991
volumes:
- ./volumes/pictrs:/mnt:Z
restart: always
logging: *default-logging
postgres:
image: docker.io/pgautoupgrade/pgautoupgrade:16-alpine
hostname: postgres
environment:
{% if postgres_env_vars is defined and postgres_env_vars|length > 0 %}
{% for item in postgres_env_vars %}
{% for key, value in item.items() %}
- {{ key }}={{ value }}
{% endfor %}
{% endfor %}
{% endif %}
volumes:
- ./volumes/postgres:/var/lib/postgresql/data:Z
- ./customPostgresql.conf:/etc/postgresql.conf:Z
restart: always
command: postgres -c config_file=/etc/postgresql.conf
shm_size: {{ postgres_shm }}
logging: *default-logging
postfix:
image: docker.io/mwader/postfix-relay
environment:
{% if postfix_env_vars is defined and postfix_env_vars|length > 0 %}
{% for item in postfix_env_vars %}
{% for key, value in item.items() %}
- {{ key }}={{ value }}
{% endfor %}
{% endfor %}
{% endif %}
restart: "always"
logging: *default-logging
{% if pictrs_safety is defined and pictrs_safety|bool == true %}
pictrs-safety:
image: ghcr.io/db0/pictrs-safety:v1.2.2
hostname: pictrs-safety
environment:
{% if pictrs_safety_env_vars is defined and pictrs_safety_env_vars|length > 0 %}
{% for item in pictrs_safety_env_vars %}
{% for key, value in item.items() %}
- {{ key }}={{ value }}
{% endfor %}
{% endfor %}
{% endif %}
ports:
- "14051:14051"
user: 991:991
restart: always
logging: *default-logging
depends_on:
- pictrs
{% endif %}