Deployment
Running the JAR
The application is distributed as a fat JAR containing all dependencies:
bash
java -jar abystrixLicense-1.0.0.jarProduction Setup
1. Build with Production Profile
bash
mvn clean package -DskipTests -PproductionThis 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.targetbash
sudo systemctl daemon-reload
sudo systemctl enable abystrix.service
sudo systemctl start abystrix.service3. Reverse Proxy (Cloudflare Tunnel)
The recommended way to expose the application is via Cloudflare Tunnel:
- Install
cloudflaredon your server - Create a tunnel and point it to
http://localhost:8080 - 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:4044. 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.
