TaskCollect
Toggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

Deployment

Get started

Deployment dependencies:

  • Redis 7

From here, deployment is simple:

  1. Copy the contents of the res/ folder into $home/res/taskcollect/ where $home is the current user’s home directory. You can either do this manually or use the build script. Invoke the build script using the -u flag to both build TaskCollect and copy the contents of the res/ folder, or use the -U flag to copy the res/ folder without building.

  2. Obtain a Google OAuth 2.0 client ID and save it to $home/res/taskcollect/ (see Google OAuth client ID for more info)

  3. Run the program for your OS and CPU.

When using TaskCollect in development, you may specify the -w flag to run the server without TLS. However, you should be using TLS in production.
  1. If running for the first time, you will also need to set up a Redis server. You must ensure you are Redis 7 as no other version will work. Ensure that the Redis server is running and unexposed to the network before you run TaskCollect.

  2. TaskCollect will ask you for a passphrase to the running Redis server. If you have not set up a password for Redis, it is sufficient to press enter/return at this prompt, and the TaskCollect web server will start. Otherwise, enter the password you configured for Redis to start the web server.

Security

TaskCollect starts a web server on TCP port 443 by default. If the -w flag is specified, thus running the server without TLS, then port 8080 will be used.

TaskCollect and its host system should be protected by a strong firewall to prevent damage from bad actors. In particular, the firewall should prevent overly frequent requests to TaskCollect, as some APIs that TaskCollect uses enforce a stringent request rate limit. Those deploying TaskCollect should additionally request higher request rate limits for the Google Classroom API to avoid having “ratelimit exceeded” errors.

Google OAuth client ID

TaskCollect requires a Google OAuth 2.0 client ID file in order to authenticate to the Google Classroom API. An OAuth 2 client ID may be obtained from the Google Cloud Console with a valid Google account. The client ID must be made with the permitted access origin set to the server URL(s) (e.g. https://taskcollect.io) and the redirect URL set to the server URL(s) with /gauth appended (e.g. https://taskcollect.io/gauth).

Fonts

TaskCollect requires two WOFF2 font files (for the “Lato” and “Red Hat Display” fonts to be present in its resources folder. The build script will automatically transfer the font files.

The main interface font uses Lato Regular, and is called mainfont.woff2. The font used for the navigation bar is Red Hat Display Medium, and is called navfont.woff2. Both of these fonts are expected to be in ~/res/taskcollect.