/ChiefOnboarding

(Acorn Deployment) Free and open-source employee onboarding platform. Onboard new hires through Slack or the web portal.

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Self host a company onboarding server

ChiefOnBoarding

Want to onboard employees on your own servers but don't want to code everything from scratch? In this tutorial, we will be doing just that with ChiefOnboarding. ChiefOnboarding is a free and open source employee onboarding platform. You can onboard new hires through Slack or the dashboard. Other server features include automatically provisioning user accounts, triggering webhooks, pre-boarding, email notifications, and more.

Email notifications include:

  • Sending an email to new hire with login credentials
  • Sending an email to new hire with updates
  • Sending an email to new hire when tasks are overdue

onboarding_dashboard

To deploy this server we will be using a pre-made Acorn image.

What is Acorn?

Acorn is a new cloud platform that allows you to easily deploy, develop and manage web services with containerization. A single acorn image can deploy all that you need: from a single container webserver, to a multi service Kubernetes cluster with high availability. Don't worry if you don't understand what all those terms mean; we don't have to know that in order to deploy our server.

Setup Acorn Account

Setup an acorn account at acorn.io. This can be a free account for your first deployment, and if you'd like additional storage space you can look into the pro account or enterprise. You will need a Github account to signup as shown in the image below.

signin_acorn

Install acorn cli

First we need to install acorn-cli locally. Choose an install method from the list below:

Linux or Mac
curl https://get.acorn.io | sh

Homebrew (Linux or Mac)
brew install acorn-io/cli/acorn

Windows
Uncompress and move the binary to your PATH

Windows (Scoop)
scoop install acorn

For up to date installation instructions, visit the official docs.

Login with cli

Back in our local command terminal login to acorn.io with:
acorn login acorn.io

Setup Server

The server has several basic settings controlled by a secret object.

  • secret_key - encryption key (string) used for your app
  • default_email - default email used by your mailer
  • email_host (optional) - SMTP host url (ex smtp.chiefonboarding.com)
  • email_port (optional) - SMTP port number
  • email_host_user (optional) - SMTP username
  • email_host_password (optional) - SMTP password

Create secrets for your application using acorn-cli. Change the dummy <> values to your actual credentials.

acorn secrets create \
  --data secret_key=<your encryption key> \
  --data default_email=<your email> \
  --data email_host=<email host or blank> \
  --data email_port=<port or blank> \
  --data email_host_user=<your user or blank> \
  --data email_host_password=<your password or blank> \
   chief-onboarding

Deploying Acorn

Now that we have our secret file we can deploy our server from a pre-made image with just a few clicks.

On the acorn.io dashboard, click "Deploy Acorn" and select "From Acorn Image".

deploy_acorn

Fill in the following fields:

  • Name: <any name you like>
  • Acorn Image: ghcr.io/randall-coding/acorn/chief-onboarding

Visit the acorn dashboard and find your recent deployment. Click on the name of your deployment and find the endpoint section in the right panel. Click "copy" on the web endpoint and visit the link.

onboarding_endpoint

Visiting the endpoint should show a screen like this:

first_page_onboarding

Setup ChiefOnboarding

  • First we create the admin account

    • Fill in the form on the first page
  • Next we are redirected to the login page. Please login

    login_onboarding

  • Add new hire

    • Visit the New Hires dashboard page
    • Click "+Add" button
    • Fill in the new hire form

people_new_hires_onboardingadd_btn_onboarding

  • Add new tasks
    • Visit the Tasks dashboard page
    • Click "+Add" button
    • Fill in the new task form

all_tasks_onboardingadd_btn_onboarding

  • Set up email integration (see SMTP Setup below)
  • Set email settings in Settings > General

email_settings_onboarding

SMTP Setup

To setup your email integrtion for ChiefOnboarding, make sure you add all the optional email values in your secret file (see instructions above). For more information see the email setup documentation.

Conclusion

That's it! It's just that easy to get up and running with your own onboarding server.

References