Skip to content

Latest commit

 

History

History
154 lines (103 loc) · 4.14 KB

File metadata and controls

154 lines (103 loc) · 4.14 KB

Shop Monitoring

Shopmon is an application from FriendsOfShopware to manage multiple Shopware instances.

  • Credentials are saved in a SQLite database
    • Client secrets are encrypted using web crypto api outside the database
  • API runs on Bun runtime
  • Mails are sent via SMTP

Features

Overview of all your Shopware instances to see:

  • Shopware Version and Security Updates
  • Show all installed extension and extension updates
  • Show info on scheduled tasks and queue
  • Run a daily check with sitespeed to see decreasing performance
  • Clear shop cache

Requirements (self hosted)

Note

It's not recommended to self-host this application, we don't give any support for self-hosted installations. Please use the managed version at https://shopmon.fos.gg

  • Bun runtime (v1.0 or higher)
  • SQLite 3
  • Node.js 20+ and PNPM (for building frontend)

Managed / SaaS

https://shopmon.fos.gg

Local Installation

Prerequisites

  • Bun
  • Node.js 22 or higher

Step 1: Clone the repository

git clone https://github.com/FriendsOfShopware/shopmon.git
cd shopmon

Step 2: Install dependencies

make setup

This will install dependencies for both the API and frontend.

Step 3: Configure environment

Copy the example environment file and configure it:

cp api/.env.example api/.env

Edit api/.env with your configuration:

# Database
# Security (generate a secure random string)
APP_SECRET=your-secure-random-string-here

# Email configuration
SMTP_SERVER=smtp.example.com
SMTP_PORT=587
SMTP_USER=your-email@example.com
SMTP_PASS=your-password
SMTP_FROM=noreply@yourdomain.com

# Application
FRONTEND_URL=http://localhost:3000
APP_FILES_DIR=./files

# Monitoring (optional)
SENTRY_DSN=

Step 4: Run database migrations

make migrate

Step 5: Start the application

For development:

make dev

This will start:

Additional services

To develop Shopmon easier, you can start a local mail catcher and a local Shopware installation with:

make up

Endpoints:

Application Link Info
Shopmon Frontend http://localhost:3000
Shopmon API http://localhost:5789 Accessed via proxy
Mailpit http://localhost:8025 For mails
Demo Shop Frontend http://localhost:3889
Demo Shop Admin http://localhost:3889/admin Username: admin, Password: shopware
Demo Shop Api http://localhost:3889/api Client Id: SWIAUZL4OXRKEG1RR3PMCEVNMG, Client Secret: aXhNQ3NoRHZONmxPYktHT0c2c09rNkR0UHI0elZHOFIycjBzWks

Configuration

Production Deployment

For production deployment, you can use the provided Docker setup:

  1. Build the Docker image:
docker build -t shopmon .
  1. Run with docker compose:
docker compose -f compose.deploy.yml up -d

Make sure to:

  • Use a strong APP_SECRET
  • Configure proper email settings
  • Set up persistent volumes for database and uploads
  • Configure a reverse proxy (nginx, traefik, etc.) for HTTPS

Contributing

We welcome contributions! Please see our Contributing Guidelines for details on how to get started.

License

MIT