Deploying OpenOlitor
Introduction
OpenOlitor is an open-source management system designed specifically for community-supported agriculture (CSA) initiatives, known as Solidarische Landwirtschaft (Solawi) in German-speaking countries. The platform helps farms manage subscriptions, deliveries, and member communications for their CSA programs.
Developed by the Swiss cooperative schtifti.ch, OpenOlitor streamlines the administrative work of running a CSA, from managing member subscriptions and delivery schedules to tracking payments and generating reports.
Key features of OpenOlitor include:
- Member Management: Track subscribers, addresses, and membership details
- Subscription Management: Configure share types, sizes, and pricing
- Delivery Planning: Schedule deliveries with depot management
- Product Planning: Coordinate what goes in each delivery
- Payment Tracking: Manage invoices and payment status
- Communication: Email members about deliveries and news
- Depot Management: Organize pickup locations and routes
- Reporting: Generate membership and financial reports
- Multi-Language: German, French, and English interfaces
- Member Portal: Self-service portal for subscribers
This guide walks through deploying OpenOlitor on Klutch.sh using Docker.
Why Deploy OpenOlitor on Klutch.sh
Deploying OpenOlitor on Klutch.sh supports CSA operations:
Accessible Management: Farm staff can access the system from anywhere.
Persistent Storage: Store member data and records with persistent volumes.
HTTPS by Default: Secure access to member information with automatic SSL certificates.
Reliable Uptime: Members can access the portal consistently.
Custom Domains: Use your CSA’s domain for professional branding.
Prerequisites
Before deploying OpenOlitor on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your deployment
- A PostgreSQL database instance
- SMTP credentials for member communications
Deploying OpenOlitor on Klutch.sh
Set Up PostgreSQL Database
Deploy a PostgreSQL database on Klutch.sh or use an external database service.
Create Your Dockerfile
Create a Dockerfile in your repository:
FROM openjdk:11-jre-slim
# Install dependenciesRUN apt-get update && apt-get install -y \ curl \ && rm -rf /var/lib/apt/lists/*
# Download OpenOlitor serverWORKDIR /appRUN curl -L https://github.com/OpenOlitor/openolitor-server/releases/latest/download/openolitor-server.jar -o app.jar
# Create configuration directoryRUN mkdir -p /config
EXPOSE 9000
CMD ["java", "-jar", "app.jar"]Configure OpenOlitor
Create application.conf with your settings:
openolitor { db { default { url = "jdbc:postgresql://your-db-host:5432/openolitor" user = "openolitor" password = ${DB_PASSWORD} } } mandanten = ["your-csa-name"]}Push to GitHub
Commit and push your Dockerfile to your GitHub repository.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project.
Create and Configure the App
Create a new app and connect it to your GitHub repository.
Configure HTTP Traffic
Set the traffic type to HTTP with an internal port of 9000.
Set Environment Variables
Configure your deployment:
| Variable | Description |
|---|---|
DB_PASSWORD | Database password |
SMTP_HOST | Email server hostname |
SMTP_USER | Email username |
SMTP_PASSWORD | Email password |
Attach Persistent Volumes
Add persistent storage:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/config | 1 GB | Configuration files |
/data | 10 GB | Application data |
Deploy Your Application
Click Deploy to build and launch your OpenOlitor instance.
Configure Your CSA
Access your deployment and configure your CSA settings, subscription types, and depots.