Skip to main content

Docker Compose

Seer Box can be installed using Docker Compose and a YAML file to configure the necessary services.

Deployment notes​

warning

To start Seer Box instance you must agree to the terms of the End User License Agreement (EULA). In order to accept its terms, simply change the value of the environment variable SBX_ACCEPT_EULA within the sbx-engine service to YES.

info

If the deployment environment requires setting up an encrypted connection for the Seer Box web interface, please follow the instructions at the end of this page before proceeding.

Volumes​

To ensure data persistence on Seer Box, you can use either a Docker volume or a bind mount. Not all containers require an independent volume; Seer Box Engine and Seer Box Reporter, for example, should share the same volume. Below are the containers that require a volume and their respective directories:

Seer Box Storage​

Container directory: /var/lib/postgresql/data

Seer Box Engine & Reporter​

Container directory: /opt/seer_box

The directory mounted as a volume on the path /opt/seer_box must be configured with the UID and GID set to 53380. This ensures that the access permissions are correct and that the containers can read and write data properly.

To configure the permissions, run the following command:

chown -R 53380:53380 /directory/to/seer_box_volume

YAML definition​

It is possible to download the services definition from following url: https://update.pluribus-one.it/docker-compose/seer-box/latest/docker-compose.yml

Startup​

To start the application, simply run the following command from the directory where the docker-compose.yml file is located:

docker compose up -d

Once the services have finished starting up, it will be possible to access the system's web interface, available at:

http://<machine_ip>:53380/
info

It is recommended to expose the web interface behind reverse proxy with SSL enabled and, if possible, limit access to it only to authorized IP addresses. In any case, it is preferable not to expose such an interface on public address.

The default credentials for the administration user are:

  • Username: admin
  • Password: SeerBox_4dm1n
info

After the first login, it is recommended to change the default password.

License​

Following login it will be possible to enter the License Key provided by Pluribus One for instance activation.

You can request a free license from the following link: https://license.seerbox.it

HTTPS Configuration​

By default, Seer Box exposes its web interface over HTTP on port 80 of the seer_box_gui container.

To enable HTTPS, follow these steps:

  • Create the seer_box_gui.template file and insert the following configuration:
seer_box_gui.template
server {

listen 443 http2 ssl;
listen [::]:443 http2 ssl;

error_page 500 502 503 504 /50x.html;

ssl_certificate /etc/ssl/certs/seer-box.crt;
ssl_certificate_key /etc/ssl/private/seer-box.key;

resolver ${SBX_DNS_RESOLVER} valid=${SBX_DNS_RESOLVER_VALIDITY};
set $upstream_endpoint ${SBX_API_PROTOCOL}://${SBX_API_HOST}:${SBX_API_PORT};

location = /50x.html {
root /usr/share/nginx/html;
}

location ${SBX_API_ENDPOINT} {
rewrite ${SBX_API_ENDPOINT}(.*) /$1 break;
proxy_pass $upstream_endpoint${SBX_API_ENDPOINT}$1$is_args$args;
proxy_pass_request_headers on;
proxy_redirect off;
}

location ${SBX_FEEDS_ENDPOINT} {
rewrite ${SBX_FEEDS_ENDPOINT}(.*) /$1 break;
proxy_pass $upstream_endpoint${SBX_FEEDS_ENDPOINT}$1$is_args$args;
proxy_pass_request_headers on;
proxy_redirect off;
}

location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
  • Generate an SSL certificate and key to be mounted inside the sbx-gui service. You can create a self-signed certificate using the openssl command-line tool:
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout ./seer-box.key -out ./seer-box.crt
  • Uncomment the volumes defined in the YAML file for the sbx-gui service, updating the certificate and key paths on the host machine if necessary.

  • Update the port forwarding in the sbx-gui service from 53380:80 to 53380:443.