Deploy carnet de combat
Training log for grapplers: calendar, competitions, stats and photo gallery
Just deployed
/var/lib/postgresql/data
carnet-de-combat
Just deployed
function-bun
Just deployed
Galerie
Bucket
Just deployed
Deploy and Host Carnet de Combat with Railway
Carnet de Combat is a personal training log for grapplers (BJJ, judo, grappling): a daily training calendar, a shared competition catalogue with your own fights and medals, performance stats, and a private photo gallery. Multi-user, installable on the phone home screen.
About Hosting Carnet de Combat
Carnet de Combat is a PHP 8.2 / Apache app built from a Dockerfile, backed by PostgreSQL. On first boot the container creates the schema and runs the migrations by itself — there is no manual setup step. Photos go to a Railway Bucket (S3-compatible) through presigned URLs, and transactional emails (account confirmation, password reset, email change) are sent by a small Bun function that calls the Resend API. Sessions live in Postgres, so they survive redeploys.
Common Use Cases
- Log every training day (training / rest / competition) with duration, intensity and notes
- Record competition fights in real time and track wins/losses by submission or points, plus medals
- Keep a private photo gallery of competitions and trainings (1 GB per member)
Dependencies for Carnet de Combat Hosting
- PostgreSQL (included in the template)
- A Railway Bucket for the photo gallery (included in the template)
- A Resend account with a verified sending domain and 4 published email templates
Deployment Dependencies
- Resend: https://resend.com
- Railway Buckets: https://docs.railway.com/reference/buckets
Implementation Details
The first account created on a fresh install becomes the administrator. Default admin login on a fresh database: admin / demo1234 — change it right away from the profile page.
Why Deploy Carnet de Combat on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Carnet de Combat on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
PGDATA
PGPORT
POSTGRES_DB
POSTGRES_USER
SSL_CERT_DAYS
RAILWAY_DEPLOYMENT_DRAINING_SECONDS
carnet-de-combat
ismavld/carnet-de-combatAPP_URL
MAIL_SECRET
function-bun
ghcr.io/railwayapp/function-bun:1.4.4MAIL_SECRET
RESEND_API_KEY
TEMPLATE_RESET_ID
TEMPLATE_VALIDATE_ID
TEMPLATE_CHANGEMAIL_ID
TEMPLATE_CHANGEMAIL_ALERT_ID
Galerie
Bucket
