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
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
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)
- Bun
- Node.js 22 or higher
git clone https://github.com/FriendsOfShopware/shopmon.git
cd shopmon
make setup
This will install dependencies for both the API and frontend.
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=[email protected]
SMTP_PASS=your-password
SMTP_FROM=[email protected]
# Application
FRONTEND_URL=http://localhost:5173
APP_FILES_DIR=./files
# Monitoring (optional)
SENTRY_DSN=
make migrate
For development:
make dev
This will start:
- API server on http://localhost:3000
- Frontend dev server on http://localhost:5173
To develop Shopmon easier, you can start a local mail catcher and a local Shopware installation with:
make up
For production deployment, you can use the provided Docker setup:
- Build the Docker image:
docker build -t shopmon .
- 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
We welcome contributions! Please see our Contributing Guidelines for details on how to get started.
MIT