[//]: #@corifeus-header
# 📡 The built p3x-redis-ui using p3x-redis-ui-server and p3x-redis-ui-material.
[//]: #@corifeus-header:end
# Start up with a server
```bash
npm i -g p3x-redis-ui
p3x-redis
# if you want to disable changing of connections
p3x-redis --readonly-connections
# or
p3x-redis -r
```
# Create a Linux SystemD service
```bash
adduser --disabled-password redis-ui
touch /etc/systemd/system/p3x-redis-ui.service
nano /etc/systemd/system/p3x-redis-ui.service
```
Place this file with this content:
```text
[Unit]
Description=p3x-redis
After=network.target
[Service]
Type=simple
User=redis-ui
WorkingDirectory=/home/redis-ui
# or if you want readonly connections as it is public
#ExecStart=/usr/bin/p3x-redis --readonly-connections
ExecStart=/usr/bin/p3x-redis
Restart=on-abort
[Install]
WantedBy=multi-user.target
```
Finally:
```bash
systemctl daemon-reload
systemctl enable p3x-redis-ui
service p3x-redis-ui start
```
The server is loading at:
[https://localhost:7843](https://localhost:7843)
The best is, if you have an NGINX with a valid, secure HTTPS certificate for example Let's Encrypt and then use it as a proxy, for example my own:
```text
/etc/nginx/sites-enabled/p3x.redis.patrikx3.com
```
Config:
```text
server {
listen 80 ;
listen [::]:80 ;
server_name p3x.redis.patrikx3.com;
error_log /var/log/nginx/p3x.redis.patrikx3.com-error.log;
access_log /var/log/nginx/p3x.redis.patrikx3.com-access.log combined if=$loggable;
root /home/redis-ui/www/public;
location ~ /.well-known {
auth_basic off;
auth_pam off;
allow all;
root /var/www/acme-challenge;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
return 301 https://$host$request_uri;
}
server {
server_name p3x.redis.patrikx3.com;
error_log /var/log/nginx/p3x.redis.patrikx3.com-error.log;
access_log /var/log/nginx/p3x.redis.patrikx3.com-access.log combined if=$loggable;
root /home/redis-ui/www/public;
location ~ /.well-known {
auth_basic off;
auth_pam off;
allow all;
root /var/www/acme-challenge;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
ssl_certificate /home/redis-ui/acme/ssl/p3x.redis.patrikx3.com/fullchain.cer;
ssl_certificate_key /home/redis-ui/acme/ssl//patrikx3.com/patrikx3.com.key;
location / {
proxy_pass "https://127.0.0.1:7843";
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl on;
add_header Strict-Transport-Security "max-age=31536000; " always;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
}
```
[//]: #@corifeus-footer
---