# Plane Community Edition Self-Host (Jira Replacement) This repository contains the deployment configuration and CI/CD workflow for self-hosting **Plane Community Edition** on `https://jira.tradhox.com`. ## Architecture & Infrastructure - **Stack**: Official Plane Community Edition Docker images (`v1.4.3`). - **Database**: External PostgreSQL (`15.x`) on host `localhost:5432` (`host.docker.internal:5432` from Docker). - **Reverse Proxy**: Host Nginx with Let's Encrypt SSL proxying `https://jira.tradhox.com` to internal container port `127.0.0.1:8090`. - **File Storage**: AWS S3 bucket `trypostmedia` (region `ap-south-2`, prefix `jiradocuments/`). - **Messaging & Cache**: Containerized Valkey (Redis) and RabbitMQ. ## Directory Structure ``` . ├── .forgejo/ │ └── workflows/ │ └── deploy.yml # CI/CD deployment workflow for Forgejo ├── patches/ │ └── storage.py # AWS S3 prefix support patch ├── docker-compose.yaml # Plane Docker Compose definition ├── plane.env.example # Environment template ├── setup.sh # Official Plane CLI setup script └── README.md ``` ## Server Deployment The deployment runs on the server at: `/home/ubuntu/plane-selfhost/plane-app` ### Commands on the server: - **Start services**: ```bash cd /home/ubuntu/plane-selfhost/plane-app && docker compose --env-file=plane.env up -d ``` - **Stop services**: ```bash cd /home/ubuntu/plane-selfhost/plane-app && docker compose --env-file=plane.env down ``` - **Restart services**: ```bash cd /home/ubuntu/plane-selfhost/plane-app && docker compose --env-file=plane.env restart ``` - **View logs**: ```bash cd /home/ubuntu/plane-selfhost/plane-app && docker compose --env-file=plane.env logs -f [service] ``` ## CI/CD Pipeline Pushes to `preview`, `main`, or `master` branches automatically trigger the Forgejo workflow `.forgejo/workflows/deploy.yml` which deploys updates to `cisystem`.