Docmost Deployment

Docmost Deployment

YEAR

2024

MY ROLE

Systems Administration

INDUSTRY

General

STACK USED

  • Linux
  • Nginx
  • Docker

Project Overview

Docmost was deployed as a private knowledge and productivity platform to replace cloud-based tools like Notion. I installed and configured the service on an existing Ubuntu server using Docker, securing it with firewall rules, domain-based HTTPS access, and persistent storage. The platform now serves as a centralized hub for documentation, planning, and project tracking. Its self-hosted nature ensures data privacy and full administrative control. I customized workspace settings, optimized performance, and integrated it into my daily workflow for personal knowledge management and internal team collaboration.

Key Features

Self-Hosted Collaboration Platform

Feature Icon

Installed and configured Docmost on an Ubuntu server using Docker and Docker Compose.

Feature Icon

Set up persistent volumes and environment-based configurations for reliable data retention.

Secure & Accessible Deployment

Feature Icon

Configured domain-level DNS and HTTPS access using Nginx reverse proxy and Let's Encrypt SSL.

Feature Icon

Hardened server with custom firewall rules and SSH best practices.

Integrated Workspace & Productivity Suite

Feature Icon

Utilized Docmost for daily documentation, planning, and internal knowledge sharing.

Feature Icon

Enabled custom themes and workspace structure for intuitive navigation and categorization.

Challenges Solved

1

Reliable Dockerized Setup

Handled multi-container orchestration with environment variable tuning, storage management, and service restarts to maintain platform stability.

2

Self-Sufficiency and Data Ownership

Eliminated reliance on third-party SaaS tools by building a fully private, server-controlled documentation stack.

3

Firewall and DNS Configuration

Resolved access and routing issues across public and internal networks while maintaining secure remote access.

Check other similar projects

Kubernetes Delivery Platform — k3s and Argo CD

Kubernetes Delivery Platform — k3s and Argo CD

A small FastAPI service and the full platform around it. Terraform creates the Proxmox virtual machines, Ansible builds them into k3s clusters for staging and production, and a Helm chart packages the application with its database, ingress and backups. GitLab CI tests, builds and scans each image, then records the new release in Git. Argo CD pulls that change and reconciles both clusters. The application is deliberately small, so the platform decisions stay easy to see.

Read more
Hetzner and Cloudflare as Code — Terraform

Hetzner and Cloudflare as Code — Terraform

Terraform for a role-segmented Docker Swarm cluster on Hetzner Cloud. Public manager nodes sit behind Cloudflare; workers and database nodes have no public address at all. Three firewalls give each role only the ports it needs, and Cloudflare — the zone, DNS, R2 storage and Turnstile — is managed as code too. It was extracted from a production deployment. Terraform provisions the infrastructure and stops there: joining the cluster and deploying stacks are left to configuration management, which handles re-runs far better.

Read more
PostgreSQL High Availability — Ansible

PostgreSQL High Availability — Ansible

Ansible roles for self-hosted PostgreSQL with automatic failover. A monitor node watches a primary and a standby, and promotes the standby in about 30 seconds if the primary dies. Authentication is scram-sha-256 end to end, and backups and restore rehearsals run on systemd timers. They were extracted from a production deployment on Hetzner Cloud. The README documents the sharp edges of running pg_auto_failover with strict authentication — the parts most guides leave out.

Read more
OpenedX Deployment

OpenedX Deployment

This Open edX deployment project involved end-to-end implementation of a scalable open-source learning management system. Starting from a clean Ubuntu server install, I configured essential security layers (firewalls, DNS, SSL) and deployed Open edX using Docker. Beyond deployment, I customized the platform extensively—modifying the frontend and backend via a GitHub fork of the brand-edx-platform repo. Custom features like enhanced course navigation, branding integration, and user interface tweaks were implemented, transforming the platform into a production-ready, user-centric LMS tailored to organizational needs.

Read more