]> Untitled Git - lemmy.git/blob - docker/travis/docker-compose.yml
9aa7750c0f88f4233ff9fcb3c33a0bfc8b99843b
[lemmy.git] / docker / travis / docker-compose.yml
1 version: '3.3'
2
3 services:
4   nginx:
5     image: nginx:1.17-alpine
6     ports:
7       - "8540:8540"
8       - "8550:8550"
9       - "8560:8560"
10       - "8570:8570"
11       - "8580:8580"
12     volumes:
13       # Hack to make this work from both docker/federation/ and docker/federation-test/
14       - ../federation/nginx.conf:/etc/nginx/nginx.conf
15     restart: on-failure
16     depends_on:
17       - pictrs
18       - iframely
19       - lemmy-alpha
20       - lemmy-beta
21       - lemmy-gamma
22       - lemmy-delta
23       - lemmy-epsilon
24
25   pictrs:
26     restart: always
27     image: asonix/pictrs:v0.1.13-r0
28     user: 991:991
29     volumes:
30       - ./volumes/pictrs_alpha:/mnt
31
32   lemmy-alpha:
33     image: dessalines/lemmy:travis
34     environment:
35       - LEMMY_HOSTNAME=lemmy-alpha:8540
36       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_alpha:5432/lemmy
37       - LEMMY_JWT_SECRET=changeme
38       - LEMMY_FRONT_END_DIR=/app/dist
39       - LEMMY_FEDERATION__ENABLED=true
40       - LEMMY_FEDERATION__TLS_ENABLED=false
41       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta,lemmy-gamma,lemmy-delta,lemmy-epsilon
42       - LEMMY_PORT=8540
43       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_alpha
44       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
45       - LEMMY_SETUP__SITE_NAME=lemmy-alpha
46       - LEMMY_RATE_LIMIT__POST=99999
47       - LEMMY_RATE_LIMIT__REGISTER=99999
48       - LEMMY_CAPTCHA__ENABLED=false
49       - RUST_BACKTRACE=1
50       - RUST_LOG=debug
51     depends_on:
52       - postgres_alpha
53   postgres_alpha:
54     image: postgres:12-alpine
55     environment:
56       - POSTGRES_USER=lemmy
57       - POSTGRES_PASSWORD=password
58       - POSTGRES_DB=lemmy
59     volumes:
60       - ./volumes/postgres_alpha:/var/lib/postgresql/data
61
62   lemmy-beta:
63     image: dessalines/lemmy:travis
64     environment:
65       - LEMMY_HOSTNAME=lemmy-beta:8550
66       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_beta:5432/lemmy
67       - LEMMY_JWT_SECRET=changeme
68       - LEMMY_FRONT_END_DIR=/app/dist
69       - LEMMY_FEDERATION__ENABLED=true
70       - LEMMY_FEDERATION__TLS_ENABLED=false
71       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-gamma,lemmy-delta,lemmy-epsilon
72       - LEMMY_PORT=8550
73       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_beta
74       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
75       - LEMMY_SETUP__SITE_NAME=lemmy-beta
76       - LEMMY_RATE_LIMIT__POST=99999
77       - LEMMY_RATE_LIMIT__REGISTER=99999
78       - LEMMY_CAPTCHA__ENABLED=false
79       - RUST_BACKTRACE=1
80       - RUST_LOG=debug
81     depends_on:
82       - postgres_beta
83   postgres_beta:
84     image: postgres:12-alpine
85     environment:
86       - POSTGRES_USER=lemmy
87       - POSTGRES_PASSWORD=password
88       - POSTGRES_DB=lemmy
89     volumes:
90       - ./volumes/postgres_beta:/var/lib/postgresql/data
91
92   lemmy-gamma:
93     image: dessalines/lemmy:travis
94     environment:
95       - LEMMY_HOSTNAME=lemmy-gamma:8560
96       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_gamma:5432/lemmy
97       - LEMMY_JWT_SECRET=changeme
98       - LEMMY_FRONT_END_DIR=/app/dist
99       - LEMMY_FEDERATION__ENABLED=true
100       - LEMMY_FEDERATION__TLS_ENABLED=false
101       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-beta,lemmy-delta,lemmy-epsilon
102       - LEMMY_PORT=8560
103       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_gamma
104       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
105       - LEMMY_SETUP__SITE_NAME=lemmy-gamma
106       - LEMMY_RATE_LIMIT__POST=99999
107       - LEMMY_RATE_LIMIT__REGISTER=99999
108       - LEMMY_CAPTCHA__ENABLED=false
109       - RUST_BACKTRACE=1
110       - RUST_LOG=debug
111     depends_on:
112       - postgres_gamma
113   postgres_gamma:
114     image: postgres:12-alpine
115     environment:
116       - POSTGRES_USER=lemmy
117       - POSTGRES_PASSWORD=password
118       - POSTGRES_DB=lemmy
119     volumes:
120       - ./volumes/postgres_gamma:/var/lib/postgresql/data
121
122   # An instance with only an allowlist for beta
123   lemmy-delta:
124     image: dessalines/lemmy:travis
125     environment:
126       - LEMMY_HOSTNAME=lemmy-delta:8570
127       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_delta:5432/lemmy
128       - LEMMY_JWT_SECRET=changeme
129       - LEMMY_FRONT_END_DIR=/app/dist
130       - LEMMY_FEDERATION__ENABLED=true
131       - LEMMY_FEDERATION__TLS_ENABLED=false
132       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta
133       - LEMMY_PORT=8570
134       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_delta
135       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
136       - LEMMY_SETUP__SITE_NAME=lemmy-delta
137       - LEMMY_RATE_LIMIT__POST=99999
138       - LEMMY_RATE_LIMIT__REGISTER=99999
139       - LEMMY_CAPTCHA__ENABLED=false
140       - RUST_BACKTRACE=1
141       - RUST_LOG=debug
142     depends_on:
143       - postgres_delta
144   postgres_delta:
145     image: postgres:12-alpine
146     environment:
147       - POSTGRES_USER=lemmy
148       - POSTGRES_PASSWORD=password
149       - POSTGRES_DB=lemmy
150     volumes:
151       - ./volumes/postgres_delta:/var/lib/postgresql/data
152
153   # An instance who has a blocklist, with lemmy-alpha blocked
154   lemmy-epsilon:
155     image: dessalines/lemmy:travis
156     environment:
157       - LEMMY_HOSTNAME=lemmy-epsilon:8580
158       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_epsilon:5432/lemmy
159       - LEMMY_JWT_SECRET=changeme
160       - LEMMY_FRONT_END_DIR=/app/dist
161       - LEMMY_FEDERATION__ENABLED=true
162       - LEMMY_FEDERATION__TLS_ENABLED=false
163       - LEMMY_FEDERATION__BLOCKED_INSTANCES=lemmy-alpha
164       - LEMMY_PORT=8580
165       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_epsilon
166       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
167       - LEMMY_SETUP__SITE_NAME=lemmy-epsilon
168       - LEMMY_RATE_LIMIT__POST=99999
169       - LEMMY_RATE_LIMIT__REGISTER=99999
170       - LEMMY_CAPTCHA__ENABLED=false
171       - RUST_BACKTRACE=1
172       - RUST_LOG=debug
173     depends_on:
174       - postgres_epsilon
175   postgres_epsilon:
176     image: postgres:12-alpine
177     environment:
178       - POSTGRES_USER=lemmy
179       - POSTGRES_PASSWORD=password
180       - POSTGRES_DB=lemmy
181     volumes:
182       - ./volumes/postgres_epsilon:/var/lib/postgresql/data
183
184   iframely:
185     image: dogbin/iframely:latest
186     volumes:
187       - ../iframely.config.local.js:/iframely/config.local.js:ro
188     restart: always