You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
docuseal/docker-compose.yml

46 lines
1.2 KiB

services:
app:
depends_on:
postgres:
condition: service_healthy
image: docuseal/docuseal:latest
ports:
- 3000:3000
volumes:
- ./docuseal:/data/docuseal
# Only override the one file we changed; do NOT replace all of /app/lib
# (the image ships Puma plugins under /app/lib).
- ./lib/docuseal.rb:/app/lib/docuseal.rb
environment:
- RAILS_ENV=production
- FORCE_SSL=${HOST}
- DATABASE_URL=postgresql://postgres:postgres@postgres:5432/docuseal
# Bypass corrupted EncryptedConfig; set to your public URL (e.g. https://yourhost.com)
- APP_URL=${APP_URL:-http://localhost:3000}
postgres:
image: postgres:18
volumes:
- './pg_data:/var/lib/postgresql/18/docker'
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: docuseal
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
caddy:
image: caddy:latest
command: caddy reverse-proxy --from $HOST --to app:3000
ports:
- 80:80
- 443:443
- 443:443/udp
volumes:
- ./caddy:/data/caddy
environment:
- HOST=${HOST}