-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
106 lines (81 loc) · 3.22 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
## You can read more about all available flags and other environment variables here:
## https://help.penpot.app/technical-guide/configuration/#advanced-configuration
x-flags: &penpot-flags
PENPOT_FLAGS: enable-smtp enable-prepl-server disable-onboarding enable-webhooks enable-email-verification disable-login-with-password enable-login-with-google enable-email-whitelist
x-uri: &penpot-public-uri
PENPOT_PUBLIC_URI: ${PUBLIC_URI}
networks:
penpot:
services:
penpot-frontend:
build:
context: .
dockerfile: Dockerfile.frontend
restart: always
ports:
- 10000:8080
depends_on:
- penpot-backend
- penpot-exporter
networks:
- penpot
environment:
<<: *penpot-flags
penpot-backend:
image: "penpotapp/backend:latest"
restart: always
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- penpot
environment:
<<: [*penpot-flags, *penpot-public-uri]
## Penpot SECRET KEY. It serves as a master key from which other keys for subsystems
## (eg http sessions, or invitations) are derived.
##
## If you leave it commented, all created sessions and invitations will
## become invalid on container restart.
##
## If you going to uncomment this, we recommend to use a trully randomly generated
## 512 bits base64 encoded string here. You can generate one with:
##
## python3 -c "import secrets; print(secrets.token_urlsafe(64))"
PENPOT_SECRET_KEY: ${SECRET_KEY}
## The PREPL host. Mainly used for external programatic access to penpot backend
## (example: admin). By default it will listen on `localhost` but if you are going to use
## the `admin`, you will need to uncomment this and set the host to `0.0.0.0`.
# PENPOT_PREPL_HOST: 0.0.0.0
PENPOT_DATABASE_URI: ${DB_URI}
PENPOT_DATABASE_USERNAME: ${DB_USERNAME}
PENPOT_DATABASE_PASSWORD: ${DB_PASSWORD}
PENPOT_REDIS_URI: ${REDIS_URI}
AWS_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${S3_SECRET_ACCESS_KEY}
PENPOT_ASSETS_STORAGE_BACKEND: assets-s3
PENPOT_STORAGE_ASSETS_S3_ENDPOINT: ${S3_ENDPOINT}
PENPOT_STORAGE_ASSETS_S3_REGION: ${S3_REGION}
PENPOT_STORAGE_ASSETS_S3_BUCKET: ${S3_BUCKET}
PENPOT_TELEMETRY_ENABLED: true
PENPOT_SMTP_DEFAULT_FROM: ${SMTP_FROM}
PENPOT_SMTP_DEFAULT_REPLY_TO: ${SMTP_REPLY_TO}
PENPOT_SMTP_HOST: ${SMTP_HOST}
PENPOT_SMTP_PORT: ${SMTP_PORT}
PENPOT_SMTP_USERNAME: ${SMTP_USERNAME}
PENPOT_SMTP_PASSWORD: ${SMTP_PASSWORD}
PENPOT_SMTP_TLS: ${SMTP_TLS:-false}
PENPOT_SMTP_SSL: ${SMTP_SSL:-false}
# Auth with Google
PENPOT_GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID}
PENPOT_GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET}
PENPOT_REGISTRATION_DOMAIN_WHITELIST: ${REGISTRATION_DOMAIN_WHITELIST}
penpot-exporter:
image: "penpotapp/exporter:latest"
restart: always
networks:
- penpot
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
# Don't touch it; this uses an internal docker network to communicate with the frontend.
PENPOT_PUBLIC_URI: http://penpot-frontend
PENPOT_REDIS_URI: ${REDIS_URI}