Skip to content

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:

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 dependencies
    RUN apt-get update && apt-get install -y \
    curl \
    && rm -rf /var/lib/apt/lists/*
    # Download OpenOlitor server
    WORKDIR /app
    RUN curl -L https://github.com/OpenOlitor/openolitor-server/releases/latest/download/openolitor-server.jar -o app.jar
    # Create configuration directory
    RUN 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:

    VariableDescription
    DB_PASSWORDDatabase password
    SMTP_HOSTEmail server hostname
    SMTP_USEREmail username
    SMTP_PASSWORDEmail password

    Attach Persistent Volumes

    Add persistent storage:

    Mount PathRecommended SizePurpose
    /config1 GBConfiguration files
    /data10 GBApplication 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.

Additional Resources