Deploy your uAdmin project and host it with a single click (and a few more steps ๐Ÿ‘€) !

Overview

Golang and uAdmin CI/CD using ๐Ÿš… Railway!

Deploy on Railway

Steps to Deploy

  • Give your new Repository a name (and select the visibility if you want to make it private)
  • Set the Environment Variables to the following (you can change the port as per your needs):
Value env variable
1 CGO_ENABLED
8080 PORT
gcc NIXPACKS_PKGS
encryption key used for encrypting and decrypting the database KEY
salt used for encrypting and decrypting the database SALT

NOTE: The PORT value here needs to match the port where uAdmin is exposed to (the default value is 8080 and I recommend not changing it unless necessary)

  • and finally click on Deploy

TA-DA! ๐ŸŽ‰ Your app is deployed!

  • A github repository will be created with the name you gave in the previous step
  • A uadmin instance is run
  • It is hosted on a live URL (which you can find in the Deployments tab of your project)
  • The expected port is exposed
  • An SSL certificate is generated
  • A MySQL database is automatically created and linked to uAdmin
  • The database is encrypted using the KEY and SALT environment variables

All that with a click of a button and a few environment variables!

Finally, to setup this repository locally, you can follow the steps below:

  • Head over to github and clone the repository that was created for you.
  • Clicking on MySQL on the railway dashboard will give you the following details:
    • The values for the fields like host, port, user, password and name can be found in the above screenshot from the fields MYSQLHOST, MYSQLPORT, MYSQLUSER, MYSQLPASSWORD and MYSQLDATABSE respectively.

host โ‡„ MYSQLHOST

port โ‡„ MYSQLPORT

user โ‡„ MYSQLUSER

password โ‡„ MYSQLPASSWORD

name โ‡„ MYSQLDATABSE

  • Create a .database file in the root of the repository and add the following content to it using the values mapped from the previous step:
{
  "type": "mysql",
  "name": "railway",
  "user": "root",
  "password": "********************",
  "host": "*********************.railway.app",
  "port": 1234
}
  • Create a .encrypt file in the root of the repository and add the following content to it using KEY and SALT environment variables from the railway dashboard:
{
  "KEY": "*********************",
  "SALT": "*********************"
}

You can test the connection to the MySQL instance by running the following command in the root of the repository locally (assuming you have go installed on your machine):

go mod download; go build .; ./railway

Commit these changes to the repository and push them to github.

Now for the cool part!

Since railway automatically deploys the app whenever there is a change in the repository, you will see that a new build is triggered and the app is deployed with the changes you made as soon as you push them to github!

To fix:

[  ERROR ]   Hanlder.NewLogger. Unix syslog delivery error

Update on the above error: The issue is solved in HEAD and will be releases in a new version with the update. (~Internal Sources ๐Ÿ‘€ )

About me

GH WidgetBox

Star History

Star History Chart

GitHub Language Count GitHub Top Language GitHub Issues GitHub Closed Issues GitHub Pull Requests GitHub Closed Pull Requests GitHub Contributors GitHub Last Commit GitHub Commit Activity (Week)
You might also like...

Import/Export data from and to your database in just few clicks.

Import/Export data from and to your database in just few clicks.

Strapi Plugin Import Export Entries Import/Export data from and to your database in just few clicks. Features Import Import data directly from the Con

Dec 28, 2022

simple-remix-blog is a blog template built using Remix and TailwindCSS. Create your own blog in just a few minutes!

simple-remix-blog is a blog template built using Remix and TailwindCSS. Create your own blog in just a few minutes!

simple-remix-blog is a blog template built using remix.run and TailwindCSS. It supports markdown and MDX for the blog posts. You can clone it and star

Dec 8, 2022

๐Ÿš€ A mongoose plugin to monetize your apis in few lines of code

๐Ÿš€ A mongoose plugin to monetize your apis in few lines of code

Stripe Mongoose Api Stripe Mongoose Api is a Mongoose plugin that simplifies building checkout and payment system for apis with stripe. It will provid

Dec 29, 2022

Create and Host a dark Web Site (Tor Hidden Service)

Tutorial: Hosting a site on Dark Web (Tor Hidden Service) Introduction Before starting, lets clear some questions that might come up in your mind: Wha

Oct 18, 2022

This is a library to alternate and self-host the Prisma Data Proxy (cloud.prisma.io)

This is a library to alternate and self-host the Prisma Data Proxy (cloud.prisma.io)

Alternative Prisma Data Proxy This is a library to alternate and self-host the Prisma Data Proxy (cloud.prisma.io). In order to deploy your project to

Dec 28, 2022

Open-source continuous regression testing that you can self-host.

Open-source continuous regression testing that you can self-host.

Touca Touca helps you see the side-effects of your changes, as you write code. Touca SDKs let you describe the behavior and performance of your softwa

Dec 30, 2022

DropSpace is an easy way to self-host a file drop.

DropSpace is an easy way to self-host a file drop.

DropSpace Simple file sharing made in Laravel About DropSpace DropSpace is an easy way to self-host a file drop. Simply upload your file, and share th

Dec 9, 2022

A WASI implementation that uses VS Code's extension host as the implementing API

Project This repo has been populated by an initial template to help get you started. Please make sure to update the content to build a great experienc

Dec 24, 2022

๐Ÿชถ An light weight image host built using typescript.

๐Ÿชถ An light weight image host built using typescript.

Feather; an next-gen image uploader built to be used with sharex. Built using typescript, expressjs. To get started ( IN ORDER ) ~ Hosting ~ npm i ~ n

Jun 14, 2022
Comments
  • Bump github.com/uadmin/uadmin from 0.8.7 to 0.9.0

    Bump github.com/uadmin/uadmin from 0.8.7 to 0.9.0

    Bumps github.com/uadmin/uadmin from 0.8.7 to 0.9.0.

    Release notes

    Sourced from github.com/uadmin/uadmin's releases.

    v0.9.0 Gnat

    Added Postgres support bug fixes

    Commits
    • 423427d unit tests for postgres
    • d53b274 Merge branch 'master' of https://github.com/uadmin/uadmin
    • 840860f remove client port from logging options
    • bd7b0d3 Merge pull request #124 from uadmin/snyk-upgrade-9450a8ce9feb94453a23087906fc...
    • 90942e3 Merge branch 'master' into snyk-upgrade-9450a8ce9feb94453a23087906fc3686
    • 0baac22 Merge pull request #123 from uadmin/snyk-upgrade-631d2612fe121f43ac8fdd62a124...
    • b42d493 Merge pull request #122 from uadmin/snyk-upgrade-b9f8fca3ab72c4352f5a3e89411a...
    • 6863e24 Read client IP over load balancer
    • 113d208 remove downloads badge
    • 471b492 fix: upgrade socket.io-client from 3.1.0 to 3.1.3
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump github.com/uadmin/uadmin from 0.8.7 to 0.9.2

    Bump github.com/uadmin/uadmin from 0.8.7 to 0.9.2

    Bumps github.com/uadmin/uadmin from 0.8.7 to 0.9.2.

    Release notes

    Sourced from github.com/uadmin/uadmin's releases.

    v0.9.2 Gnat

    dAPI auth OpenAPI schema auto generation

    v0.9.1 Gnat

    implements: JWT dAPI auth OpenAPI schema generation for dAPI

    v0.9.0 Gnat

    Added Postgres support bug fixes

    Commits
    • 08a60b2 BUG FIXES: auth dAPI and send email dAPI
    • 73f7fe6 dAPI auth and OpenAPI schema for it
    • a2e8833 release v0.9.1
    • c67ec7b BUG FIX: dAPI edit row count in edit one was always returning 0
    • 5e8916e BUG FIX:dAPI nested AND doesn't work in GET method
    • c912d11 Merge pull request #126 from uadmin/snyk-fix-116a9c8256841df1b01d2819e0108d7e
    • fe3adce BUG FIX: trail none type was not implemeted for windows
    • e64f853 dAPI auth and open API
    • 35572f5 fix: static/uadmin/assets/socket.io/package.json to reduce vulnerabilities
    • 12f637f BUG FIX: dAPI bug in __in and __re modifiers
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [Query] Readme question

    [Query] Readme question

    Would it make more sense to fork the project and then deploy to railway since you can create your custom models.

    Using a sqlite mode requires no extra configuration for connection since sqlite is binary and uses Cgo.

    I guess it would make sense to split the tutorial into 2 half. One with Sqlite implementation and MySql implementation.

    enhancement question 
    opened by Akilan1999 1
Owner
Gaurav Gosain
Student pursing a BSc. (Hons) degree in Computer Science, Specializing in AI. Interested in Deep Learning. "Talk is cheap. Show me the code." ~ Linus Torvalds
Gaurav Gosain
CLI Progress Bar implemented in NodeJS to track Time, ETA and Steps for any long running jobs in any loops in JS, NodeJS code

NodeJS-ProgressBar CLI Progress Bar for NodeJS and JavaScript to track Time, ETA and Steps for any long running jobs in any loops in JS, NodeJS code D

Atanu Sarkar 5 Nov 14, 2022
An Open Source Remix template that integrates Stripe Subscriptions, Social Authentication, Testing and a few more features. PostgreSQL version. Deploys to Fly.io

Live Demo ยท Twitter An open source Remix Stack that integrates Stripe Subscriptions, Social Authentication, Testing and a few more features. PostgreSQ

xo 25 Dec 7, 2022
An Open Source Remix template that integrates Stripe Subscriptions, Social Authentication, Testing and a few more features. SQLite version. Deploys to Fly.io

Live Demo ยท Twitter An Open Source Remix template that integrates Stripe Subscriptions, Social Authentication, Testing and a few more features. SQLite

xo 135 Dec 31, 2022
Automated testing for single-page applications (SPAs). Small, portable, and easy to use. Click on things, fill in values, await for things exist, etc.

SPA Check Automated testing for single-page applications (SPAs). Small, portable, and easy to use. Click on things, fill in values, await for things e

Cory Leigh Rahman 5 Dec 23, 2022
Write on Obsidian. Publish to Ghost with a single click.

Obsidian & Ghost A simple plugin for Obsidian to publish to Ghost site with a single click. How to use Create a custom integration follow this link. Y

Jay Nguyen 36 Dec 22, 2022
Your non mega-corporate Open source PLM. Click the website down below for more information.

PLMore PLMore is an open-source Product Lifecycle Management Software. It offers an alternative to the heavily priced archahic Windchill/Teamcenter so

Oussema Zouaghi 6 Aug 23, 2022
Your non mega-corporate Open source PLM. Click the website down below for more information.

PLMore PLMore is an open-source Product Lifecycle Management Software. It offers an alternative to the heavily priced archahic Windchill/Teamcenter so

PLMore 4 Jun 20, 2022
Less clicking, more creating. Navigate to your favorite actions on the websites you love with just one click.

Navigate to your favorite actions on the websites you love with just one click Web https://irtaza9.github.io/awesome-shortcuts/ Available Shortcuts Go

Irtaza Hussain 9 Aug 25, 2022
Host your own replica server instantly on Glitch.

Earthstar Replica Server for Glitch Want your own replica server? Click the button above. Create a file at .data/known_shares.json Add the shares you'

Earthstar Project 5 Apr 26, 2022
For this workshop, we're going to learn more about cloud computing by exploring how to use Pulumi to build, configure, and deploy a real-life, modern application using Docker

For this workshop, we're going to learn more about cloud computing by exploring how to use Pulumi to build, configure, and deploy a real-life, modern application using Docker. We will create a frontend, a backend, and a database to deploy the Pulumipus Boba Tea Shop. Along the way, we'll learn more about how Pulumi works.

Kat Cosgrove 9 Dec 29, 2022