]> Untitled Git - lemmy.git/blob - docker/federation/docker-compose.yml
Merge branch 'activitystreams-new' into federation
[lemmy.git] / docker / federation / 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     volumes:
11       # Hack to make this work from both docker/federation/ and docker/federation-test/
12       - ../federation/nginx.conf:/etc/nginx/nginx.conf
13     depends_on:
14       - lemmy_alpha
15       - pictshare_alpha
16       - lemmy_beta
17       - pictshare_beta
18       - lemmy_gamma
19       - pictshare_gamma
20       - iframely
21     restart: "always"
22
23   lemmy_alpha:
24     image: lemmy-federation:latest
25     environment:
26       - LEMMY_HOSTNAME=lemmy_alpha:8540
27       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_alpha:5432/lemmy
28       - LEMMY_JWT_SECRET=changeme
29       - LEMMY_FRONT_END_DIR=/app/dist
30       - LEMMY_FEDERATION__ENABLED=true
31       - LEMMY_FEDERATION__TLS_ENABLED=false
32       - LEMMY_FEDERATION__INSTANCE_WHITELIST=lemmy_beta,lemmy_gamma
33       - LEMMY_PORT=8540
34       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_alpha
35       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
36       - LEMMY_SETUP__SITE_NAME=lemmy_alpha
37       - RUST_BACKTRACE=1
38       - RUST_LOG=debug
39     restart: always
40     depends_on:
41       - postgres_alpha
42   postgres_alpha:
43     image: postgres:12-alpine
44     environment:
45       - POSTGRES_USER=lemmy
46       - POSTGRES_PASSWORD=password
47       - POSTGRES_DB=lemmy
48     volumes:
49       - ./volumes/postgres_alpha:/var/lib/postgresql/data
50     restart: always
51   pictshare_alpha:
52     image: shtripok/pictshare:latest
53     volumes:
54       - ./volumes/pictshare_alpha:/usr/share/nginx/html/data
55     restart: always
56
57   lemmy_beta:
58     image: lemmy-federation:latest
59     environment:
60       - LEMMY_HOSTNAME=lemmy_beta:8550
61       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_beta:5432/lemmy
62       - LEMMY_JWT_SECRET=changeme
63       - LEMMY_FRONT_END_DIR=/app/dist
64       - LEMMY_FEDERATION__ENABLED=true
65       - LEMMY_FEDERATION__TLS_ENABLED=false
66       - LEMMY_FEDERATION__INSTANCE_WHITELIST=lemmy_alpha,lemmy_gamma
67       - LEMMY_PORT=8550
68       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_beta
69       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
70       - LEMMY_SETUP__SITE_NAME=lemmy_beta
71       - RUST_BACKTRACE=1
72       - RUST_LOG=debug
73     restart: always
74     depends_on:
75       - postgres_beta
76   postgres_beta:
77     image: postgres:12-alpine
78     environment:
79       - POSTGRES_USER=lemmy
80       - POSTGRES_PASSWORD=password
81       - POSTGRES_DB=lemmy
82     volumes:
83       - ./volumes/postgres_beta:/var/lib/postgresql/data
84     restart: always
85   pictshare_beta:
86     image: shtripok/pictshare:latest
87     volumes:
88       - ./volumes/pictshare_beta:/usr/share/nginx/html/data
89     restart: always
90
91   lemmy_gamma:
92     image: lemmy-federation:latest
93     environment:
94       - LEMMY_HOSTNAME=lemmy_gamma:8560
95       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_gamma:5432/lemmy
96       - LEMMY_JWT_SECRET=changeme
97       - LEMMY_FRONT_END_DIR=/app/dist
98       - LEMMY_FEDERATION__ENABLED=true
99       - LEMMY_FEDERATION__TLS_ENABLED=false
100       - LEMMY_FEDERATION__INSTANCE_WHITELIST=lemmy_alpha,lemmy_beta
101       - LEMMY_PORT=8560
102       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_gamma
103       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
104       - LEMMY_SETUP__SITE_NAME=lemmy_gamma
105       - RUST_BACKTRACE=1
106       - RUST_LOG=debug
107     restart: always
108     depends_on:
109       - postgres_gamma
110   postgres_gamma:
111     image: postgres:12-alpine
112     environment:
113       - POSTGRES_USER=lemmy
114       - POSTGRES_PASSWORD=password
115       - POSTGRES_DB=lemmy
116     volumes:
117       - ./volumes/postgres_gamma:/var/lib/postgresql/data
118     restart: always
119   pictshare_gamma:
120     image: shtripok/pictshare:latest
121     volumes:
122       - ./volumes/pictshare_gamma:/usr/share/nginx/html/data
123     restart: always
124
125   iframely:
126     image: dogbin/iframely:latest
127     volumes:
128       - ../iframely.config.local.js:/iframely/config.local.js:ro
129     restart: always