Skip to content

Forail DevOps

CI

Deployment, infrastructure, and CI/CD for the Forail platform.

Overview

This repo contains everything needed to deploy the Forail platform:

  • Docker Compose configuration (production + development)
  • Nginx reverse proxy
  • SSL/TLS (Let's Encrypt)
  • Backup/restore scripts
  • CI/CD pipeline configuration
  • Health check scripts
  • Receptor mesh configuration

Quick Start

# 1. Clone the repo
git clone https://github.com/forail-platform/forail-devops.git
cd forail-devops
# 2. Configure environment
cp .env.example .env
# Edit .env with real values# 3. Start
docker compose up -d
# 4. Check health
docker compose ps # every service should report (healthy)

The scripts under scripts/ are the container health probes — Compose mounts them into the containers and runs them there (bash /etc/forail/healthcheck-web.sh), so they call forail-manage and only work inside the image. Run one by hand with:

docker compose exec forail-web bash /etc/forail/healthcheck-web.sh &&echo healthy

Architecture

┌──────────────┐ ┌───────────────┐
│ forail-backend│ │ forail-frontend│
│ (Django) │ │ (React) │
└──────┬───────┘ └──────┬────────┘
│ │
▼ ▼
┌─────────────────────────────────────┐
│ Docker Registry │
└─────────────────┬───────────────────┘
│
▼
┌─────────────────┐
│ forail-devops │
│ docker-compose │
└────────┬────────┘
│
┌───────────┼───────────┐
▼ ▼ ▼
┌────────┐ ┌────────┐ ┌────────┐
│ nginx │ │postgres│ │ redis │
└────────┘ └────────┘ └────────┘

Services

ServiceImagePortDescription
nginxnginx:latest443, 80Reverse proxy, SSL termination
forail-webghcr.io/forail-platform/forail-backend8013Django API + uWSGI
forail-taskghcr.io/forail-platform/forail-backend-Celery worker + Dispatcher
postgrespostgres:155432Database
redisredis:76379Cache + message broker

Structure

forail-devops/
├── docker-compose.yml # Production stack
├── docker-compose.dev.yml # Development stack
├── docker/ # Dockerfile templates
├── nginx/ # Nginx configuration + SSL
├── receptor/ # Receptor mesh configuration
├── scripts/ # Backup, restore, health checks
├── settings/ # Django production settings
├── .env.example # Environment template
└── .github/workflows/ # GitHub Actions CI/CD

Documentation

Published on the developer and user docs site — the markdown sources are kept outside this repository:

Release

Backup & Restore

# Backup
./scripts/backup.sh
# Restore
./scripts/restore.sh /path/to/backup.sql.gz

Related Repositories

Project History

The Forail platform is a modernized fork of Ansible AWX, licensed under the Apache License 2.0. See forail-backend/NOTICE for full attribution.

License

Licensed under the Apache License, Version 2.0. See LICENSE.

Releases

Packages

Contributors

Languages