Developer Guide

Development & Deployment

Multi-project deployment platform managed via the Deployer app (deployer.ipellio.com). Supports Ipellio, CareStamp, and StarTr projects across multiple Lightsail instances with GitHub Actions CI/CD, .env management, and CloudWatch log streaming.

Projects

EnvironmentsIpellio

product
Password protected

Production environment — password-gated, deploys from main branch only.

main
https://ipellio.com
https://api.ipellio.com/docs
ap-southeast-2 (Sydney)
develop
Shared

Shared development environment — auto-deploys on push to develop branch.

develop
https://dev.ipellio.com
https://api-dev.ipellio.com/docs
ap-southeast-1 (Singapore)
sandbox
Testing sandbox

Testing sandbox — deploy any branch for pre-merge testing. Shares instance with develop.

any branch
https://sandbox.ipellio.com
https://api-sandbox.ipellio.com/docs
ap-southeast-1 (Singapore)

Deployer Features

One-Click Deploy

Select project, environment, and branch — deployer triggers GitHub Actions workflow and tracks progress in real-time with Slack notifications.

Env Management

Upload .env files per service (api-gateways, ipellio.com, docs, admin, deployer), push to Lightsail via SSH, and restart only affected containers.

Log Streaming

Real-time CloudWatch log streaming per service. Filter by environment and time range. Supports all Docker services across all instances.

Pipeline Registry

Reusable CI/CD templates: branch validation, Trivy security scan, Docker build & push (GHCR), compose deploy, and Slack notifications.

How to Deploy

1
Push your branch to remote
$ git push origin your-feature-branch
2
Open Deployer and trigger deployment

Go to the deployer portal, select your project and target environment, pick your branch, and click Deploy. The deployer dispatches a GitHub Actions workflow.

Open deployer.ipellio.com
a
Select project (Ipellio, CareStamp, or StarTr)
b
Select target environment and branch from the dropdown
c
Click "Deploy" — GitHub Actions workflow is triggered
d
Monitor real-time progress in the deployer UI — Slack notification on completion
3
GitHub Actions runs the deployment

The workflow SSHs into Lightsail, pulls code, builds Docker images, runs migrations, and restarts services. Progress is tracked live in the deployer UI.

4
Verify and create PR

After successful deploy, the deployer shows health check results and prompts you to create a Pull Request (sandbox→develop or develop→main).

Infrastructure

ipellio-dev18.143.39.13Singapore
developsandbox
api-gatewayipellio-comcelery-workerdeployerdocscaddyredis
ipellio-prod13.236.79.187Sydney
product
api-gatewayipellio-comcelery-workerdeployerdocscaddyredis
jonaala-compose32.236.74.93Sydney
carestampstartr
carestamp-apicarestamp-webstartr

Important Notes

  • -**Sandbox** accepts any branch — use it for feature testing before merging to develop
  • -**Develop** auto-deploys on push to the **develop** branch, but can also be triggered manually via deployer
  • -**Product** requires password and GitHub Environment approval — deploy from main branch only
  • -Deployer manages .env files per service — upload configs and push to instances via SSH (content never stored on disk)
  • -**CareStamp & StarTr** deploy via reusable workflows hosted in the deployer repo itself (Jonaala/deployer)
  • -Pipeline templates can be enabled per-project via Settings — includes Trivy scan, Docker build, and Slack notify