From 9a1bb3d3bc7544ee6be765129995a1c4182fd5bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20D=C3=BCren?= Date: Mon, 29 Dec 2025 15:50:37 -0600 Subject: [PATCH] Initial Blinko Cloudron package - CloudronManifest.json with PostgreSQL and localstorage addons - Dockerfile based on cloudron/base:5.0.0 - NGINX reverse proxy configuration - Supervisor process management - Initialization script with auto-configuration --- .gitignore | 16 ++++ BUILD.md | 149 ++++++++++++++++++++++++++++++++++++ CloudronManifest.json | 30 ++++++++ Dockerfile | 67 ++++++++++++++++ NOTES.md | 93 ++++++++++++++++++++++ logo.png | Bin 0 -> 96281 bytes nginx.conf | 85 ++++++++++++++++++++ start.sh | 61 +++++++++++++++ supervisor/supervisord.conf | 38 +++++++++ 9 files changed, 539 insertions(+) create mode 100644 .gitignore create mode 100644 BUILD.md create mode 100644 CloudronManifest.json create mode 100644 Dockerfile create mode 100644 NOTES.md create mode 100644 logo.png create mode 100644 nginx.conf create mode 100644 start.sh create mode 100644 supervisor/supervisord.conf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..681cdd7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +# Cloudron build artifacts +.cloudronbuild/ + +# Editor files +.idea/ +.vscode/ +*.swp +*.swo +*~ + +# OS files +.DS_Store +Thumbs.db + +# Logs +*.log diff --git a/BUILD.md b/BUILD.md new file mode 100644 index 0000000..172d055 --- /dev/null +++ b/BUILD.md @@ -0,0 +1,149 @@ +# Blinko Cloudron Package - Build Instructions + +## Prerequisites + +- Cloudron CLI installed (`npm install -g cloudron`) +- Docker installed +- Access to build service: `builder.docker.due.ren` +- Build service token configured + +## Package Structure + +``` +blink-cloudron/ +├── CloudronManifest.json # Cloudron app manifest +├── Dockerfile # Container build definition +├── start.sh # Initialization and startup script +├── nginx.conf # NGINX reverse proxy configuration +├── supervisor/ +│ └── supervisord.conf # Process management configuration +├── logo.png # App icon (required) +└── BUILD.md # This file +``` + +## Configuration Details + +### Application + +- **App ID**: `io.blinko.cloudronapp` +- **Internal Port**: 1111 (Blinko Node.js server) +- **External Port**: 8000 (NGINX proxy) +- **Memory Limit**: 512MB + +### Addons + +- **PostgreSQL**: Database storage for notes and user data +- **Local Storage**: Persistent file storage at `/app/data` + +### Environment Variables (Auto-configured) + +| Variable | Source | Description | +|----------|--------|-------------| +| `DATABASE_URL` | `CLOUDRON_POSTGRESQL_URL` | PostgreSQL connection string | +| `NEXTAUTH_URL` | `CLOUDRON_APP_ORIGIN` | Application URL for authentication | +| `NEXT_PUBLIC_BASE_URL` | `CLOUDRON_APP_ORIGIN` | Public-facing URL | +| `NEXTAUTH_SECRET` | Auto-generated | Session encryption key | +| `NODE_ENV` | `production` | Runtime environment | +| `TRUST_PROXY` | `1` | Trust reverse proxy headers | + +## Build Commands + +### 1. Get the logo + +Download or create a `logo.png` file (256x256 recommended): + +```bash +# Download from Blinko repository +curl -o logo.png https://raw.githubusercontent.com/blinkospace/blinko/main/public/logo.svg +# Convert to PNG if needed (requires ImageMagick) +# convert logo.svg -resize 256x256 logo.png +``` + +### 2. Build the package + +```bash +cloudron build \ + --set-build-service builder.docker.due.ren \ + --build-service-token e3265de06b1d0e7bb38400539012a8433a74c2c96a17955e \ + --set-repository andreasdueren/blinko-cloudron \ + --tag 1.0.0 +``` + +### 3. Install the package + +```bash +cloudron install \ + --location blinko.due.ren \ + --image andreasdueren/blinko-cloudron:1.0.0 +``` + +### 4. View logs during installation + +```bash +cloudron logs --app blinko.due.ren -f +``` + +**Important**: Don't wait more than 30 seconds for installation feedback. If there's an error, the install command may hang indefinitely. + +## Troubleshooting + +### Check application logs + +```bash +cloudron logs --app blinko.due.ren -f +``` + +### Shell into the container + +```bash +cloudron exec --app blinko.due.ren +``` + +### Common issues + +1. **Database connection fails** + - Check PostgreSQL addon is properly configured + - Verify `DATABASE_URL` environment variable + +2. **Authentication issues** + - Ensure `NEXTAUTH_URL` matches the app domain + - Check that `NEXTAUTH_SECRET` was generated + +3. **Static files not loading** + - Verify NGINX is running: `supervisorctl status` + - Check NGINX logs for errors + +4. **Memory issues** + - Increase `memoryLimit` in CloudronManifest.json if needed + - Monitor with: `cloudron status --app blinko.due.ren` + +### Rebuild after changes + +Always uninstall and reinstall fresh during development: + +```bash +cloudron uninstall --app blinko.due.ren +cloudron build --set-build-service builder.docker.due.ren \ + --build-service-token e3265de06b1d0e7bb38400539012a8433a74c2c96a17955e \ + --set-repository andreasdueren/blinko-cloudron \ + --tag 1.0.1 +cloudron install --location blinko.due.ren --image andreasdueren/blinko-cloudron:1.0.1 +``` + +## Data Persistence + +All persistent data is stored in `/app/data`: + +- `/app/data/.blinko` - Application data directory +- `/app/data/.nextauth_secret` - Authentication secret +- `/app/data/.initialized` - First-run marker + +This directory is automatically backed up by Cloudron. + +## References + +- [Blinko Documentation](https://blinko.mintlify.app/) +- [Blinko GitHub](https://github.com/blinkospace/blinko) +- [Cloudron Packaging Guide](https://docs.cloudron.io/packaging/tutorial/) +- [Cloudron Manifest Reference](https://docs.cloudron.io/packaging/manifest/) +- [Cloudron Addons](https://docs.cloudron.io/packaging/addons/) diff --git a/CloudronManifest.json b/CloudronManifest.json new file mode 100644 index 0000000..e11a383 --- /dev/null +++ b/CloudronManifest.json @@ -0,0 +1,30 @@ +{ + "id": "io.blinko.cloudronapp", + "title": "Blinko", + "author": "Blinko Space", + "description": "AI-powered card note-taking application for capturing fleeting thoughts with RAG-enhanced search, markdown support, and self-hosted privacy.", + "tagline": "AI-powered note-taking", + "version": "1.0.0", + "healthCheckPath": "/", + "httpPort": 8000, + "addons": { + "postgresql": {}, + "localstorage": {} + }, + "manifestVersion": 2, + "website": "https://blinko.mintlify.app/", + "contactEmail": "support@blinko.space", + "icon": "file://logo.png", + "tags": [ + "notes", + "ai", + "productivity", + "markdown" + ], + "memoryLimit": 512000000, + "minBoxVersion": "7.0.0", + "postInstallMessage": "Blinko has been installed successfully!\n\nVisit your Blinko instance to create your first account.\nThe first user to register will become the administrator.\n\nData is stored in /app/data and will be backed up automatically.", + "changelog": { + "1.0.0": "Initial Cloudron package" + } +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ec11cf1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,67 @@ +FROM cloudron/base:5.0.0 + +# Install Bun for building +RUN curl -fsSL https://bun.sh/install | bash +ENV PATH="/root/.bun/bin:${PATH}" + +# Set up working directory +WORKDIR /app/code + +# Clone Blinko repository +ARG BLINKO_VERSION=main +RUN git clone --depth 1 --branch ${BLINKO_VERSION} https://github.com/blinkospace/blinko.git /tmp/blinko + +# Build the application +WORKDIR /tmp/blinko + +# Install dependencies with Bun +RUN bun install --frozen-lockfile + +# Handle Sharp for native image processing +RUN ARCH=$(uname -m) && \ + if [ "$ARCH" = "aarch64" ] || [ "$ARCH" = "arm64" ]; then \ + bun add sharp@0.34.1 --arch=arm64 --platform=linux; \ + fi + +# Generate Prisma client +RUN bunx prisma generate + +# Build the application +RUN bun run build:web +RUN bun run build:seed + +# Copy built application to /app/code +WORKDIR /app/code +RUN cp -r /tmp/blinko/dist /app/code/dist && \ + cp -r /tmp/blinko/server /app/code/server && \ + cp -r /tmp/blinko/prisma /app/code/prisma && \ + cp -r /tmp/blinko/node_modules /app/code/node_modules && \ + cp /tmp/blinko/package.json /app/code/package.json + +# Copy public assets if they exist +RUN if [ -d /tmp/blinko/public ]; then cp -r /tmp/blinko/public /app/code/public; fi + +# Set up initial data directory template +RUN mkdir -p /tmp/data/.blinko + +# Install dumb-init +RUN ARCH=$(uname -m) && \ + if [ "$ARCH" = "aarch64" ] || [ "$ARCH" = "arm64" ]; then \ + DUMB_INIT_ARCH="aarch64"; \ + else \ + DUMB_INIT_ARCH="x86_64"; \ + fi && \ + curl -Lo /usr/local/bin/dumb-init "https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_${DUMB_INIT_ARCH}" && \ + chmod +x /usr/local/bin/dumb-init + +# Clean up +RUN rm -rf /tmp/blinko + +# Copy Cloudron configuration files +COPY start.sh /app/code/start.sh +COPY nginx.conf /app/code/nginx.conf +COPY supervisor/ /app/code/supervisor/ + +RUN chmod +x /app/code/start.sh + +CMD ["/app/code/start.sh"] diff --git a/NOTES.md b/NOTES.md new file mode 100644 index 0000000..e4bad6a --- /dev/null +++ b/NOTES.md @@ -0,0 +1,93 @@ +# Blinko Cloudron Package - Development Notes + +## Application Summary + +**Blinko** is an AI-powered card note-taking application with: +- RAG (Retrieval-Augmented Generation) for natural language search +- Markdown support +- Self-hosted, privacy-focused design +- PostgreSQL database backend + +## Tech Stack + +- **Frontend**: React, Next.js +- **Backend**: Node.js, Express +- **Database**: PostgreSQL 14+ +- **ORM**: Prisma +- **Build Tool**: Bun +- **Runtime Port**: 1111 + +## Key Environment Variables + +| Variable | Purpose | +|----------|---------| +| `DATABASE_URL` | PostgreSQL connection string | +| `NEXTAUTH_URL` | App URL for NextAuth.js | +| `NEXT_PUBLIC_BASE_URL` | Public-facing URL | +| `NEXTAUTH_SECRET` | Session encryption secret | +| `TRUST_PROXY` | Enable when behind reverse proxy | +| `TZ` | Timezone setting | + +## Cloudron Integration + +### Addons Used +- `postgresql` - Database storage +- `localstorage` - Persistent file storage + +### Port Mapping +- NGINX listens on port 8000 (Cloudron httpPort) +- Proxies to Blinko on port 1111 + +### Data Directories +- `/app/data/.blinko` - Application files +- `/app/data/.nextauth_secret` - Auth secret (generated on first run) +- `/app/data/.initialized` - First-run marker + +## Build Commands Quick Reference + +```bash +# Build +cloudron build \ + --set-build-service builder.docker.due.ren \ + --build-service-token e3265de06b1d0e7bb38400539012a8433a74c2c96a17955e \ + --set-repository andreasdueren/blinko-cloudron \ + --tag VERSION + +# Install +cloudron install \ + --location blinko.due.ren \ + --image andreasdueren/blinko-cloudron:VERSION + +# Uninstall (for fresh install during development) +cloudron uninstall --app blinko.due.ren + +# Logs +cloudron logs --app blinko.due.ren -f + +# Shell access +cloudron exec --app blinko.due.ren +``` + +## Files in Package + +| File | Purpose | +|------|---------| +| `CloudronManifest.json` | App metadata, addons, ports | +| `Dockerfile` | Build instructions | +| `start.sh` | Initialization and startup | +| `nginx.conf` | Reverse proxy config | +| `supervisor/supervisord.conf` | Process management | +| `logo.png` | App icon (needs to be added) | + +## Known Considerations + +1. **First user becomes admin** - The first account registered gets admin privileges +2. **Memory usage** - Set to 512MB, may need adjustment for heavy use +3. **AI features** - Require additional configuration (OpenAI API key, etc.) +4. **File uploads** - 50MB limit configured in NGINX + +## Upstream Resources + +- GitHub: https://github.com/blinkospace/blinko +- Docs: https://blinko.mintlify.app/ +- Docker: https://hub.docker.com/r/blinkospace/blinko diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..aec5063da6fb988eef454f6b77f5ee8de467b33e GIT binary patch literal 96281 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 Starting Blinko for Cloudron" + +# Initialize data directory on first run +if [[ ! -f /app/data/.initialized ]]; then + echo "=> First run: initializing data directory..." + mkdir -p /app/data/.blinko + touch /app/data/.initialized +fi + +# Generate NEXTAUTH_SECRET if not present +if [[ ! -f /app/data/.nextauth_secret ]]; then + echo "=> Generating NEXTAUTH_SECRET..." + openssl rand -base64 32 > /app/data/.nextauth_secret +fi + +NEXTAUTH_SECRET=$(cat /app/data/.nextauth_secret) + +# Set ownership +chown -R cloudron:cloudron /app/data + +# Configure environment from Cloudron +export NODE_ENV=production +export DATABASE_URL="${CLOUDRON_POSTGRESQL_URL}" +export NEXTAUTH_URL="${CLOUDRON_APP_ORIGIN}" +export NEXT_PUBLIC_BASE_URL="${CLOUDRON_APP_ORIGIN}" +export NEXTAUTH_SECRET="${NEXTAUTH_SECRET}" +export TRUST_PROXY=1 +export DISABLE_SECURE_COOKIE=false + +# Configure mail settings if available +if [[ -n "${CLOUDRON_MAIL_SMTP_SERVER:-}" ]]; then + export SMTP_HOST="${CLOUDRON_MAIL_SMTP_SERVER}" + export SMTP_PORT="${CLOUDRON_MAIL_SMTP_PORT}" + export SMTP_USER="${CLOUDRON_MAIL_SMTP_USERNAME}" + export SMTP_PASS="${CLOUDRON_MAIL_SMTP_PASSWORD}" + export SMTP_FROM="${CLOUDRON_MAIL_FROM}" +fi + +# Set timezone if configured +export TZ="${TZ:-UTC}" + +# Link data directory for Blinko +ln -sfn /app/data/.blinko /app/code/.blinko + +# Run database migrations +echo "=> Running database migrations..." +cd /app/code +npx prisma migrate deploy --schema=/app/code/prisma/schema.prisma + +# Seed database if needed +echo "=> Checking database seed..." +node /app/code/server/seed.js 2>/dev/null || true + +# Configure NGINX +cp /app/code/nginx.conf /run/nginx.conf + +echo "=> Starting supervisor..." +exec /usr/bin/supervisord --configuration /app/code/supervisor/supervisord.conf --nodaemon diff --git a/supervisor/supervisord.conf b/supervisor/supervisord.conf new file mode 100644 index 0000000..43dbd0f --- /dev/null +++ b/supervisor/supervisord.conf @@ -0,0 +1,38 @@ +[supervisord] +nodaemon=true +logfile=/dev/stdout +logfile_maxbytes=0 +pidfile=/run/supervisord.pid + +[unix_http_server] +file=/run/supervisor.sock + +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl=unix:///run/supervisor.sock + +[program:nginx] +command=/usr/sbin/nginx -c /run/nginx.conf +directory=/app/code +autostart=true +autorestart=true +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 +priority=10 + +[program:blinko] +command=/usr/local/bin/dumb-init node /app/code/server/index.js +directory=/app/code +user=cloudron +autostart=true +autorestart=true +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 +priority=20 +environment=NODE_ENV="production",HOME="/app/data"