Skip to content

Deployment

Running the JAR

The application is distributed as a fat JAR containing all dependencies:

bash
java -jar abystrixLicense-1.0.0.jar

Production Setup

1. Build with Production Profile

bash
mvn clean package -DskipTests -Pproduction

This builds the Vaadin frontend and optimizes the application for production.

2. Systemd Service (Linux)

Create /etc/systemd/system/abystrix.service:

ini
[Unit]
Description=Abystrix License Server
After=network.target

[Service]
Type=simple
User=youruser
WorkingDirectory=/opt/abystrix
ExecStart=/usr/bin/java -jar /opt/abystrix/abystrixLicense-1.0.0.jar
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
bash
sudo systemctl daemon-reload
sudo systemctl enable abystrix.service
sudo systemctl start abystrix.service

3. Reverse Proxy (Cloudflare Tunnel)

The recommended way to expose the application is via Cloudflare Tunnel:

  1. Install cloudflared on your server
  2. Create a tunnel and point it to http://localhost:8080
  3. Configure DNS for your domain

Example ~/.cloudflared/config.yml:

yaml
tunnel: your-tunnel-id
credentials-file: /home/user/.cloudflared/credentials.json

ingress:
  - hostname: license.yourdomain.com
    service: http://127.0.0.1:8080
  - service: http_status:404

4. Nginx (Alternative)

nginx
server {
    listen 80;
    server_name license.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Database Backups

Backups are configured from the admin dashboard (Settings > Backups). You can set:

  • Backup Interval — How often backups are created (in hours)
  • Max Backups — Number of backups to retain before rotation

Backups are stored as H2 SQL dumps in the backups/ directory.

Released under the MIT License.