Maybe

The OS for your personal finances.

Directory Structure

    • .env
    • docker-compose.yml

docker-compose.yml

version: '3.9'
services:
 
  app:
    image: ghcr.io/maybe-finance/maybe:latest
 
    volumes:
      - ./app-storage:/rails/storage
 
    ports:
      - 3000:3000
 
    restart: unless-stopped
 
    environment:
      SELF_HOSTING_ENABLED: "true"
      RAILS_FORCE_SSL: "false"
      RAILS_ASSUME_SSL: "false"
      GOOD_JOB_EXECUTION_MODE: async
      SECRET_KEY_BASE: ${SECRET_KEY_BASE:?}
      DB_HOST: postgres
      POSTGRES_DB: ${POSTGRES_DB:-maybe_production}
      POSTGRES_USER: ${POSTGRES_USER:-maybe_user}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?}
 
    depends_on:
      postgres:
        condition: service_healthy
 
  postgres:
    image: postgres:16
    restart: unless-stopped
    volumes:
      - ./postgres-data:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: ${POSTGRES_USER:-maybe_user}
      POSTGRES_DB: ${POSTGRES_DB:-maybe_production}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?}
    healthcheck:
      test: [ "CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB" ]
      interval: 5s
      timeout: 5s
      retries: 5

.env

SECRET_KEY_BASE="replacemewiththegeneratedstringfromthepriorstep"
POSTGRES_PASSWORD="replacemewithyourdesireddatabasepassword"

Resources

Website: https://maybe.co/

GitHub: https://github.com/maybe-finance/maybe

GitHub Container Registry: https://github.com/maybe-finance/maybe/pkgs/container/maybe

Configuration: https://github.com/maybe-finance/maybe/blob/main/docs/hosting/docker.md