Compare commits

..

24 Commits

Author SHA1 Message Date
khwezi 4507db4d5a Changed port mappings of penpot frontend 2026-06-20 21:14:54 +02:00
khwezi c2204a345e Simplified frontend ebv var injection 2026-06-20 21:10:36 +02:00
khwezi b90103f503 Updated frontend env var injection 2026-06-20 21:09:11 +02:00
khwezi 1bfa151ff0 Refactored flags 2026-06-20 17:20:25 +02:00
khwezi 19653b0fdf Refactored penpot to use its own redis instance 2026-06-20 17:07:37 +02:00
khwezi 909f636cb0 Refactored penpot to use its own database 2026-06-20 17:02:40 +02:00
khwezi 5647189bba Added startup flag to backend 2026-06-20 16:55:00 +02:00
khwezi 1d78a1c148 Merged my code wih official compose file 2026-06-20 16:25:30 +02:00
khwezi dd3516bc13 Added email and s3 configs 2026-06-20 10:32:04 +02:00
khwezi c15b43b7b3 Refactored to handle schema migrations 2026-06-19 17:40:21 +02:00
khwezi 5910220bde Removed docuseal tag 2026-06-19 17:37:38 +02:00
khwezi 2231469493 Using latest image tag 2026-06-19 17:36:20 +02:00
khwezi 70c73bd4aa Using specific docuseal docker image 2026-06-19 17:35:16 +02:00
khwezi 6b518f310a Added chromim settings 2026-06-19 17:31:44 +02:00
khwezi 8bb6d3803f Added exporter secret key to backend 2026-06-19 17:27:36 +02:00
khwezi 979da4a20b Reverted exporter env mappings 2026-06-19 17:25:38 +02:00
khwezi 12d6613160 Added penpot chromium flags 2026-06-19 17:21:56 +02:00
khwezi 637d026103 Provided sanbox flag 2026-06-19 17:20:06 +02:00
khwezi a6c5471805 Refactored penpod exporter redis connection 2026-06-19 17:16:59 +02:00
khwezi 509608722b Added missing exporter env vars for penpot 2026-06-19 17:09:26 +02:00
khwezi 5abd91e66c Added shared penpot network 2026-06-19 17:01:26 +02:00
khwezi 88e3af666c Added shared network and exporter to penpot 2026-06-19 17:00:14 +02:00
khwezi 9e0324d9c3 Changed penpot port to 8084 2026-06-19 16:45:59 +02:00
khwezi 439feb92ef Changed docuseal port to 3001 2026-06-19 16:45:18 +02:00
2 changed files with 142 additions and 17 deletions
+13 -2
View File
@@ -1,13 +1,24 @@
services:
docuseal:
image: docuseal/docuseal:latest
image: docuseal/docuseal
restart: always
environment:
- DATABASE_URL=${DATABASE_URL}
- PORT=3000
- HOST=${PUBLIC_URL}
- SECRET_KEY_BASE=${SECRET_KEY_BASE}
- RAILS_ENV=production
- SKIP_MIGRATION_VALIDATION=true
- SMTP_USERNAME=${SMTP_USERNAME}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- SMTP_ADDRESS=${SMTP_ADDRESS}
- SMTP_FROM=${SMTP_FROM}
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- AWS_REGION=${AWS_REGION}
- S3_ATTACHMENTS_BUCKET=${S3_ATTACHMENTS_BUCKET}
ports:
- "3000:3000"
- "3001:3000"
volumes:
- ./docuseal_data:/data
+129 -15
View File
@@ -1,21 +1,135 @@
x-flags: &penpot-flags
# Merged disable-sandbox into the flags array to protect the headless engine
# PENPOT_FLAGS: disable-email-verification enable-smtp enable-prepl-server disable-secure-session-cookies enable-mcp disable-sandbox enable-login-with-password
PENPOT_FLAGS: disable-email-verification enable-smtp enable-prepl-server disable-secure-session-cookies disable-sandbox enable-login-with-password
x-uri: &penpot-public-uri
PENPOT_PUBLIC_URI: ${PENPOT_PUBLIC_URI}
x-body-size: &penpot-http-body-size
PENPOT_HTTP_SERVER_MAX_BODY_SIZE: 367001600
PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE: 367001600
x-secret-key: &penpot-secret-key
PENPOT_SECRET_KEY: ${PENPOT_SECRET_KEY}
networks:
penpot-net:
driver: bridge
volumes:
penpot_assets:
penpot_postgres_v15:
services:
penpot-backend:
image: penpotapp/backend:latest
penpot-frontend:
image: "penpotapp/frontend:${PENPOT_VERSION:-latest}"
restart: always
ports:
- "8084:8080"
volumes:
- penpot_assets:/opt/data/assets
depends_on:
- penpot-backend
- penpot-exporter
- penpot-mcp
networks:
- penpot-net
environment:
- PENPOT_DATABASE_URI=${PENPOT_DATABASE_URI}
- PENPOT_REDIS_URI=${PENPOT_REDIS_URI}
- PENPOT_SECRET_KEY=${PENPOT_SECRET_KEY}
- PENPOT_PUBLIC_URI=${PENPOT_PUBLIC_URI}
<<: [*penpot-flags, *penpot-http-body-size, *penpot-public-uri]
penpot-backend:
image: "penpotapp/backend:${PENPOT_VERSION:-latest}"
restart: always
volumes:
- penpot_assets:/opt/data/assets
networks:
- penpot-net
ports:
- "6060:6060"
penpot-frontend:
image: penpotapp/frontend:latest
restart: always
environment:
- PENPOT_FLAGS=enable-all-flags
ports:
- "8080:80"
depends_on:
- penpot-backend
penpot-postgres:
condition: service_healthy # Wait for database stability
penpot-valkey:
condition: service_healthy # Wait for internal caching layer stability
environment:
<< : [*penpot-flags, *penpot-public-uri, *penpot-http-body-size, *penpot-secret-key]
# Security Handshake Key for internal Exporter validation routines
PENPOT_EXPORTER_SECRET_KEY: ${PENPOT_EXPORTER_SECRET_KEY}
## Local Internal Database connection parameters
PENPOT_DATABASE_URI: postgresql://penpot-postgres/penpot
PENPOT_DATABASE_USERNAME: penpot
PENPOT_DATABASE_PASSWORD: penpot
## Local Caching Layer connection parameter
PENPOT_REDIS_URI: redis://penpot-valkey/0
## Storage Settings
PENPOT_OBJECTS_STORAGE_BACKEND: fs
PENPOT_OBJECTS_STORAGE_FS_DIRECTORY: /opt/data/assets
## Telemetry & Optional settings
PENPOT_TELEMETRY_ENABLED: "false"
penpot-mcp:
image: "penpotapp/mcp:${PENPOT_VERSION:-latest}"
restart: always
networks:
- penpot-net
penpot-exporter:
image: "penpotapp/exporter:${PENPOT_VERSION:-latest}"
restart: always
shm_size: '2gb' # Protects Puppeteer rendering processes from memory crashes
depends_on:
penpot-valkey:
condition: service_healthy
networks:
- penpot-net
environment:
<< : [*penpot-secret-key]
PENPOT_EXPORTER_SECRET_KEY: ${PENPOT_EXPORTER_SECRET_KEY}
PENPOT_PUBLIC_URI: http://penpot-frontend:8080
## Local Caching Layer connections for the exporter sub-engine
PENPOT_REDIS_URI: redis://penpot-valkey/0
PENPOT_REDIS_URL: redis://penpot-valkey/0
PENPOT_FLAGS: disable-sandbox
# Integrated isolated Database Service
penpot-postgres:
image: "postgres:15"
restart: always
stop_signal: SIGINT
networks:
- penpot-net
volumes:
- penpot_postgres_v15:/var/lib/postgresql/data
environment:
- POSTGRES_INITDB_ARGS=--data-checksums
- POSTGRES_DB=penpot
- POSTGRES_USER=penpot
- POSTGRES_PASSWORD=penpot
healthcheck:
test: ["CMD-SHELL", "pg_isready -U penpot"]
interval: 2s
timeout: 10s
retries: 5
start_period: 2s
# Integrated isolated Caching Engine (Valkey drop-in for Redis)
penpot-valkey:
image: valkey/valkey:8.1
restart: always
networks:
- penpot-net
environment:
- VALKEY_EXTRA_FLAGS=--maxmemory 128mb --maxmemory-policy volatile-lfu
healthcheck:
test: ["CMD-SHELL", "valkey-cli ping | grep PONG"]
interval: 1s
timeout: 3s
retries: 5
start_period: 3s