Skip to content

Deployment Overview of Plane on Server

Prerequisites and Basic Requirements

  • Operating System: Linux server capable of running Docker.

  • Privileges: Root access or sudo privileges are required to manage Docker and system directories.

  • Domain: The deployment utilizes the hostkey.in zone.

  • Ports:

  • Internal service port: 8080

  • External HTTPS port: 443

FQDN of the Final Panel

The application is accessible via the following Fully Qualified Domain Name (FQDN):

  • Format: plane<Server ID>.hostkey.in

  • Protocol: HTTPS on port 443

File and Directory Structure

The deployment utilizes the following directory structure for configuration and data:

  • Application Data Directory: /opt/plane

  • Nginx Configuration Directory: /root/nginx

  • Nginx User Configuration: /data/nginx/user_conf.d

  • SSL Certificate Storage: /etc/letsencrypt (mounted as nginx_secrets volume)

  • Environment File: /data/nginx/nginx-certbot.env

Application Installation Process

The application is deployed using Docker containers. The deployment process involves setting up the Docker environment and initiating the services via a docker compose configuration. The version of the proxy service used is the latest available tag for the jonasal/nginx-certbot image.

Access Rights and Security

  • The Nginx directory /root/nginx is owned by the root user and group with permissions set to 0755.

  • The compose.yml file located in /root/nginx has permissions set to 0644.

  • The Docker container runs with network_mode: host, utilizing the host's network stack directly.

Docker Containers and Their Deployment

The services are managed using Docker Compose. The primary container is the Nginx proxy with Certbot integration.

  • Image: jonasal/nginx-certbot:latest

  • Restart Policy: unless-stopped

  • Network Mode: host

  • Volumes:

  • nginx_secrets mapped to /etc/letsencrypt (External volume)

  • /data/nginx/user_conf.d mapped to /etc/nginx/user_conf.d

  • Environment:

  • CERTBOT_EMAIL is set to [email protected]

  • Additional environment variables are loaded from /data/nginx/nginx-certbot.env

Proxy Servers

Nginx with Certbot integration is used as the reverse proxy to handle SSL termination and routing.

Parameter Value
Service Image jonasal/nginx-certbot:latest
SSL Email [email protected]
Configuration Path /root/nginx/compose.yml
User Conf Directory /data/nginx/user_conf.d
Certificate Storage /etc/letsencrypt

The proxy handles traffic destined for the plane<Server ID>.hostkey.in domain, routing it securely via HTTPS.

Permission Settings

  • Directory /root/nginx: Owned by root:root, permissions 0755.

  • File /root/nginx/compose.yml: Owned by root:root, permissions 0644.

  • Volume mounts rely on the host filesystem permissions for /data/nginx and /etc/letsencrypt.

Location of Configuration Files and Data

  • Main Compose File: /root/nginx/compose.yml

  • Nginx Environment: /data/nginx/nginx-certbot.env

  • User Configs: /data/nginx/user_conf.d

  • Application Data: /opt/plane

  • SSL Secrets: Stored in the external Docker volume nginx_secrets mapping to /etc/letsencrypt.

Available Ports for Connection

  • Port 443: HTTPS traffic for the public interface of the Plane application.

  • Port 8080: Internal communication port for the application backend.

Starting, Stopping, and Updating

Service management is performed using Docker Compose commands within the /root/nginx directory.

  • Start Services:

    cd /root/nginx
    docker compose up -d
    

  • Stop Services:

    cd /root/nginx
    docker compose down
    

  • Update Services: To update the container images, pull the latest versions and restart the stack:

    cd /root/nginx
    docker compose pull
    docker compose up -d
    

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