mirror of
https://github.com/tborychowski/self-hosted-cookbook.git
synced 2025-05-19 13:58:21 +00:00
update penpot
This commit is contained in:
parent
0f04279afa
commit
b98b9e2903
@ -10,55 +10,110 @@ Open Source design and prototyping platform for cross-domain teams
|
|||||||
- [Docs](https://help.penpot.app/technical-guide/getting-started/#install-with-docker)
|
- [Docs](https://help.penpot.app/technical-guide/getting-started/#install-with-docker)
|
||||||
|
|
||||||
|
|
||||||
## You can get the 2 required files directly from github:
|
## You can get the required file directly from github:
|
||||||
```sh
|
```sh
|
||||||
wget https://raw.githubusercontent.com/penpot/penpot/main/docker/images/docker-compose.yaml
|
wget https://raw.githubusercontent.com/penpot/penpot/main/docker/images/docker-compose.yaml
|
||||||
wget https://raw.githubusercontent.com/penpot/penpot/main/docker/images/config.env
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Or copy & paste from here:
|
Or copy & paste from here:
|
||||||
|
|
||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
## You can read more about all available flags and other
|
||||||
|
## environment variables here:
|
||||||
|
## https://help.penpot.app/technical-guide/configuration/#advanced-configuration
|
||||||
|
#
|
||||||
|
# WARNING: if you're exposing Penpot to the internet, you should remove the flags
|
||||||
|
# 'disable-secure-session-cookies' and 'disable-email-verification'
|
||||||
|
x-flags: &penpot-flags
|
||||||
|
PENPOT_FLAGS: disable-email-verification enable-smtp enable-prepl-server disable-secure-session-cookies
|
||||||
|
|
||||||
|
x-uri: &penpot-public-uri
|
||||||
|
PENPOT_PUBLIC_URI: http://192.168.1.10:9001
|
||||||
|
|
||||||
|
x-body-size: &penpot-http-body-size
|
||||||
|
# Max body size (30MiB); Used for plain requests, should never be
|
||||||
|
# greater than multi-part size
|
||||||
|
PENPOT_HTTP_SERVER_MAX_BODY_SIZE: 31457280
|
||||||
|
|
||||||
|
# Max multipart body size (350MiB)
|
||||||
|
PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE: 367001600
|
||||||
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
penpot-frontend:
|
penpot-frontend:
|
||||||
image: penpotapp/frontend:latest
|
image: "penpotapp/frontend:latest"
|
||||||
container_name: penpot-frontend
|
restart: unless-stopped
|
||||||
ports:
|
|
||||||
- 9001:80
|
|
||||||
volumes:
|
|
||||||
- ./data:/opt/data
|
|
||||||
env_file:
|
|
||||||
- config.env
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- penpot-backend
|
- penpot-backend
|
||||||
- penpot-exporter
|
- penpot-exporter
|
||||||
|
environment:
|
||||||
|
<< : [*penpot-flags, *penpot-http-body-size]
|
||||||
|
ports:
|
||||||
|
- 9001:8080
|
||||||
|
volumes:
|
||||||
|
- ./assets:/opt/data/assets
|
||||||
|
|
||||||
|
|
||||||
penpot-backend:
|
penpot-backend:
|
||||||
image: penpotapp/backend:latest
|
image: "penpotapp/backend:latest"
|
||||||
volumes:
|
restart: unless-stopped
|
||||||
- ./data:/opt/data
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- penpot-postgres
|
penpot-postgres:
|
||||||
- penpot-redis
|
condition: service_healthy
|
||||||
env_file:
|
penpot-redis:
|
||||||
- config.env
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
<< : [*penpot-flags, *penpot-public-uri, *penpot-http-body-size]
|
||||||
|
PENPOT_SECRET_KEY: 93ac8dc5eb2bb583bd8f827bd31be520dd32ead00657237d66662013770ee45c
|
||||||
|
PENPOT_DATABASE_URI: postgresql://penpot-postgres/penpot
|
||||||
|
PENPOT_DATABASE_USERNAME: penpot
|
||||||
|
PENPOT_DATABASE_PASSWORD: penpot
|
||||||
|
PENPOT_REDIS_URI: redis://penpot-redis/0
|
||||||
|
PENPOT_ASSETS_STORAGE_BACKEND: assets-fs
|
||||||
|
PENPOT_STORAGE_ASSETS_FS_DIRECTORY: /opt/data/assets
|
||||||
|
PENPOT_TELEMETRY_ENABLED: false
|
||||||
|
PENPOT_TELEMETRY_REFERER: compose
|
||||||
|
|
||||||
|
## Example SMTP/Email configuration. By default, emails are sent to the mailcatch
|
||||||
|
## service, but for production usage it is recommended to setup a real SMTP
|
||||||
|
## provider. Emails are used to confirm user registrations & invitations. Look below
|
||||||
|
## how the mailcatch service is configured.
|
||||||
|
PENPOT_SMTP_DEFAULT_FROM: no-reply@example.com
|
||||||
|
PENPOT_SMTP_DEFAULT_REPLY_TO: no-reply@example.com
|
||||||
|
PENPOT_SMTP_HOST: penpot-mailcatch
|
||||||
|
PENPOT_SMTP_PORT: 1025
|
||||||
|
PENPOT_SMTP_USERNAME:
|
||||||
|
PENPOT_SMTP_PASSWORD:
|
||||||
|
PENPOT_SMTP_TLS: false
|
||||||
|
PENPOT_SMTP_SSL: false
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- ./assets:/opt/data/assets
|
||||||
|
|
||||||
|
|
||||||
penpot-exporter:
|
penpot-exporter:
|
||||||
image: penpotapp/exporter:latest
|
image: "penpotapp/exporter:latest"
|
||||||
container_name: penpot-exporter
|
restart: unless-stopped
|
||||||
env_file:
|
depends_on:
|
||||||
- config.env
|
penpot-redis:
|
||||||
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
# Don't touch it; this uses internal docker network to communicate with the frontend.
|
PENPOT_PUBLIC_URI: http://penpot-frontend:8080
|
||||||
- PENPOT_PUBLIC_URI=http://penpot-frontend
|
PENPOT_REDIS_URI: redis://penpot-redis/0
|
||||||
|
|
||||||
|
|
||||||
penpot-postgres:
|
penpot-postgres:
|
||||||
image: "postgres:14"
|
image: "postgres:15"
|
||||||
container_name: penpot-db
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
stop_signal: SIGINT
|
stop_signal: SIGINT
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U penpot"]
|
||||||
|
interval: 2s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 5
|
||||||
|
start_period: 2s
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_INITDB_ARGS=--data-checksums
|
- POSTGRES_INITDB_ARGS=--data-checksums
|
||||||
- POSTGRES_DB=penpot
|
- POSTGRES_DB=penpot
|
||||||
@ -67,32 +122,28 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./db:/var/lib/postgresql/data
|
- ./db:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
|
||||||
penpot-redis:
|
penpot-redis:
|
||||||
image: redis:7
|
image: redis:7.2
|
||||||
container_name: penpot-redis
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
```
|
|
||||||
|
healthcheck:
|
||||||
## config.env
|
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
|
||||||
Shortened version, just the minimum to test things out, with telemetry disabled.
|
interval: 1s
|
||||||
|
timeout: 3s
|
||||||
```ini
|
retries: 5
|
||||||
## Should be set to the public domain where penpot is going to be served.
|
start_period: 3s
|
||||||
##
|
|
||||||
## NOTE: If you are going to serve it under different domain than
|
|
||||||
## 'localhost' without HTTPS, consider setting the
|
## A mailcatch service, used as temporal SMTP server. You can access via HTTP to the
|
||||||
## `disable-secure-session-cookies' flag on the 'PENPOT_FLAGS' setting.
|
## port 1080 for read all emails the penpot platform has sent. Should be only used as a
|
||||||
|
## temporal solution while no real SMTP provider is configured.
|
||||||
PENPOT_PUBLIC_URI=http://localhost:9001
|
penpot-mailcatch:
|
||||||
|
image: sj26/mailcatcher:latest
|
||||||
PENPOT_FLAGS=enable-registration enable-login disable-email-verification
|
restart: unless-stopped
|
||||||
PENPOT_HTTP_SERVER_HOST=0.0.0.0
|
expose:
|
||||||
PENPOT_DATABASE_URI=postgresql://penpot-postgres/penpot
|
- '1025'
|
||||||
PENPOT_DATABASE_USERNAME=penpot
|
ports:
|
||||||
PENPOT_DATABASE_PASSWORD=penpot
|
- "1080:1080"
|
||||||
PENPOT_REDIS_URI=redis://penpot-redis/0
|
|
||||||
PENPOT_ASSETS_STORAGE_BACKEND=assets-fs
|
|
||||||
PENPOT_STORAGE_ASSETS_FS_DIRECTORY=/opt/data/assets
|
|
||||||
PENPOT_TELEMETRY_ENABLED=false
|
|
||||||
# PENPOT_REGISTRATION_DOMAIN_WHITELIST=""
|
|
||||||
```
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user