Skip to content

Deploying Writing

Introduction

Writing is a lightweight, self-hosted writing and note-taking application designed for simplicity and focus. It provides a clean interface for capturing thoughts, ideas, and notes without the complexity of full-featured note-taking applications. Perfect for journaling, drafting, and personal knowledge management.

Key highlights of Writing:

  • Minimal Interface: Clean, distraction-free writing environment
  • Markdown Support: Write using Markdown syntax
  • Fast and Lightweight: Quick loading and responsive interface
  • Self-Hosted: Complete control over your data
  • Search: Find notes quickly with full-text search
  • Tags: Organize notes with tagging system
  • Export: Download your notes in various formats
  • Mobile Friendly: Responsive design for writing on any device

This guide walks through deploying Writing on Klutch.sh using Docker.

Why Deploy Writing on Klutch.sh

Deploying Writing on Klutch.sh provides several advantages:

Personal Privacy: Your notes and thoughts remain completely private.

Always Accessible: Capture ideas from anywhere with 24/7 availability.

HTTPS by Default: Secure access with automatic SSL certificates.

Persistent Storage: Your writing persists with Klutch.sh volumes.

Prerequisites

Before deploying Writing on Klutch.sh, ensure you have:

Deploying Writing on Klutch.sh

    Create Your Repository

    Create a new GitHub repository with a Dockerfile:

    FROM node:18-alpine
    WORKDIR /app
    # Clone the writing application
    RUN apk add --no-cache git \
    && git clone https://github.com/josephernest/writing.git . \
    && npm install
    ENV PORT=3000
    ENV NODE_ENV=production
    EXPOSE 3000
    CMD ["npm", "start"]

    Push to GitHub

    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 a New App

    Within your project, create a new app and connect your GitHub repository.

    Configure HTTP Traffic

    Set the traffic type to HTTP with port 3000.

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    NODE_ENVproduction
    PORT3000

    Attach Persistent Volume

    Add a persistent volume mounted at /app/data for your notes and configuration.

    Deploy Your Application

    Click Deploy to build and launch Writing.

    Start Writing

    Access your Writing instance and begin capturing your thoughts in a distraction-free environment.

Additional Resources

Conclusion

Writing on Klutch.sh provides a simple, private space for your thoughts and ideas. Its minimal interface keeps you focused on writing while self-hosting ensures your personal notes remain under your control.