This is the official website for The Byte Array - a privacy-focused software company building developer tools, libraries, and products that respect your data.
We believe in:
- Open source - All our projects are publicly auditable
- Privacy by design - Your data stays on your device
- Transparency - No hidden trackers or analytics
Visit our website at thebytearray.org.
Our portfolio includes:
- Hy2NG - A privacy-focused HTTP(S) proxy
- ConvertIt - Offline media converter for Android
- Developer libraries - Open source tools for developers
Check out our GitHub organization for all our projects.
- Node.js 18+
- npm 9+
- Docker (optional, for containerized development)
git clone https://github.com/thebytearray/website.git
cd website
./scripts/setup.shOr manually:
npm install
npm run dev| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run preview |
Preview production build |
npm run lint |
Run ESLint |
make help |
Show all available commands |
- Framework: React 18 with Vite 6
- Language: TypeScript
- Styling: Tailwind CSS 4
- Components: HeroUI
- Animations: Framer Motion
- Content: MDX for blog posts
Create new MDX files in content/blog/ with the following frontmatter:
---
title: Your Post Title
date: "2026-04-12"
author: Your Name
excerpt: "A brief description of the post"
---
Your content here...We provide Docker images for easy deployment. The setup includes multi-stage builds for minimal image size and production-ready nginx configuration.
# Build and run
./scripts/docker.sh build
./scripts/docker.sh run
# Or use docker compose
docker compose up -d --buildWe use Docker Compose with override files for different environments:
| File | Purpose |
|---|---|
docker-compose.yml |
Base configuration |
docker-compose.prod.yml |
Production settings |
docker-compose.staging.yml |
Staging environment |
docker-compose.dev.yml |
Local development |
# Production
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
# Staging
docker compose -f docker-compose.yml -f docker-compose.staging.yml up -d
# Development with hot reload
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -dmake up # Start containers
make down # Stop containers
make logs # View logs
make clean # Remove containers and volumes
make buildx # Build multi-platform imageThe official image is published to:
- GitHub Container Registry:
ghcr.io/thebytearray/website - Docker Hub:
thebytearray/website(future)
# Deploy to production
./scripts/deploy.sh
# Deploy to staging
./scripts/deploy.sh --staging
# Skip git pull
./scripts/deploy.sh --no-pull- Docker 24+
- Docker Compose v2
- 512MB RAM minimum
- 10GB disk space
- Clone the repository:
git clone https://github.com/thebytearray/website.git
cd website- Configure environment:
cp .env.example .env
nano .env- Deploy:
docker compose up -d --buildWe use GitHub Actions for continuous integration and deployment.
| Workflow | Trigger | Description |
|---|---|---|
CI |
Every push/PR | Lint, typecheck, build, test |
CD |
Push to main |
Auto-deploy to production |
CD |
Push to develop |
Auto-deploy to staging |
- Lint - ESLint code quality checks
- TypeScript - TypeScript compilation
- Build - Production build verification
- Test - Unit tests (if any)
- Docker Build - Verify Docker image builds
- Build and Push - Build Docker image and push to registry
- Deploy - SSH to server and pull new image
- Notify - Status notification
Configure these in GitHub repository settings:
| Secret | Description |
|---|---|
SERVER_HOST |
Production server hostname |
SERVER_USER |
SSH username |
SERVER_SSH_KEY |
SSH private key |
STAGING_SERVER_HOST |
Staging server hostname |
STAGING_SERVER_USER |
Staging SSH username |
STAGING_SERVER_SSH_KEY |
Staging SSH private key |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Create feature branch
git checkout -b feature/your-feature
# Make changes and test
npm run dev
npm run lint
npm run build
# Commit and push
git add .
git commit -m "feat: add amazing feature"
git push origin feature/your-feature
# Open PR on GitHubWe take security seriously. If you discover a security vulnerability, please report it responsibly.
- Do not create public GitHub issues for security issues
- Email us directly at contact@thebytearray.org
Our nginx configuration includes:
X-Frame-Options: SAMEORIGINX-Content-Type-Options: nosniffX-XSS-Protection: 1; mode=blockReferrer-Policy: strict-origin-when-cross-originPermissions-Policy: geolocation=(), microphone=(), camera=()
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Built with privacy in mind.