Deploy PantryKind
Self-hosted pantry tracker with recipes, meal plans and shopping
pantrykind
Just deployed
/data
Deploy and Host self hosted PantryKind (Pantry Tracker) on Railway
PantryKind is a self-hosted pantry tracker with dated stock batches, recipe matching, a weekly meal plan and shared shopping lists. This Railway template runs the upstream app on one service with SQLite storage.
About Hosting PantryKind open-source software on Railway (self hosted PantryKind template)
PantryKind is an MIT-licensed, self-hosted kitchen companion for tracking pantry batches, recipes and shopping lists on a server you control. Railway handles the container, domain and volume.
The template generates a SECRET_KEY and owner password on deploy and closes public sign-up by default. Inbox reminders run inside the same container.
Why Deploy PantryKind, the self-hosted pantry and meal planner on Railway (Railway Free Trial)
PantryKind is a self-hosted pantry and meal planner you can run on Railway without managing a server.
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 PantryKind 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.
Railway vs Other Hosting Providers and VPS for PantryKind self hosting
Railway runs this PantryKind template from one deploy with a persistent volume and HTTPS ready, while these providers leave the setup to you.
| Provider | What You Get with Railway | What You Get with the Other Provider |
|---|---|---|
| DigitalOcean | A one-click template with the container, /data volume and health check wired up | A Droplet you configure yourself, including OS, firewall and reverse proxy |
| AWS | A managed deploy with no VPC, load balancer or IAM setup for one household | Broad services, but you assemble compute, storage, networking and TLS separately |
| Hetzner | Automatic HTTPS on the Railway domain with no server upkeep for this container | Low-cost servers where you handle updates, backups and Docker yourself |
Common Use Cases for hosted PantryKind
- Dated pantry batches with locations: Log each purchase as its own batch with its label date, storage location and quantity, keeping the fridge and dry store separate.
- Recipes matched to what you have: Save recipes using the same food names as your pantry, then use "Ready with what I have" to find meals whose measured ingredients are on hand.
- A weekly meal plan: Sketch dinners for the week and download the calendar when you need it. Planning does not deduct stock, so you cook and log meals deliberately.
- A shared shopping list: Add missing recipe ingredients straight to the list, which merges duplicates and shows low-stock gaps, so one person can shop for everyone.
- Opt-in inbox reminders: Turn on a daily reminder and it appears in the private Inbox at your chosen hour in the kitchen's timezone. No email service is required, but you only see it when you open the app.
- Shared kitchens: Run one kitchen with an owner who manages members and invitations, while members add stock, plan meals and shop.
Dependencies for PantryKind Docker hosted on Railway
This section covers what the Railway template provisions: one container built from upstream PantryKind at commit aa2b5a0, with unmodified app files and a thin Railway overlay.
Deployment Dependencies for Managed PantryKind Service (one container with SQLite)
The template creates one service, pantrykind. Optional upstream Postgres is not included. Keep one replica, because local SQLite storage is not shared.
Implementation Details for PantryKind (unmodified PantryKind aa2b5a0 app plus a Railway start script and sign-up gate)
The image is ghcr.io/onepush-dev/pantrykind:aa2b5a0. Reminder enqueue and worker loops run every minute in the same container. Template variables are SECRET_KEY, which signs sessions and CSRF tokens, and PANTRYKIND_OWNER_PASSWORD, which is re-synced on every start.
How does PantryKind compare against other tools
PantryKind vs Grocy (Grocy Alternative)
- Scope: Grocy is a self-hosted household ERP covering pantry, chores and more; PantryKind stays focused on the kitchen with dated batches, cookable recipes, a meal plan and a shared shopping list.
- Recipes: PantryKind matches recipes by exact ingredient name, so it will not assume "tomato" and "tomatoes" are the same food.
- Reminders: PantryKind sends opt-in daily inbox reminders without an email service; Grocy suits you better if you need wider household tooling.
PantryKind vs Mealie (Mealie Alternative)
- Focus: Mealie is a self-hosted recipe manager with strong recipe import; PantryKind is built around what is in your pantry right now.
- Stock: PantryKind tracks batches, locations and partial quantities, and shows which saved recipes you can cook today; Mealie is the stronger choice if recipes are your main need.
- Planning: PantryKind pulls missing recipe ingredients into the shopping list, tied to your stock.
PantryKind vs AnyList (AnyList Alternative)
- Hosting: AnyList is a hosted grocery list with no server to run; PantryKind runs on your own server, so your data stays with you.
- Lists: AnyList is simpler if you only need a shared checklist; PantryKind adds dated stock and recipe matching on top.
- Upkeep: You maintain PantryKind yourself, including updates and backups, which a hosted service handles for you.
PantryKind with Docker Compose vs Railway
- Setup: Docker Compose runs PantryKind on a VPS you manage; Railway deploys the same app from a template with generated secrets and a domain.
- Data: Both use SQLite on a persistent volume in this template, so back up that volume either way.
- Control: Compose gives you full host and proxy control; Railway handles HTTPS at its edge, so use https URLs and keep sign-up closed unless you need it open.
How to use PantryKind on Railway?
- Open the public https URL for your pantrykind service. Use https, because plain http on the Railway domain can fail at the edge.
- Sign in at /accounts/login/ with username
ownerand the password from thePANTRYKIND_OWNER_PASSWORDvariable in the pantrykind Variables tab. - Name your kitchen at /households/new/. Add stock once the kitchen exists.
- Public sign-up is closed, so a request to /accounts/signup returns 403. To let household members register, temporarily set
PANTRYKIND_ALLOW_SIGNUP=true, have them sign up, then set it back to false. - To confirm the service is healthy, check the health endpoint:
https://your-domain/healthz/
How to self host PantryKind on other VPS Services (PantryKind self hosting guide)
Clone the Repository
Clone the upstream project and move into the folder.
git clone https://github.com/AngelHuang5335/pantrykind.git
cd pantrykind
Install Dependencies
Use Python 3.12 or newer, create a virtual environment, and install the requirements. No Node.js build or database server is needed.
python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python manage.py migrate
python manage.py runserver 127.0.0.1:8000
Open http://127.0.0.1:8000, create an account, and name your kitchen.
Configure Environment Variables
For a container setup, copy the example file and edit it. Native Python does not load .env automatically.
cp .env.example .env
Start the PantryKind Application
Build and start with Docker Compose in the background.
docker compose up --build -d
Put an HTTPS reverse proxy in front of the loopback port, and protect registration there. Read docs/DEPLOYMENT.md and docs/BACKUPS.md first. The current release is intended for trusted households.
Pricing and License of PantryKind (PantryKind pricing)
PantryKind is MIT-licensed open-source software you can self-host and modify. There is no paid plan and no hosted tier.
PantryKind hosted vs self hosted comparison (Pricing, features, costs, and more)
PantryKind is free MIT open-source software, with no hosted plan and no public hosted demo. You pay only for the infrastructure you run it on.
Monthly cost of self hosting PantryKind on Railway
Railway bills on usage, so your monthly cost depends on the RAM, CPU, volume size and services PantryKind uses. Check your usage in the Railway dashboard after a few days.
System Requirements for Hosting PantryKind on a VPS
PantryKind needs Python 3.12 or newer and a SQLite file, so a small VPS is usually enough for one household. Keep the database on persistent storage with regular backups.
Frequently Asked Questions (FAQs)
How do I sign in to PantryKind on Railway?
Open the public https URL, go to /accounts/login/, and sign in with username owner and the PANTRYKIND_OWNER_PASSWORD value from the Variables tab. Then name your kitchen at /households/new/.
Will a password I change inside the app stick?
Not unless you also update PANTRYKIND_OWNER_PASSWORD, because that password is re-synced on every start.
Can my household register their own accounts?
Not until you set PANTRYKIND_ALLOW_SIGNUP=true, which reopens sign-up. Turn it back off once everyone has registered, because /accounts/signup returns 403 while it is closed.
Why does plain http fail on my Railway domain?
Use https instead. Plain http on the Railway domain can return an edge error, while the https URL works.
Does PantryKind need a Postgres database?
No. This template uses SQLite on the /data volume, which upstream recommends as the simple option for a household.
Is PantryKind a food-safety tool?
No. Dates are copied from product labels and are not a food-safety assessment, so check food yourself.
Template Content
pantrykind
ghcr.io/onepush-dev/pantrykind:aa2b5a0