Apache Solr Deployment Overview on Server¶
Prerequisites¶
The following parameters and conditions are required for the application to function correctly:
-
Operating System: Ubuntu.
-
Ports:
-
3000— internal service port (HTTP). -
443— external port for HTTPS access. -
Access: Superuser (
root) privileges are required to manage containers and system directories.
FQDN of the final panel on hostkey.in domain¶
| Parameter | Value |
|---|---|
| Prefix | apache-solr |
| Domain | hostkey.in |
| Full Template | apache-solr{Server_ID_from_Invapi}.hostkey.in |
File and Directory Structure¶
The following directories are used in the system to store configurations and data:
-
/opt/solr/data— primary Apache Solr data storage. -
/opt/solr/data/data— subdirectory for system files (includingsecurity.json). -
/root/nginx— working directory for Nginx proxy configuration. -
/data/nginx/user_conf.d— directory containing custom Nginx configurations.
Application Installation Process¶
Deployment is performed by running Docker containers. During the initial installation, security initialization occurs: a security.json file is created, administrator credentials are configured via API, and automatic service restart is configured upon changes to access rights.
Docker Containers and Execution¶
Two main containers are running in the system:
Apache Solr¶
-
Image Name:
solr:9 -
Container Name:
apache-solr{Server_ID}.hostkey.in -
Ports:
3000(vianetwork_mode: host) -
Volumes:
/opt/solr/data:/var/solr -
Environment Variables:
SOLR_PORT=3000 -
Restart Policy:
always
Nginx Certbot (Proxy)¶
-
Image Name:
jonasal/nginx-certbot:latest -
Ports: uses host ports via
network_mode: host -
Volumes:
-
nginx_secrets:/etc/letsencrypt -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d -
Environment Variables:
[email protected](from.envfile) -
Restart Policy:
unless-stopped
Permissions Settings¶
To ensure security and correct operation of Solr, the following permissions are set:
-
Directory
/opt/solr/data: owner8983:8983, access mode0755. -
File
/opt/solr/data/data/security.json: owner8983:8983, access mode0640.
Available Connection Ports¶
| Port | Protocol | Purpose |
|---|---|---|
443 | HTTPS | External access via Nginx proxy |
3000 | HTTP | Local access to Solr API |