Skip to content

Latest commit

 

History

History
76 lines (54 loc) · 3.85 KB

File metadata and controls

76 lines (54 loc) · 3.85 KB

Deployment

Warning

We do not provide any compatibility guarantee across major versions. The database schema may change between them, so you should only update the app within a major version, e.g., v1.0 to v1.1, not v1.1 to v2.0.

Azure (recommended)

This system runs fine on a Linux "B1" Azure instance, which is the cheapest non-free option.

Create a new "Web App".

Select, in this order:

  • Publish: Container
  • Operating System: Linux
  • Region: (wherever is closest to your event)
  • Resource Group: Create new
  • Linux Plan: (leave as (New) ...)
  • Pricing plan: Basic B1
  • Name: (whatever you want to name it)

In the tabs at the top, select "Container", and:

  • Sidecar support: Disabled
  • Image Source: Other container registries
  • Access Type: Public
  • Registry server URL: https://ghcr.io
  • Image and tag: lauzhack/eventmanager:version-1 (or another version)
  • Startup command: (leave empty)

Click on the "Review+Create" button at the bottom, double-check, then click on the "Create" button.

Go to the created web app once deployment is done, and in the left menu go to "Settings" > "Environment variables", set WEBSITES_ENABLE_APP_SERVICE_STORAGE to true. Click on the "Apply" button, then again the bottom "Apply" button for all variables, then confirm.

If you want a custom domain name, now's the time to configure it. The system uses cookies for authentication, so configure your domain name before you configure the first admin.

Finally, go to "Overview" and click "Restart" at the top. Wait a little, then open the web app (through the custom domain name, if using).

Deploy a fork

If you're forking this repo anyway, the easiest way to deploy it is via Azure's GitHub deployment from source code. Sign in with GitHub inside Azure, pick your fork, and Azure will automatically add a GitHub Action that deploys the website at every change.

Important: when deploying from source code you must set the "startup command" in Azure's web app properties to dotnet /home/site/wwwroot/EventManager.Web.dll.

Cost

You need hosting and an email provider (see below). Both are fairly cheap for the scale of this system, as you should only need the cheapest non-free plan. As an example, LauzHack uses this system for around 3 months for its main event that accepts over 300 people from over 1,000 applications, and we end up paying around 50 CHF total for Azure's basic web app hosting and Brevo's simplest tier.

Tips

Email providers: Use a service such as Brevo to send emails, unless your event is extremely small. You will get banned from normal email providers such as GMail if you try to use an "individual" email account for the amount of emails generated by this system when reaching 100s of applicants.

Application, not registration: Do not link to this system with a button titled "Register now", for instance, since some people will assume it means they're accepted as soon as they finish applying, and may take unfortunate steps such as booking flights even though they eventually get rejected.

FAQ

What's soft rejection for? The typical use is when an applicant is rude or otherwise behaves unacceptably, and you want to make sure they will not be accepted. While you could immediately reject them, this can lead to people arguing endlessly with you about it. For minor offenses, it's easier to mark them as soft rejected so they'll be rejected at the same time as everyone else.

What are ownership rights for? It's much easier during an event if you can give admin rights to any staff who might need to interact with participants, by not giving them ownership rights you avoid human mistakes like a staff accidentally opening applications.

Can I export the challenges and projects gallery? Yes, save them to an HTML file through your browser. The pages are 100% self-contained, including images.