Case study
CardRebels
A trading card business needed its own website and infrastructure. CardRebels is my own project, and here I show openly how I built it.
My own project
Starting point
A trading card business needed its own website and the infrastructure behind it. Since CardRebels is my own project, I could build everything the way I would for a client.
How it's built
Everything runs on a VPS with Docker, managed with Portainer. Nginx Proxy Manager routes requests to the individual services. CrowdSec protects the server, including over IPv6. The team uses Nextcloud for shared files and Vaultwarden as a password manager. Uptime Kuma keeps an eye on whether all services are reachable. Backups go to a separate storage server, and log rotation and regular maintenance keep it all tidy.
The mail server
The server also runs its own mail server with mailcow: Postfix and Dovecot for sending and mailboxes, Rspamd against spam, ClamAV against viruses and SOGo as webmail with calendar and contacts. More on the mail server page.
The website
I built the website with Next.js and AI assistance. I planned the infrastructure behind it myself and run it myself.
Visit: cardrebels.com
Stack
What runs on the server.
17 services, all as Docker containers on one server. Self-hosted and self-maintained.
Mail
9 servicesOwn mail server with mailcow: dockerized, every part in its own container.
- Postfixsends and receives emails
- Dovecotmailboxes via IMAP and POP3
- Rspamdspam filter and DKIM signing
- ClamAVvirus scanner for attachments
- Olefychecks Office files for macros
- SOGowebmail with calendar and contacts
- ACMEcertificates automatically via Let's Encrypt
- Netfilterblocks IPs after failed logins
- Watchdogmonitors the services, restarts them if needed
Team
2 servicesCollaboration tools, self-hosted instead of rented.
- Nextcloudshare and sync files
- Vaultwardenpassword manager for the team
Website
2 servicesThe CardRebels website with its own database.
- Next.jsthe website itself
- PostgreSQLthe website's database
Operations and security
4 servicesWhat holds the server together, protects it and keeps an eye on it.
- Nginx Proxy Managerroutes requests to the services
- CrowdSecdetects and blocks attackers, including over IPv6
- Uptime Kumachecks that all services are reachable
- Portaineroverview and management of the containers
Tell me what you're planning.
Tell me via the form or on WhatsApp what you need. I'll get back to you with a suggested time for a free first call.
