Deploy Craftplan
Open-source ERP for artisanal manufacturers and craft businesses.
Just deployed
/var/lib/postgresql/data
Craftplan
Just deployed
Bucket
Bucket
Just deployed
Deploy and Host Craftplan on Railway
Craftplan is an open-source ERP platform purpose-built for small-scale artisanal manufacturers and craft businesses. It unifies catalog management, inventory control, order processing, production planning, purchasing, and CRM into a single self-hosted application, eliminating the need for multiple separate platforms.
About Hosting Craftplan
Craftplan is built with Elixir, the Ash Framework, and Phoenix LiveView, and is distributed as a Docker container image (ghcr.io/puemos/craftplan). Hosting it requires a PostgreSQL database and S3-compatible object storage for file uploads. On Railway, the PostgreSQL database is provisioned automatically via a linked service. Environment variables—including cryptographic secrets (SECRET_KEY_BASE, TOKEN_SIGNING_SECRET, CLOAK_KEY), the public HOST, and S3 credentials—must be configured in the Railway dashboard. Migrations run automatically on each startup, so there is no manual setup step after deployment. An external provider such as AWS S3, Cloudflare R2, or Tigris must be configured for file uploads.
Common Use Cases
-
Managing artisanal production workflows — Plan weekly production schedules, create batches, track material consumption, and capture cost snapshots for small-batch or made-to-order manufacturing.
-
Inventory and supply chain tracking — Monitor raw materials with lot traceability, allergen and nutritional fact tracking, demand forecasting, and automated reorder planning.
-
Order processing and invoicing — Process customer orders with status tracking, calendar-based delivery scheduling, invoice generation, and allocation to production batches.
Dependencies for Craftplan Hosting
- PostgreSQL — Relational database for all application data (provisioned automatically on Railway).
- S3-compatible object storage — For file and image uploads (e.g., AWS S3, Cloudflare R2, Tigris); must be configured externally as Railway does not bundle S3 storage.
Deployment Dependencies
- Repository: https://github.com/puemos/craftplan
- Self-hosting docs: https://puemos.github.io/craftplan/docs/self-hosting/
- Railway template: https://railway.com/template/craftplan
- Full docs: https://puemos.github.io/craftplan/docs/
Implementation Details
| Variable | Purpose |
|---|---|
SECRET_KEY_BASE | Phoenix secret for cookies/sessions |
TOKEN_SIGNING_SECRET | API token signing secret |
CLOAK_KEY | 32-byte base64 AES encryption key |
HOST | Public hostname (set to Railway domain) |
PORT | HTTP port (default 4000) |
DATABASE_URL | PostgreSQL connection string (Railway provides) |
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY | External S3 creds |
AWS_S3_BUCKET / AWS_S3_HOST / AWS_REGION | S3 bucket and endpoint config |
Why Deploy Craftplan 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 Craftplan 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
Craftplan
ghcr.io/puemos/craftplan:0.3.7Bucket
Bucket
