digitopvn / diginext

A developer-focused platform for app deployment & centralized cloud resource management.
https://dxup.dev
GNU General Public License v3.0
55 stars 6 forks source link
cloud deploy deployment devops devops-tools dxup kubernetes resources

DXUP

A developer-focused platform for app deployment & centralized cloud resource management.

https://dxup.dev

Developers should not be frustrated by deploying apps to the infrastructure, or bothering the DevOps engineers to help deploying it, they should fully focus on developing apps, they don't need to understand the servers, the domains, or infrastructure related stuffs.

Focus on building your apps, shipping fast, and shinning, and leave your cloud infrastructure to DXUP.

dx also means Developer Experience, and this is my number one goal - create the best experience for developers - let's make coding great again.

DXUP Build Server & CLI

Features

Demo Video

Watch the video

Benefits

For Developers

For DevOps

Tech Leads, Managers, Company & Startups

Still not convinced?

Roadmap


Getting Started

CLI Installation

Install the package globally:

npm i @topgroup/diginext --location=global

CLI Update


Login to your DXUP workspace:

dx login 
# is similar with:
# $ dx login https://app.dxup.dev
# in case you hosted DXUP server yourself:
# $ dx login https://<your-diginext-workspace-domain>
cd /path/to/your/app
dx init
dx up

# custom deploy
dx up --prod
dx up --prod --rollout
dx up --prod --rollout --replicas=5
dx up --prod --rollout --replicas=5 --port=3000
dx up --prod --rollout --replicas=5 --port=3000 --select-cluster
# deploy to custom environment
dx up --staging
# deploy to other cluster
dx up --cluster=[cluster-name]
# deploy without SSL
dx up --no-ssl
# deploy with custom domain
dx up --domain=[your-domain]
# deploy with custom container size
dx up --size=2x
# deploy with DX API key
dx up --api-key=[your-dx-api-key]
# redirect all other domains to the first domain (for example: no-www -> www)
dx up --redirect
# upload local .env to dxup deployment
dx up --upload-env
# delete old deployments and deploy new
dx up --fresh

That's it!


Start developing a new app from boilerplate frameworks:

dx new

Available frameworks: ✓ Next.js (Page Router) ✓ Next.js (App Router) ✓ Nest.js ✓ Bun.js Starter ✓ Express.js Starter ✓ Static website with NGINX ✓ More to come!

Running DXUP platform on your own infrastructure

Requirements:

1. With installation script

Access into your server (directly or via SSH), then run this script:

curl -sfL https://dxup.dev/install/microk8s | sh -

👉 Detailed instruction

2. With Docker Engine

For fastest installation, I recommend to use our docker-compose.yaml, you will need to fill in some environment variables:

...
  # Add your credentials so you can use Google Sign-in to authenticate with your workspace later on:
  - GOOGLE_CLIENT_ID=
  - GOOGLE_CLIENT_SECRET=

Then spin up the build server with: docker compose up, it will be available at: http://localhost:6969

Access the admin (http://localhost:6969) to configure your new workspace.

On the client side, use the CLI command dx login http://your-workspace-domain.com to login to your workspace and start new app with dx new or start deploying with dx up (or dx deploy).

👉 Read the docs here.

Other installation guides


Changelog

Admin UI

Contributing PRs Welcome

Read our contributing guide and let's build a better build platform together.

We welcome all contributions. Please read our CONTRIBUTING.md first. You can submit any ideas as pull requests or as GitHub issues. If you'd like to improve code, check out the Development Instructions and have a good time! :)

If you are a collaborator, please follow our Pull Request principle to create a Pull Request with collaborator template.

Community and Support:

Join our community on Discord!

Suggest improvements and report problems.


Credits / Donations

This is a ONE-MAN project & I've been spending a lot of time for it, although it's my hobby project, I still need beers to keep the momentum. If you enjoyed this project — or just feeling generous, consider buying me some beers. Cheers! 🍻

Buy Me A Coffee

Thank you!