summaryrefslogtreecommitdiffstats
path: root/docker/federation/docker-compose.yml
blob: 585f2b4b56f24af28a0bc9015f9d05389c0218a0 (plain)
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
version: '3.3'

services:
  nginx:
    image: nginx:1.17-alpine
    ports:
      - "8540:8540"
      - "8550:8550"
      - "8560:8560"
    volumes:
      # Hack to make this work from both docker/federation/ and docker/federation-test/
      - ../federation/nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - lemmy_alpha
      - pictrs_alpha
      - lemmy_beta
      - pictrs_beta
      - lemmy_gamma
      - pictrs_gamma
      - iframely
    restart: "always"

  lemmy_alpha:
    image: lemmy-federation:latest
    environment:
      - LEMMY_HOSTNAME=lemmy_alpha:8540
      - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_alpha:5432/lemmy
      - LEMMY_JWT_SECRET=changeme
      - LEMMY_FRONT_END_DIR=/app/dist
      - LEMMY_FEDERATION__ENABLED=true
      - LEMMY_FEDERATION__TLS_ENABLED=false
      - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy_beta,lemmy_gamma
      - LEMMY_PORT=8540
      - LEMMY_SETUP__ADMIN_USERNAME=lemmy_alpha
      - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
      - LEMMY_SETUP__SITE_NAME=lemmy_alpha
      - RUST_BACKTRACE=1
      - RUST_LOG=debug
    restart: always
    depends_on:
      - postgres_alpha
  postgres_alpha:
    image: postgres:12-alpine
    environment:
      - POSTGRES_USER=lemmy
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=lemmy
    volumes:
      - ./volumes/postgres_alpha:/var/lib/postgresql/data
    restart: always
  pictrs_alpha:
    image: asonix/pictrs:v0.1.13-r0
    user: 991:991
    volumes:
      - ./volumes/pictrs_alpha:/mnt
    restart: always

  lemmy_beta:
    image: lemmy-federation:latest
    environment:
      - LEMMY_HOSTNAME=lemmy_beta:8550
      - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_beta:5432/lemmy
      - LEMMY_JWT_SECRET=changeme
      - LEMMY_FRONT_END_DIR=/app/dist
      - LEMMY_FEDERATION__ENABLED=true
      - LEMMY_FEDERATION__TLS_ENABLED=false
      - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy_alpha,lemmy_gamma
      - LEMMY_PORT=8550
      - LEMMY_SETUP__ADMIN_USERNAME=lemmy_beta
      - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
      - LEMMY_SETUP__SITE_NAME=lemmy_beta
      - RUST_BACKTRACE=1
      - RUST_LOG=debug
    restart: always
    depends_on:
      - postgres_beta
  postgres_beta:
    image: postgres:12-alpine
    environment:
      - POSTGRES_USER=lemmy
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=lemmy
    volumes:
      - ./volumes/postgres_beta:/var/lib/postgresql/data
    restart: always
  pictrs_beta:
    image: asonix/pictrs:v0.1.13-r0
    user: 991:991
    volumes:
      - ./volumes/pictrs_beta:/mnt
    restart: always

  lemmy_gamma:
    image: lemmy-federation:latest
    environment:
      - LEMMY_HOSTNAME=lemmy_gamma:8560
      - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_gamma:5432/lemmy
      - LEMMY_JWT_SECRET=changeme
      - LEMMY_FRONT_END_DIR=/app/dist
      - LEMMY_FEDERATION__ENABLED=true
      - LEMMY_FEDERATION__TLS_ENABLED=false
      - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy_alpha,lemmy_beta
      - LEMMY_PORT=8560
      - LEMMY_SETUP__ADMIN_USERNAME=lemmy_gamma
      - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
      - LEMMY_SETUP__SITE_NAME=lemmy_gamma
      - RUST_BACKTRACE=1
      - RUST_LOG=debug
    restart: always
    depends_on:
      - postgres_gamma
  postgres_gamma:
    image: postgres:12-alpine
    environment:
      - POSTGRES_USER=lemmy
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=lemmy
    volumes:
      - ./volumes/postgres_gamma:/var/lib/postgresql/data
    restart: always
  pictrs_gamma:
    image: asonix/pictrs:v0.1.13-r0
    user: 991:991
    volumes:
      - ./volumes/pictrs_gamma:/mnt
    restart: always

  iframely:
    image: dogbin/iframely:latest
    volumes:
      - ../iframely.config.local.js:/iframely/config.local.js:ro
    restart: always