-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
118 lines (117 loc) · 2.77 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
version: "3.8"
services:
postgres:
env_file: .env
image: gitea.perl.social/perl.social/postgres-perl-social
build:
context: ./postgresql/
dockerfile: Dockerfile
volumes:
- ./volumes/postgresql/data:/var/lib/postgresql/data
restart: always
ports:
- 127.0.0.1:5432:5432
gitea:
image: gitea/gitea:1.19
env_file: .env
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
volumes:
- ./volumes/gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- 127.0.0.1:3000:3000
- 22:22
depends_on:
- postgres
- smtp
keycloak:
restart: always
image: gitea.perl.social/perl.social/keycloak-build
env_file: .env
command: start --db=postgres --https-port=443 --features=preview
build:
context: ./keycloak/
dockerfile: Dockerfile
links:
- smtp:smtp.perl.social
depends_on:
- postgres
- smtp
smtp:
# TODO, full system for local admin stuff?
# image: takeyamajp/postfix
build:
context: ./postfix
dockerfile: Dockerfile
volumes:
- ./volumes/postfix/certs:/ssl_certs
- ./volumes/postfix/dkim:/dkim_keys
env_file: .env.postfix
caddy:
image: gitea.perl.social/perl.social/caddy-perl-social
build:
context: ./caddy/
dockerfile: Dockerfile
ports:
# TODO make these right for deployment
- 443:443
- 80:80
volumes:
- ./caddy/config/:/config
- ./caddy/Caddyfile:/etc/caddy/Caddyfile
- ./volumes/caddy/data:/data
restart: always
env_file: .env
depends_on:
- keycloak
- friendica
- gitea
networks:
- default
- internal
mariadb:
image: mariadb:10
restart: always
env_file: .env
volumes:
- ./volumes/mariadb:/var/lib/mysql
friendica:
image: friendica:stable
restart: always
volumes:
- ./volumes/friendica:/var/www/html
- ./addons/samlperlsocial:/var/www/html/addon/samlperlsocial:ro
- ./themes/frio_perl_social:/var/www/html/view/theme/frio:ro
env_file: .env
depends_on:
- mariadb
- redis
- smtp
cron:
image: friendica:stable
restart: always
volumes:
- ./volumes/friendica:/var/www/html
- ./addons/samlperlsocial:/var/www/html/addon/samlperlsocial:ro
- ./themes/frio_perl_social:/var/www/html/view/theme/frio:ro
entrypoint: /cron.sh
env_file: .env
depends_on:
- friendica
- mariadb
- redis
- smtp
redis:
image: redis:7.0
restart: always
command: redis-server --save 20 1 --loglevel warning --requirepass $REDIS_PW
volumes:
- ./volumes/redis/:/data
env_file: .env
networks:
internal:
driver: bridge