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
To deploy this server we will be using a pre-made Acorn image.
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 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.
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.
Back in our local command terminal login to acorn.io with:
acorn login acorn.io
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
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".
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.
Visiting the endpoint should show a screen like this:
-
First we create the admin account
- Fill in the form on the first page
-
Next we are redirected to the login page. Please login
-
Add new hire
- Visit the New Hires dashboard page
- Click "+Add" button
- Fill in the new hire form
- Add new tasks
- Visit the Tasks dashboard page
- Click "+Add" button
- Fill in the new task form
- Set up email integration (see SMTP Setup below)
- Set email settings in Settings > General
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.
That's it! It's just that easy to get up and running with your own onboarding server.