Giter VIP home page Giter VIP logo

chiefonboarding / chiefonboarding Goto Github PK

View Code? Open in Web Editor NEW
605.0 13.0 111.0 12.51 MB

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

Home Page: https://chiefonboarding.com

License: GNU Affero General Public License v3.0

Dockerfile 0.02% Python 55.22% HTML 11.21% JavaScript 21.93% CSS 11.62% Procfile 0.01%
slack slack-bot hires bot colleagues slack-team

chiefonboarding's Introduction

ChiefOnboarding

Tests Coverage Status CodeQL

ChiefOnboarding is a free and open source employee onboarding platform. You can onboarding new hires through Slack or the dashboard.

chiefonboarding timeline overview

Documentation: https://docs.chiefonboarding.com

Demo video: https://www.youtube.com/watch?v=8fYpB8WTH2M

Features

  • Automatically provision user accounts and trigger webhooks, see https://integrations.chiefonboarding.com for a list of integrations or create your own!
  • Pre-boarding: onboarding doesn't start on day 1, it starts before that. Build pre-boarding pages to welcome new hires before they start.
  • To do items: keep track of the things that your new hires need to do and allow them to fill in forms.
  • Resources: let them search through the knowledge base and complete courses so they are quickly up to speed with colleagues.
  • Sequences: drip feeding items over time or based on the completion of a to do item. Avoid the overwhelming feeling.
  • Badges: reward new hires for the things they have done. This also helps to keep them motivated.
  • Introductions: introduce people to new hires.
  • Admin to do items: collaborate with colleagues on things that need to be done for the new hire.
  • Multilingual: English, Dutch, Portuguese, German, Turkey, French, Spanish, and Japanese are all supported. Need another language? Send us an email!
  • Timezones: It doesn't matter where your new hire lives. You can adjust the timezone per new hire, so they don't get messages in the middle of the night!
  • Slack bot and dashboard: your new hires can use the dashboard or the Slack bot. Both provide all features and can be used standalone.
  • Customizable: use your logo, add your color scheme, change the email template and even customize the bot to your liking. No one will know you are using ChiefOnboarding.
  • Transparency, freedom, and privacy: ChiefOnboarding is completely open-source and licensed under AGPLv3.
  • Host it yourself on your own infrastructure or let us host it for you!

Deployment

Please see the documentation for full details.

Docker

See details here: ChiefOnboarding on Docker Hub

Heroku

Deploy

Render

Deploy to Render

Elestio

Deploy

Support

This software is provided under an open source license and comes as is. If you have any questions, then you will have to open an issue on Github for that. If you want guaranteed, quick support, then we offer a paid support package for that (best effort - generally under 2 hours response time). Please see our pricing page for more details.

If you don't want to deal with hosting, maintaining and backing up your ChiefOnboarding instance, then we can do that for you as well. Please see our pricing page for more details.

Security issues

Please do not create an issue if you found a potential security issue. Email me directly at [email protected] and we will get it resolved ASAP.

License

This project is licensed under the AGPLv3 License - see the LICENSE.md file for details.

chiefonboarding's People

Contributors

dependabot[bot] avatar gday avatar helgio avatar iamtaochen avatar joenilson avatar jonasme avatar kaiwalyakoparkar avatar kingzbauer avatar matehsan avatar megamaiku avatar vakninr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chiefonboarding's Issues

Sequences based on both day and time

Currently all sequence items are triggered based only on the day (and always at 8 AM). Want to add a feature where you can pick a time as well.

Move integrations into sequence

Allow employees to create accounts for new hire for external services (i.e. Slack and Google) whenever they want. Currently, this is fixed on day 1 just after midnight.

Ideal solution would be to mix this in the right sidebar in the sequences part so they can drag and drop the individual items into the sequence.

Asana integration

Allow employers to automatically add people to Asana teams.

We will need the user id for this from the new hire to complete this. So, just like the Github integration, we need to get this from the new hire through a to do item.

Documenting API and adding token authentication

Sessions are currently being used as the main form as authentication. What needs to be done to enable people to use the Django endpoints from anywhere:

  • Set up token authentication (this is build in in DRF, so it only needs to be enabled)
  • Write documentation for the API endpoints
  • Enable API authentication through environment variables
  • Ability to change CORS (maybe?)

Unable to set Appointments and Introductions to the new hiree's tasks list

We are trying to set up the tasks for the new hirees. We are currently stuck with Appointments and Introductions tasks.

Steps we are following:

  1. Create an Appointment or Introduction from Templates menu.
  2. Go to a new hiree's tasks tab.
  3. Add an Appointment or Introdcution as a task.
  4. Navigate to any other tab in new Hiree's page and return back to Tasks tab.
  5. Appointment or Introduction added using step 3 are not visible.

Provisioning to Heroku fails

Looks like a great app. I'm trying to install on Heroku, following the instructions at https://docs.chiefonboarding.com/Deployment.html#deploying, but it fails very quickly, with the two messages below appearing almost immediately after pressing Deploy app.

`Create app
App creation failed. Please ensure you have valid values in the above form fields.

Configure environment
There was an issue setting up your app environment.

an unexpected error caused the job to fail`

I thought I would test different variables, so I changed the SSL_REDIRECT to false (and changed the Base url to http), and then the app passed the Create app section, and spent several minutes on Configure environment. It then continued on to Build app, with all the logs scrolling by. It took less than a minute for run scripts & scale dynos to finish, and then the green Deploy to Heroku appeared, along with the message, Your app was successfully deployed. Hooray!

However, the View link included the https, not http. And when I follow that link, there is a white rectangular box with a spinning yellow loader. Whether I leave it as https or http, the yellow loader just spins and spins.

So I've gone into the App Settings (under Manage app in the Heroku Dashboard), and have tried changing the config variables back to the original suggestions - using https, and TRUE for directing all traffic to https, then restarted the dyno.

I noticed there was more to the setup, so I did all that. But the last hiccup was that running python manage.py loaddata welcome_message.json all.json in the Console returned an error that there was no organizatio (yes, a missing m).

Anyway, after all this the app was accessible, and a login window replaced the spinning yellow loader. I was able to login, and adjust some of the config variables.

I suppose the main problem was the app failure right at the beginning. I don't how much of a priority the Heroku option is for you, but the same issue might happen for others self-hosting elsewhere. So, you prob wanna see what's causing this failure.

Github Integration

This one is slightly different than the other ones. The Github integration needs some info from the new hire first. Therefore, I think it's best to wait for the new hire to complete a to do item and then react on that. In the ToDo model, we should add a few fields to make this possible.

Perhaps it's also a good idea to mark this to do item in sequences, so the employee is aware that it will trigger the integration.

Let admin decide when accounts are being created

Currently all accounts (Google and Slack at the moment) are created on the day the new hire starts (if this has been enabled). It's better to move this to the sequences and let it handle that. That way, employers can also decide if this account should be created right away, or perhaps on a different day.

The option to create the account manually through the dashboard should still be there, no changes needed there.

Migrations are not run during initial setup

I see RUN python manage.py migrate is commented in back/Dockerfile. Is this intentional? If so, documentation needs to be updated to run docker-compose run web python3 manage.py migrate

Postgres issues

Hello, I'm trying to setup chiefonboarding on a Ubuntu 20 machine with docker. My issue is that the app won't create the Database or tables even though the postgres user has all required permissions and the app connects.

Error: DisallowedHost at Development mode

Source code at Master is returning a:

DisallowedHost at /
Invalid HTTP_HOST header: 'localhost:8000'. You may need to add 'localhost' to ALLOWED_HOSTS.

How could I fix that to test in localhost?

[Bug] Authentication credentials were not provided on clean start

Issue description

  • When cloning the repository and executing only docker-compose up as per documentation says, you can log in through the API successfully, frontend as well, so the 3 containers have been to be running as intended.
  • However, you cannot access anything on the platform, your login request may get through, but the frontend side freezes at login's page because of a request made to /api/org/detail with a message saying Authentication credentials were not provided. Even if you try to disable CSRF verification, it may work on the API side, but the frontend side will deny access.

Environment

  • MacOSX Big Sur 11.4
  • Macbook Pro i9 2019 16GB
  • Docker-desktop 20.10.7
  • Docker-compose 1.29.2, build 5becea4c

If there is a need for more information on this, please feel free to comment on what I should attach or provide in terms of logs or details. Thank you.

Loading Welcome message does not work

Hi @GDay,

When I try to send a new hire the pre-boarding mail with account credentials I get in the error logs:

organization.models.WelcomeMessage.DoesNotExist: WelcomeMessage matching query does not exist.

I tried running the command to insert these welcome messages:

docker-compose run web python3 manage.py loaddata welcome_message.json
This gives back an error CommandError: No fixture named 'welcome_message' found.

Adding the following to the settings.py file fixes the above.

FIXTURE_DIRS=['fixtures']

Dockerfile Duplicate

It looks like https://github.com/chiefonboarding/ChiefOnboarding/blob/master/back/Dockerfile-dev and https://github.com/chiefonboarding/ChiefOnboarding/blob/master/back/Dockerfile are the same.

Automatically add people when they join Slack

Adding people can be quite a bit of manual work. With this, I would like to add the ability to add people into the platform right when they join Slack. This will need more permission from the Slack bot, but I think it will be worth it.
A message would be send to a person to this.

  • Option to add a default sequence to this new hire
  • Option to manually approve new hires (send Slack message to one person) and add buddy/manager

Move preboarding part into sequence

The preboarding part can be removed from the 'Add without trigger' part and added to the 'Add based on trigger' part.

This is part of #25 to remove the 'Add without trigger' part and merge the whole sequence into one bigger thing.

Slack bot not_authed

Hi there,

I configured Slack app via manifest, replacing all needed values with my own URL, added the app to my workspace, and enabled Slack integration in ChiefOnboarding admin panel.

I doublechecked all clientIDs, secrets and such.

When I try to message the bot I get these errors in ChiefOnboarding:

│ Internal Server Error: /api/slack/bot                                                                                                                                                                                                                                                                                    │
│ Traceback (most recent call last):                                                                                                                                                                                                                                                                                       │
│   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner                                                                                                                                                                                                                     │
│     response = get_response(request)                                                                                                                                                                                                                                                                                     │
│   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response                                                                                                                                                                                                                 │
│     response = wrapped_callback(request, *callback_args, **callback_kwargs)                                                                                                                                                                                                                                              │
│   File "/usr/local/lib/python3.9/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view                                                                                                                                                                                                                │
│     return view_func(*args, **kwargs)                                                                                                                                                                                                                                                                                    │
│   File "/usr/local/lib/python3.9/site-packages/django/views/generic/base.py", line 70, in view                                                                                                                                                                                                                           │
│     return self.dispatch(request, *args, **kwargs)                                                                                                                                                                                                                                                                       │
│   File "/usr/local/lib/python3.9/site-packages/rest_framework/views.py", line 509, in dispatch                                                                                                                                                                                                                           │
│     response = self.handle_exception(exc)                                                                                                                                                                                                                                                                                │
│   File "/usr/local/lib/python3.9/site-packages/rest_framework/views.py", line 469, in handle_exception                                                                                                                                                                                                                   │
│     self.raise_uncaught_exception(exc)                                                                                                                                                                                                                                                                                   │
│   File "/usr/local/lib/python3.9/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception                                                                                                                                                                                                           │
│     raise exc                                                                                                                                                                                                                                                                                                            │
│   File "/usr/local/lib/python3.9/site-packages/rest_framework/views.py", line 506, in dispatch                                                                                                                                                                                                                           │
│     response = handler(request, *args, **kwargs)                                                                                                                                                                                                                                                                         │
│   File "/app/slack_bot/views.py", line 86, in post                                                                                                                                                                                                                                                                       │
│     s.send_message(text='You don\'t seem to be setup yet. Please ask your supervisor for access.')                                                                                                                                                                                                                       │
│   File "/app/slack_bot/slack.py", line 112, in send_message                                                                                                                                                                                                                                                              │
│     return self.client.chat_postMessage(channel=channel, blocks=blocks, as_user=True,                                                                                                                                                                                                                                    │
│   File "/usr/local/lib/python3.9/site-packages/slack/web/client.py", line 1077, in chat_postMessage                                                                                                                                                                                                                      │
│     return self.api_call("chat.postMessage", json=kwargs)                                                                                                                                                                                                                                                                │
│   File "/usr/local/lib/python3.9/site-packages/slack/web/base_client.py", line 150, in api_call                                                                                                                                                                                                                          │
│     return self._sync_send(api_url=api_url, req_args=req_args)                                                                                                                                                                                                                                                           │
│   File "/usr/local/lib/python3.9/site-packages/slack/web/base_client.py", line 241, in _sync_send                                                                                                                                                                                                                        │
│     return self._urllib_api_call(                                                                                                                                                                                                                                                                                        │
│   File "/usr/local/lib/python3.9/site-packages/slack/web/base_client.py", line 369, in _urllib_api_call                                                                                                                                                                                                                  │
│     return SlackResponse(                                                                                                                                                                                                                                                                                                │
│   File "/usr/local/lib/python3.9/site-packages/slack/web/slack_response.py", line 194, in validate                                                                                                                                                                                                                       │
│     raise e.SlackApiError(message=msg, response=self)                                                                                                                                                                                                                                                                    │
│ slack.errors.SlackApiError: The request to the Slack API failed.                                                                                                                                                                                                                                                         │
│ The server responded with: {'ok': False, 'error': 'not_authed'}                            

Can someone help ?

Slack login option

Problem

People can only log in through Google or with login credentials. Companies that use the Slack bot, might also want to allow their users to log in through Slack.

Solution

Integrate a Slack log in option on the login page.

  • Add Slack button on the login page.
  • Add option in the settings to disable/enable the login button.
  • Add back end integration for the Slack login part (also see the Google login option as an example - user_auth/views.py).
  • Add environment variables to save client/secret details.
  • Add documentation on how to enable it.

Updating Welcome Message fails

Hi @GDay,

When I try to update the Welcome Message (Pre-boarding email) in the admin portal I get the following error message in my console:

image

error log:
Not Found: /api/settings/email_without/

Not receiving password reset email.

I wasn't able to receive email for new user creation nor password rest.
I used docker compose up and nothing else, was there anything else I need to setup?

ALLOWED_HOST environment variable

Hey guys, I found some issues with the ALLOWED_HOST variable.

It does allow only one value - so I'm kinda forced to use a wildcard (which defeats the purpose) or one specific URL.

Why is it an issue?
When using any type of container orchestrator (as AWS ECS) you have to define a health check for the container to keep track of container state. Most of the health check mechanisms will refer to the container by its IP address, which will result in HTTP 400 Bad Request (because an actual IP address is not listed in the ALLOWED_HOSTS list). Few unsuccessful checks in a row result in terminating the container.

How can it be solved?
Rename ALLOWED_HOST to ALLOWED_HOSTS (I wasted a lot of time because of this naming) and parse it into a list, so I, as an admin, can actually provide more than one host header to be allowed.

Besides that, it would be cool to have a /health endpoint to serve as a health check endpoint. It'd return a simple 200 OK response.

Disable Google login option when Google is not set up.

Currently, people can enable the Google login feature even when they haven't added the OAuth credentials in the settings yet. This should be fixed by disabling the Google login option in the settings until the details have been added.

Docker setup - Configuring sendgrid email

Have set the env variables like below:

ANYMAIL=True
DEFAULT_FROM_EMAIL=<some_valid_email>
SENDGRID=True
SENDGRID_KEY=<some_valid_key>

and restarted the docker container. Still emails are not working.

Getting 500 error for api/users/new_hire/4/send_login_email endpoint. Not able to see logs also.

Am I missing anything?

SMTP

Can you please add smtp support as email provider?
I have no access to any email provider and I am using my own smtp servers.
I love ChiefOnboarding!

Login not working

Chiefonboarding docker application is running and up which has been done proxy through nginx on ssl able to see the frontend screen but login not working with the user that has created earlier and in developer console error shows 400 bad request for api post login

django.core.exceptions.ImproperlyConfigured: Set the SECRET_KEY environment variable

Hi,

I am getting:

2021-06-03T22:57:45+01:00 docker web[22644]: django.core.exceptions.ImproperlyConfigured: Set the SECRET_KEY environment variable
2021-06-03T22:57:47+01:00 docker web[22644]: /usr/local/lib/python3.9/site-packages/environ/environ.py:637: UserWarning: Error reading back/.env - if you're not configuring your environment separately, check this.

and the same in the celery container. I'm sure its something dumb I'm doing but I cannot figure it out!

I know my .env file is being read by the compose service as I am setting COMPOSE_PROJECT_NAME=chiefonboarding_footest (and the resulting stack is called 'chiefonboarding_footest').

Also please kindly consider creating a demo docker example that just works - it allows people to try your cool looking app much easier! What I mean by this is applying some KISS:

  • remove the caddy dependency (if someone is trying this, there is a good chance they already have a reverse proxy running themselves)
  • remove the depenency on .env files (which are currently not even supported in Portainer 2.5 so nobody using Portainer can deploy your app)
  • redis and celery? What volumes of people are being onboarded here exactly!? :)
  • it's welcome to have the database seperate, so this is great
  • organization name from last steps could easily be an env variable
  • 'Last steps' - a common method is to detect a first run (by connecting to the database and seeing no tables) and create and set up test data as part of the database initlisation

Basically look at any linuxserver docker stack example on how to make an app accessible for the masses.

Thanks!

Error accessing from browser

Hello
Finally successful installation with no errors but encountered this issue when access it from browser, would you care to shed the light please?

Many thanks
Jim

image

Move introductions into sequences

Allow employees to show the introductions on whatever day they want. Some might also want to introduce some people day by day.

This will need some changes to both the Slack integration and the online portal.

Only allow Google login access

Problem

Some organizations might want to make it mandatory to login with Google. Currently, the log in view will always display the username/password form to allow people to log in with login credentials. A company can only add the Google login button as an extra option to login - they are not able to replace the login part with just the Google login button.

Solution

Make all login options optional (but at least one needs to be checked, because they still need to be able to log in). The best solution will probably be a list of check boxes - which would also be easy to extend with new login options.

  • Make changes in the settings of the app (front end - nuxt - settings) to allow people to check the options they want to enable. Prevent selecting no login option.
  • Make changes the login view to represent the selected login options.
  • Make changes to the back end to disable/enable login options on the server side, based on the settings. This should be done to ensure that no one can log in through disabled options. (See user_auth/views.py)

Move resources loaded from a CDN to local

Problem

Loading resources from content delivery networks could result in privacy issues. Next to privacy, safety could also be improved by removing the external resources.

Solution

Import the resources from the assets in the app itself instead of relying on the CDN. There are currently four resources that rely on external servers.

These are the links that should be replaced by local files:

https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap
https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons
https://use.fontawesome.com/releases/v5.0.13/css/all.css
https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css

Remove callback url in Slack forms

Problem

Take a look at point 7: https://docs.chiefonboarding.com/integrations/Slack.html#slack-bot and in the next chapter point 4.

People need to fill in the URL callback for the Slack integrations. This is actually not necessary, as those URLs are fixed.

Solution

Documentation
Remove those steps in the documentation
Software
We obviously don't know the YOURDOMAIN part, but this could be easily fixed by using the BASE_URL from the settings.

  1. Remove fields from the modals when setting up the integration
  2. When forming the integration Slack url, replace the redirect_url with one that is generated based on the BASE_URL.

Installation error

Hello
I have always encountered issue at chiefonboarding/front

npm install
always throwing errors, could you please help?

many thanks

gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/ubuntu/chiefonboarding/front/node_modules/@nuxtjs/v
uetify/node_modules/fibers/build'
gyp ERR! System Linux 5.3.0-1023-aws
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--r
elease"
gyp ERR! cwd /home/ubuntu/chiefonboarding/front/node_modules/@nuxtjs/vuetify/node_modules/fibers
gyp ERR! node -v v14.5.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok

gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/ubuntu/chiefonboarding/front/node_modules/@nuxtjs/v
uetify/node_modules/fibers/build'
gyp ERR! System Linux 5.3.0-1023-aws
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--r
elease"
gyp ERR! cwd /home/ubuntu/chiefonboarding/front/node_modules/@nuxtjs/vuetify/node_modules/fibers
gyp ERR! node -v v14.5.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node build.js || nodejs build.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Many thanks
Jim

Error reading back/.env - if you're not configuring your environment separately, check this

Probably heavily related to #77

The error message is:

chiefonboarding             | /usr/local/lib/python3.9/site-packages/environ/environ.py:637: UserWarning: Error reading back/.env - if you're not configuring your environment separately, check this.

My .env file shows this:

SECRET_KEY=secret1
POSTGRES_PASSWORD=secret2

and then I'm inserting the variables inside the docker-compose.yml via ${SECRET_KEY}

After reading Issue #77 and seeing the improvements here I still run into problems.
I did quite some changes on the docker-compose file to use the .env file to have the passwords not into the docker-compose.yml file itself.
I guess the error I am getting is somehow related using this .env file.

Bonus question:
Why define the Docker network with the name global?

Ability to create templates directly from sequence

Currently, you can only create custom items through the sequence. You can't save them, so you can't use them again later on. There should be a checkbox/switch that can be checked/turned on to automatically save the new item as a template for future use.

Remove the 'Add without trigger' part in sequences

To make things easier, we could eliminate the whole 'add without trigger' part in the sequences section by moving all items to the 'add based on trigger' part of the sequences area. This will make it a lot easier to work with. Appointments will probably need to be removed completely.

Permissions Error when starting the the nuxt container

Steps to reproduce:

  1. Clone main branch
  2. rename back/back/.env.example to back/back/.env
  3. build the images
  4. run docker-compose up

Expected outcome

Containers start normally

Actual outcome

nuxt container crashes because of a permissions error

Attaching to chiefonboarding_nuxt_1
nuxt_1         | 
nuxt_1         | > [email protected] postinstall
nuxt_1         | > npm run build && node ./postinstall.js
nuxt_1         | 
nuxt_1         | glob error [Error: EACCES: permission denied, scandir '/root/.npm/_logs'] {
nuxt_1         |   errno: -13,
nuxt_1         |   code: 'EACCES',
nuxt_1         |   syscall: 'scandir',
nuxt_1         |   path: '/root/.npm/_logs'
nuxt_1         | }
nuxt_1         | 
nuxt_1         | > [email protected] build
nuxt_1         | > nuxt build
nuxt_1         | 
nuxt_1         | sh: 1: nuxt: not found
nuxt_1         | npm ERR! code 127
nuxt_1         | npm ERR! path /var/www/app
nuxt_1         | npm ERR! command failed
nuxt_1         | npm ERR! command sh -c nuxt build
nuxt_1         | npm notice 
nuxt_1         | npm notice New patch version of npm available! 7.0.3 -> 7.0.5
nuxt_1         | npm notice Changelog: <https://github.com/npm/cli/releases/tag/v7.0.5>
nuxt_1         | npm notice Run `npm install -g [email protected]` to update!
nuxt_1         | npm notice 
nuxt_1         | npm ERR! code 127
nuxt_1         | npm ERR! path /var/www/app
nuxt_1         | npm ERR! command failed
nuxt_1         | npm ERR! command sh -c npm run build && node ./postinstall.js
nuxt_1         | 
nuxt_1         | npm ERR! A complete log of this run can be found in:
nuxt_1         | npm ERR!     /root/.npm/_logs/2020-10-23T19_28_18_252Z-debug.log

Possibly node image runs a the node user or something while the Dockerfile uses the root user to build.

Issue with Docker Deployment

Let me preface this with I have no doubt it is something I am doing wrong, or simply misunderstanding but I am having an inordinate amount of trouble getting this to deploy to our local docker host and to be able to access it.

I have tried a modified config for what our usual deployments are as per our other apps, but without success on this I have gone to basically copy-pasting the supplied docker-compose.yml file into the system (changing only the base URL and allowed hosts config, I think it is these that may ultimately be contributing to my issue) but without success (we do not use caddy but another system for our reverse proxying (NGINX based) but simply exposed caddy on non-standard ports and tried this for good measure). I have tried straight HTTP as well as HTTPS and direct to what should be exposed port. I do get this error consistently

[17] [INFO] Booting worker with pid: 17
/usr/local/lib/python3.9/site-packages/environ/environ.py:637: UserWarning: Error reading back/.env - if you're not configuring your environment separately, check this.
warnings.warn(

Yes the error simply cuts off

depending on the exact configuration (based upon the changing of the Base URL and Allowed Hosts variables) I will get a report in the log simular to this after a while but still no response

[Q] INFO Q Cluster hydrogen-high-low-sierra running.

Any help would be appreciated

Sequences add page and appointment add page are not showing

Somehow those pages don't render correctly. I suspect the issue is with building the source. I just pushed a quick fix to the master of which I thought would solve this issue, but it hasn't so far.
I haven't been able to reproduce it in the local/dev environment, but I was able reproduce it in the production environment. I am looking into this, it's definitely a weird one.

Make Google account email customizable

When a new Google account is created, an email is being send out to the new hire with the details for that. This message is not customizable at the moment. It's a plain text email message, which can be seen here: https://github.com/chiefonboarding/ChiefOnboarding/blob/master/back/integrations/emails.py#L10

This should be customizable, while still keeping the email and password fields. This could go directly under settings, I don't think this will have to be customizable for individual new hires.

Deploy to DigitalOcean

Hello

I am having a ton of issues deploying in a DigitalOcean droplet, I've set everything up as best I could but I am consistently getting an error with the caddy file (essentially docker is not recognising the Caddyfile is a file, and not a directory) I spent way too long trying to fix it but kind of gave up

Is there a way to add a Deploy to DigitalOcean button? (like https://docs.digitalocean.com/products/app-platform/how-to/add-deploy-do-button/)

Kind of like the one you have for Heroku?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.