Skip to content

DocuSeal Server Deployment Overview

Prerequisites

The following parameters and conditions are required for the application to function correctly:

  • Operating System: CentOS, Rocky Linux, or AlmaLinux (for automatic firewall configuration).

  • Access: Superuser (root) privileges to manage Docker and system directories.

  • Ports:

    • 80/tcp — for HTTP traffic.

    • 443/tcp — for HTTPS traffic.

    • 443/udp — for the QUIC protocol (HTTP/3).

FQDN of the final panel on hostkey.in domain

If a custom domain is not specified, the following standard template is used:

Parameter Value
Prefix docuseal
Domain hostkey.in
Full Template docuseal{Server_ID_from_Invapi}.hostkey.in

Files and Directory Structure

All main configuration files and application data are concentrated in the /opt/docuseal directory:

  • /opt/docuseal/compose.yml — Docker Compose file defining the containers.

  • /opt/docuseal/Caddyfile — Caddy web server configuration file.

  • /var/lib/postgresql/data (inside postgres_data volume) — PostgreSQL database data.

  • /data/docuseal (inside docuseal_data volume) — DocuSeal application user data.

Application Installation Process

Deployment is performed by creating the necessary directories, generating configuration files (Caddyfile, compose.yml), and running containers via Docker Compose in detached mode. The application uses the latest available image version: docuseal/docuseal:latest.

Permissions and Security

  • Firewall: On CentOS, Rocky, or AlmaLinux-based servers, ports 80 and 443 (TCP) are opened automatically.

  • Directories: The /opt/docuseal directory is created with 0755 permissions, owned by root.

  • Configuration: Configuration files in /opt/docuseal have 0644 permissions.

Databases

PostgreSQL 15 is used as the database management system.

  • Connection Method: Via the Docker internal network at postgres:5432.

  • User: postgres.

  • Database: docuseal.

  • Storage: Data is stored in the named volume postgres_data.

Docker Containers and Execution

The application is deployed using the following containers:

DocuSeal App

  • Image: docuseal/docuseal:latest

  • Ports (expose): 3000

  • Volumes: docuseal_data:/data/docuseal

  • Environment Variables:

    • FORCE_SSL: domain address.

    • DATABASE_URL: PostgreSQL connection string.

  • Restart Policy: always

PostgreSQL

  • Image: postgres:15

  • Volumes: postgres_data:/var/lib/postgresql/data

  • Environment Variables:

    • POSTGRES_USER: postgres

    • POSTGRES_PASSWORD: specified password.

    • POSTGRES_DB: docuseal

  • Restart Policy: always

Caddy (Reverse Proxy)

  • Image: caddy:latest

  • Ports: 80/tcp, 443/tcp, 443/udp

  • Volumes:

    • caddy_data:/data

    • caddy_config:/config

    • /opt/docuseal/Caddyfile:/etc/caddy/Caddyfile:ro

  • Command: caddy run --config /etc/caddy/Caddyfile

  • Restart Policy: unless-stopped

Application Update

Updates are performed by running the pull command followed by a container restart:

docker compose pull && docker compose up -d

Permissions Settings

All system directories and configuration files belong to the root user and root group. Access to files is restricted to ensure system security.

Configuration Files and Data Location

Type Path / Volume Name
Docker Compose Configuration /opt/docuseal/compose.yml
Caddy Configuration /opt/docuseal/Caddyfile
Application Data (Volume) docuseal_data
Database Data (Volume) postgres_data
Caddy Data (Volume) caddy_data, caddy_config

Available Connection Ports

  • HTTPS: 443/tcp (via Caddy proxy).

  • HTTP: 80/tcp (for redirection to HTTPS).

Starting and Stopping the Application

Service management is performed via Docker Compose from the /opt/docuseal directory:

  • Start all containers:

    docker compose up -d
    

  • Stop all containers:

    docker compose down
    

Proxy Servers

The Caddy web server is used as a reverse proxy. It automatically manages SSL certificates and redirects traffic from port 443 to the application's internal port 3000. The proxy configuration is defined in the Caddyfile.

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×