diff --git a/website/build.js b/website/build.js index d1a0e76..92c8f07 100644 --- a/website/build.js +++ b/website/build.js @@ -179,11 +179,13 @@ function storeHTML( html, filepath ) {
- - -This is the most feature rich admin page of libreevent. Here you can change everything regarding an event.
Creating new events is as simple as clicking the plus icon in the top right corner and following the prompts.
@@ -26,8 +27,9 @@Describe what your event is about. It will be displayed underneath the event name when users are browsing your events. In the browsing view, the length of the description is limited to 150 characters, after which three dots will be added to the text and a 'continue reading' button will be added. Technically, there's no limit to the length of the event description, but don't overdo it with the length, as the user is unlikely to read more than a couple words anyway.
Choose a location where your event is going to take place. You can do so by selecting an existing location from the dropdown or by adding a new one. In the same step, you'll also need to choose between a seat plan and no seat plan, and if you choose a seat plan, you'll need to create one using out handy seatplan editor. See our seatplan editor guide here
+Choose a location where your event is going to take place. You can do so by selecting an existing location from the dropdown or by adding a new one. In the same step, you'll also need to choose between a seat plan and no seat plan, and if you choose a seat plan, you'll need to create one using our handy seat plan editor. See our seat plan editor guide here
The admin panel is where you can change basically everything about libreevent. It can be reached by visiting your libreevent instance and at the end type '/admin'. Example: 'https://libreevent.janishutz.com/admin' (note that this is not a valid URL!)
Here's a list of the pages available when logged in as the root user.
@@ -32,6 +33,7 @@libreevent allows you to create an infinite amount of locations where you can host events in. These locations all can have a seat plan - or not. This is entirely your choice. You may use libreevent's powerful seat plan editor to edit the seat plan if you choose to add one. All of the locations can be assigned to one or multiple events such that you do not waste any time creating seat plans when it is not necessary.
+libreevent allows you to create an infinite amount of locations where you can host events in. These locations all can have a seat plan - or not. This is entirely your choice. You may use libreevent's powerful seat plan editor to edit the seat plan if you choose to add one. All the locations can be assigned to one or multiple events such that you do not waste any time creating seat plans when it is not necessary.
With the page editor you can easily create the start page (the landing page, so the page that gets displayed when the user visits the website). You may select one of a few templates which you can choose here. Then you should upload the promotional text and a few images. The image count depends on the template selected. If you want to use a more feature rich start page, you can create a custom HTML start page. If you need even more customization, please consider moving libreevent to a sub-domain and building a complete website on the main domain. You can get beautiful fully custom websites built for you here.
+With the page editor you can easily create the start page (the landing page, so the page that gets displayed when the user visits the website). You may select one of a few templates which you can choose here. Then you should upload the promotional text and a few images. The image count depends on the template selected. If you want to use a more feature rich start page, you can create a custom HTML start page. If you need even more customization, please consider moving libreevent to a subdomain and building a complete website on the main domain. You can get beautiful fully custom websites built for you here.
libreevent can be extended easily with plugins. Plugins add additional features and can be official or community made. When installing plugins, you need to remember that a server restart is required to activate the plugins as libreevent does not feature hot module loading (yet). You then can manage the plugins using their built-in settings page that they ship with.
Please only install plugins from sources you trust!
You may read on about plugins and how to install them here.
The seatplan editor is a graphical editor where you can create and modify the seating plan of virtually any room. We recommend that you start in the top left corner of the seatplan and then move down diagonally, as it is the easiest to do. Each so-called component can be either a stand area, a stage area or a seating area, with each of them featuring different layouts. You can change everything in the properties pane.
+The seat plan editor is a graphical editor where you can create and modify the seat plan of virtually any room. We recommend that you start in the top left corner of the seat plan and then move down diagonally, as it is the easiest to do. Each so-called component can be either a stand area, a stage area or a seating area, with each of them featuring different layouts. You can change everything in the properties-panel.
You may add more components by simply clicking the plus icon in the toolbar of the editor. The component will spawn in the top left corner of the seatplan and the view will automatically be moved towards it.
+You may add more components by simply clicking the plus icon in the toolbar of the editor. The component will spawn in the top left corner of the seat plan and the view will automatically be moved towards it.
You may remove components by clicking the trash icon or by hitting 'delete' on your keyboard.
The editor features undo and redo functions such that you can undo your mistakes and accidental undos can be reverted. Just hit the corresponding button in the toolbar or use the keyboard shortcuts Ctrl + Z for Undo and Ctrl + Y for Redo.
+The editor features undo and redo functions such that you can undo your mistakes and accidental undo can be reverted. Just hit the corresponding button in the toolbar or use the keyboard shortcuts Ctrl + Z for Undo and Ctrl + Y for Redo.
This property can be used to tell the system in which order to number seats in. You can start at one for every time the numbering should start at 1 again. Just keep in mind that for optimal results, you should use a different sector whenever setting the component number to 1 again as otherwise there might be two seats 1 in a sector which can lead to confusion for the customer. You will be notified if there's such a conflict before deploying the seat plan.
+This property can be used to tell the system in which order to number seats in. You can start at one for every time the numbering should start at 1 again. Just keep in mind that for optimal results, you should use a different sector whenever setting the component number to 1 again as otherwise there might be two seats 1 in a sector which can lead to confusion for the customer.
Example: You've got a seat plan which has 4 seat components. These 4 components are grouped into two different sectors. Now, for the component where the seat numbering should start for each sector, set the component number property to 1. This will tell the system to start numbering the seats from this component. You may also choose the numbering direction with the option right below called 'Numbering direction'.
The editor does auto-save a draft every minute. Pressing Ctrl + S or hitting the Save button in the toolbar will immediately save the seatplan as a draft. Click the deploy button to save the seatplan permanently, irreversibly overwriting any potentially existing old seatplan of that location, except you change the location name after the fact.
+The editor does auto-save a draft every minute. Pressing Ctrl + S or hitting the Save button in the toolbar will immediately save the seat plan as a draft. Click the "deploy" button to save the seat plan permanently, irreversibly overwriting any potentially existing old seat plan of that location, except you change the location name after the fact.
You can require the users to enable Two-Factor Authentication when confirming their email. The following settings are available:
@@ -46,7 +47,7 @@ The following settings are available:This setting allows you to change the currency in which you want your customers to pay. The code has to be a valid ISO 4217 currency code. See more here (Wikipedia). This setting defaults to USD.
The ticket timeout setting allows you to specify for how much time of inactivity the ticket is reserved for a user. The value is to be entered in seconds. The database is parsed every five minutes by default (can be changed in the config file) and, if the threshold set here is exceeded, the session is garbage collected and all tickets selected are returned to the available tickets pool.
+The ticket timeout setting allows you to specify for how much time of inactivity the ticket is reserved for a user. The value is to be entered in seconds. The database is parsed every five minutes by default (can be changed in the config file) and, if the threshold set here is exceeded, the session is garbage-collected and all tickets selected are returned to the available tickets pool.
With this setting, you can select the payment gateway to use. You may follow the link here to get more information on the payment gateway. You need to hit save to enable editing for the gateway settings.
@@ -96,8 +97,9 @@ The following settings are available:You can update the username and the password of any admin account by clicking onto it.
You can delete an admin account by right clicking on it (yes, right click) and hit delete. Confirm again that you want to delete the account and then it's gone.
+You can delete an admin account by right-clicking on it (yes, right click) and hit delete. Confirm again that you want to delete the account, and then it's gone.
If you would like to contribute code to libreevent, we'd like you to follow the following guidelines.
Everything in libreevent should be designed in a way that puts legibility and ease of use as its priority, instead of opting for special effects that are, undeniably, nice, but do not contribute to improved usability and, as every effect needs some lines of code, also wastes bandwidth that is very limited if a lot of people access the sites simultaneously.
All color used in libreevent should be a color variable that is defined in the App.vue files which means those colors can be changed easily in the future or as part of switching to dark mode. When designing something, please avoid adding more colors whenever possible.
You are interested in helping develop this project to make it even better? Then let us show you, how you may help and what you should keep in mind!
You may contribute to any of the following things (list is not exhaustive):
@@ -45,6 +46,7 @@Before you start coding, please make yourself familiar with the code of conduct and the linter settings. Another thing that is not required, but certainly a good idea is to open an issue on our GitHub to have a discussion about the changes you want to make so that you don't waste your time, if the thing you want to do is not something we feel like is necessary.
libreevent has a very simple packaging script built in, it's called package.sh and can be run on any bash-compatible shell. This is another thing that should be improved: Add a batch script for the same purpose, it makes Windows user's life so much easier!
You can just run the script in a terminal by typing
./package.sh
@@ -30,6 +31,7 @@
in the src/server, src/webapp/main and src/webapp/setup directories. This creates the node_modules folder in each of those directories. This is also what you need to do, if you want to upload the development version of libreevent.
If you wish to contribute plugins and have them accepted into the official repository then your plugin has to:
A 400 error is returned if the request that was sent to the server is invalid, contains illegal characters or has any other kind of formatting error. This can most of the time be resolved by starting a new request.
A 403 error is returned if you are unauthorised to view a certain page or resource. This can mostly be solved by logging in using the login page.
+A 403 error is returned if you are unauthorized to view a certain page or resource. This can mostly be solved by logging in using the login page.
A 404 error is returned if the page was not found on the server. This can be either due to a wrong link or a badly configured server, but is mostly user error, so a misspelled link.
An internal server error occurs when the server is unable to properly process a request, which in some cases might also return a 400 error, if the server first decides that the request is unacceptable.
Including many payment methods can help the user choose the one that fits them best, but can also be overwhelming and a pain to set up. So please try to use as few different payment gateways as possible. Officially, libreevent supports Stripe and Payrexx. More payment gateways might come in the future as a plugin which can be installed by following our guide here -Please use our cost efficiency calculator here to see which is best suited for you.
+Including many payment methods can help the user choose the one that fits them best, but can also be overwhelming and a pain to set up. So please try to use as few different payment gateways as possible. Officially, libreevent supports Stripe and Payrexx. More payment gateways might come in the future as a plugin which can be installed by following our guide here
Payrexx is a Swiss payment gateway and it features a massive variety in payment methods, ranging from various kinds of credit cards all the way to specific online payment methods. See all their payment methods here. +
Payrexx is a Swiss payment gateway, and it features a massive variety in payment methods, ranging from various kinds of credit cards all the way to specific online payment methods. See all their payment methods here. See payrexx pricing here and sign up here. You can find a full list of supported payment methods here
Stripe is one of the most well known payment gateways out there and it is really easy to get started. See all their payment methods here. If you choose to use Stripe, you may follow their guides on how to set up more payment options here See here for pricing information and sign up here
libreevent features exensive plugin support, with all internal libreevent libraries also working together with plugins. This though poses a potential risk if the user is installing harmful plugins. This is why there is a curated list of secure plugins that the users might use here
+libreevent features extensive plugin support, with all internal libreevent libraries also working together with plugins. This though poses a potential risk if the user is installing harmful plugins. This is why there is a curated list of secure plugins that the users might use here. Note that with one of the next major versions, libreevent's plugin API will change and break all plugins in their current form.
Installing plugins currently isn't easy. We expect you to know how to upload files to a server. If you don't know, a guide on how to upload things can be found in the setup guide which is meant for beginners
You can install a new plugin by navigating to the libreevent directory on the server and then by navigating to /backend/plugins/others and uploading the plugin folder into there. Now, restart libreevent.
Use this plugin to keep people updated about what you do and drive up revenue by doing so. This plugin features a WYSIWYG (What you see is what you get) newsletter editor to create the newsletter.
The polls plugin allows you to ask users about their ideas for e.g. what DJ to hire or what drinks to order. They can make suggestions and vote on suggestions.
In this tutorial, you are going to learn how to set up and configure libreevent.
-Installing libreevent will take you about 2 hour, if you have never made anything similar before. If you don't want to deal with the installation, you may contact us here, so we can set it up for you.
+Installing libreevent will take you about 2 hour, if you have never made anything similar before. If you don't want to deal with the installation, you may contact us here, so we can set it up for you.
Let's begin the installation here!
Let's begin with setting up libreevent! If you are not technically savvy or want somebody else to set it up for you, please contact me here. If you want to set it up yourself, read on below! Soon, there will also be a video tutorial available.
+Let's begin with setting up libreevent! If you are not technically savvy or want somebody else to set it up for you, please contact me here. If you want to set it up yourself, read on below!
Choosing the right hosting provider is not easy, especially since libreevent requires node.js. Therefore, we've listed a few really good options. Whatever hosting provider you end up going with, it is important that they explicitly list Node.js as a feature of that hosting account. All hosting providers below also include MySQL which is beneficial to have and a must-have when you are expecting to sell a lot of tickets simultaneously. This website here is hosted by asurahosting. Note: I may receive a small commission when you buy webhosting using one of the links provided below. This won't affect the price you pay.
+Choosing the right hosting provider is not easy, especially since libreevent requires node.js. Therefore, we've listed a few excellent options. Whatever hosting provider you end up going with, it is important that they explicitly list Node.js as a feature of that hosting account. All hosting providers below also include MySQL which is beneficial to have and a must-have when you are expecting to sell a lot of tickets simultaneously. This website here is hosted by asurahosting. Note: I may receive a small commission when you buy webhosting using one of the links provided below. This won't affect the price you pay.
Affiliate programs: TODO: Sign up -https://affiliates.hostinger.com/users/signup/ -https://www.a2hosting.com/about/affiliate-program/ -https://www.digitalocean.com/go/affiliates
+We are going to start off by downloading libreevent. On this website, open the navigation menu and head to "Downloads". (We would strongly suggest that you open the link in a new tab by right clicking on the link and hitting "Open in new tab"). Below, hit the download button. This will download a production ready build of libreevent as a zip file. Save it to any convenient location. Head there and extract the zip-Archive (On windows, right click, extract; On MacOS, just double click; on Linux, there is either a zip utility installed or otherwise use the unzip utility in the terminal).
+We are going to start off by downloading libreevent. On this website, open the navigation menu and head to "Downloads". (We would strongly suggest that you open the link in a new tab by right-clicking on the link and hitting "Open in new tab"). Below, hit the download button. This will download a production ready build of libreevent as a zip file. Save it to any convenient location. Head there and extract the zip-Archive (On Windows, right click, extract; On MacOS, just double click; on Linux, there is either a zip utility installed or otherwise use the unzip utility in the terminal).
libreevent uses what we call a setup key. You need to set this manually, as it needs to be different for every install because otherwise the whole point of this setup key is to prevent unauthorized access to the setup program. The setup will be disabled once you have first completed it.
To set the setup key, navigate to the extracted libreevent folder and open it. In there you should find a file called "setupkey.txt". Open it up and add any random assortment of characters and numbers in there. What we recommend is that you just roll your hand over your keyboard in any way you like as this generates a very much unpredictable assortment of characters. Then, hit Ctrl + S (or Command + S on MacOS) to save the file. We would recommend leaving this file open, as you will need the setup key at a later point.
It is now time to upload libreevent to your webhosting account. The recommended way of doing this is to download an FTP client like "FileZilla" and to connect to the hosting account in that way using the credentials provided by the hosting provider. In this guide we assume you use this way.
-Download and install FileZilla for Windows (64-bit), for MacOS or for Linux (available in all major distro repos). It is a free and open source FTP client. Open it and you will see a few empty fields towards the top of the app. There you will need to fill in the information given by your hosting provider. Usually, the Host is ftp.yourDomain.com, the username and password are usually your admin account credentials and the port is usually 25552 or can be left empty. Then hit quick connect. At this point, a SSL warning might appear, as the certificate might not (yet) be configured correctly to also include FTP. Accept the certificate and you should be connected.
-Now create a new folder called "libreevent" by right clicking onto the empty space on the right pane (where it says "remote site") and selecting "create directory". Then on the left side (where it says "local side" navigate to the extracted libreevent folder and upload its contents by selecting it and right clicking to hitting "Upload"). Once that process is completed, you should be set to go to the next session.
-IMPORTANT: Never upload libreevent into any public_html folders ever! This poses a SEVERE security risk and, if a JSON database is used, exposes ALL userdata to the internet! Always upload to a non-publicly accessible folder!
+Download and install FileZilla for Windows (64-bit), for MacOS or for Linux (available in all major distro repos). It is a free and open source FTP client. Open it, and you will see a few empty fields towards the top of the app. There you will need to fill in the information given by your hosting provider. Usually, the Host is ftp.yourDomain.com, the username and password are usually your admin account credentials and the port is usually 25552 or can be left empty. Then hit quick connect. At this point, an SSL warning might appear, as the certificate might not (yet) be configured correctly to also include FTP. Accept the certificate and you should be connected.
+Now create a new folder called "libreevent" by right-clicking onto the empty space on the right pane (where it says "remote site") and selecting "create directory". Then on the left side (where it says "local side" navigate to the extracted libreevent folder and upload its contents by selecting it and right-clicking to hitting "Upload"). Once that process is completed, you should be set to go to the next session.
+IMPORTANT: Never upload libreevent into any public_html folders ever! This poses a SEVERE security risk and, if a JSON database is used, exposes ALL user data to the internet! Always upload to a non-publicly accessible folder!
This project relies on a variety of different node.js modules that need to be installed on the server. Most webhosting providers give you an easy way to run npm install. If not, you might be required to upload the node_modules folder yourself. You can create such a folder either by downloading the node_modules.zip folder from the Download page or by installing npm on your local machine and then by running npm i in the terminal.
To set up the node application in most hosting providers, head to the admin panel of your hosting account once again. Navigate to the main page and scroll down until you find something that says "Setup Node.js App". Click it and wait for it to load. Click "Create Application" and select the newest available Node.js version and set the Application mode to "Production". For the application root insert the directory name which you have created just before when uploading.
For the Application URL field, click onto "Choose any value" and select an appropriate domain.
For the Application startup file type "app.js".
In the section "Environment variables" hit "Add Variable" and in the appearing fields type beneath "Name" the following: "PORT" (without the quotes!) and under "Value" "8080" (again without quotes). Then hit done and at the top "create". If you end up on the start page again, hit the little pencil icon to get to the application editor. Scroll down to the "Detected configuration files" section and click "Run NPM Install". Once it shows a success message (at the top!), hit "Restart".
-CONGRATULATIONS! You are all set with the installation of libreevent! Now open a new tab in your webbrowser and type your domain name. If you can connect to your domain and libreevent is accessible, you are all set!
+CONGRATULATIONS! You are all set with the installation of libreevent! Now open a new tab in your web browser and type your domain name. If you can connect to your domain and libreevent is accessible, you are all set!
You may now continue reading the Setup guide
Here are some tips for the most common problems that might arise from the installation
@@ -61,7 +59,7 @@ https://www.digitalocean.com/go/affiliatesIf this error occurs, most likely, the Node.js build of your hosting provider is set to small-icu mode, meaning some localizations are missing, one of which is ascii, which is required by the pdf generator that libreevent uses. To resolve this, you will need to download a special package.json file and add two (more) environment variables:
NODE_ICU_DATA=./node_modules/full-icu
@@ -69,8 +67,9 @@ FULL_ICU_PREFER_NPM=true

Please click here to head to GitHub and open a new issue. You will need to have a GitHub Account to open an issue. If you don't have a GitHub account, you may also contact me using my Bug reporting tool.
+Please click here to head to GitHub and open a new issue. You will need to have a GitHub Account to open an issue. If you don't have a GitHub account, you may also contact me using my Bug reporting tool.
As soon as you have completed setting up libreevent, there are some things you want to change on the admin panel. First off, you want to create an event location and an event. Secondly, you may want to customize the start page, which you can do in the pages settings on the admin panel. You may find documentation for this here. Lastly, you need to configure and set up a payment gateway in order for you to accept payments. Additionally, have a look around on the admin panel to change settings where you see fit.
Whilst libreevent uses modern security features, no Software is perfect when it comes to security. This is why it is important to keep libreevent updated, as potential security issues are addressed with them, as well as potential bugs. Next to that, an incorrectly set up instance of libreevent might pose a security problem, but we try to make the attack surface as small as possible. The most significant security risk that can arise from improperly setting up libreevent is not using HTTPS for the server.
For simplicity reasons, libreevent does not (yet) natively support SSL-Certificates. This is why libreevent should be put behind a reverse proxy to ensure that all users use SSL (Secure Sockets Layer) or TLS (Transport Layer Security) when connecting to it. Most webhosting plans are already behind a reverse proxy, you will just need to force a HTTPS redirect in the settings of the admin panel of the webhosting account. If you are manually deploying libreevent on a server without a reverse proxy, we urge you to use a reverse proxy with e.g. nginx or apache. There are a lot of guides out there on how to set a such up. Please also get yourself a Certificate for your domain and activate it. A common methods for acquiring such Certificates is to use the "Certbot" CLI application on Linux. It works with both apache and nginx and can automatically renew the certificate for you once it expires if set to run on a cronjob (highly recommended).
+For simplicity reasons, libreevent does not (yet) natively support SSL-Certificates. This is why libreevent should be put behind a reverse proxy to ensure that all users use SSL (Secure Sockets Layer) or TLS (Transport Layer Security) when connecting to it. Most webhosting plans are already behind a reverse proxy, you will just need to force a HTTPS redirect in the settings of the admin panel of the webhosting account. If you are manually deploying libreevent on a server without a reverse proxy, we urge you to use a reverse proxy with e.g. nginx or apache. There are a lot of guides out there on how to set a such up. Please also get yourself a Certificate for your domain and activate it. A common method for acquiring such Certificates is to use the "Certbot" CLI application on Linux. It works with both Apache and nginx and can automatically renew the certificate for you once it expires if set to run on a cronjob (highly recommended).
As mentioned previously in the Reverse Proxy section, you should always have HTTPS enabled using a reverse proxy. Since most hosting accounts already have a reverse proxy installed, you just need to set it to automatically redirect HTTP to HTTPS in the webhosting admin panel.
At this point we assume you've completed the initial install of libreevent. If not, you may find a guide on how to do it here. Let's get started setting up your event management system!
+At this point we assume you've completed the initial installation of libreevent. If not, you may find a guide on how to do it here. Let's get started setting up your event management system!
As discussed in the previous part where we installed the system, you can connect to your server simply by opening a web browser and typing your domain name into the address field. After that you should be greeted by the libreevent post-install landing page. Once there, you'll need the setup key you defined during the installation. Type (or copy) it into the field and hit "Start setup". You will now land on the setup start page. You may hit "Start setup" below to start the setup.
Note: This is only available during the setup process of libreevent and will afterwards be deactivated to ensure safety of the system.
@@ -26,14 +27,14 @@This page prepares libreevent for use, covering all the basics, the name of the website, database and email accounts. The first setting you may change here is the name of the website. Choose wisely, as changing the name at a later point is hard, not explained in the documentation and also doesn't make for a good image.
In the database, all the userdata is stored. libreevent currently supports two different databases, MySQL and a custom database based on JSON. Which one to choose?
+In the database, all the user data is stored. libreevent currently supports two different databases, MySQL and a custom database based on JSON. Which one to choose?
Generally MySQL, except:
NOTE: The JSON database is really slow and should only be used if you have a small event where you expect to sell less than 5 ticket per minute at any time! The amount of tickets sold per minute that the system can handle really depends on the speed of the server the website runs on.
-MySQL generally is more time consuming to set up (taking about ten minutes compared to zero), but we'll run you through the process here to make the process easier for you.
+NOTE: The JSON database is really slow and should only be used if you have a small event where you expect to sell less than 10 tickets per minute at any time! The amount of tickets sold per minute that the system can handle really depends on the speed of the server the website runs on.
+MySQL generally is more time-consuming to set up (taking about ten minutes compared to zero), but we'll run you through the process here to make the process easier for you.
If you are really sure that you want to use the JSON-based database, skip the next section.
At this point, we assume that you are logged in to the administration panel of your webhosting provider. This guide will use the Web Control Panel called "Direct Admin", as it is fairly common, along with cPanel. Somewhere, there should be a button that says something like "MySQL Management". Click it, which will bring you to the MySQL-Database management page. Now, create a new database by clicking the "Create new database" (or similar) button which will bring up the database creation tool. Give the database any name you like (libreevent would though be a reasonable choice) and give the user any name you like. When creating a password, it is important that this password is long and complicated. What we recommend doing is using a password generator or to essentially "sit" onto your keyboard to get a random string of characters as the password.
@@ -45,10 +46,10 @@ The first setting you may change here is the name of the website. Choose wisely,In the "display" section, you can customize how the email address shows up for customers. What we are doing here is known as email address spoofing, if you change what email address is shown. This is being shunned actively by some email providers, which means, the value entered in the "Email address to show" field should be the same as the actual email address. For the display name, you can get creative.
With the main part of setup complete, hit continue, to advance to root account setup.
This is the most powerful account in this system. From it you can control EVERY aspect of your system.
-Remark: You may (and definitely should) add other accounts with less privileges after completing setup and only use the root account when it is actually necessary
+This is the most powerful account in this system. From it, you can control EVERY aspect of your system.
+Please choose an email address to which you want to link the root account. Two-Factor-Authentication is ALWAYS required when logging into an account that has root privileges to ensure a higher degree of security, so please ensure you have access to that email address at all times.
-When choosing a password, please ensure it meets the minimum requirements of the system or let the system generate one for you by clicking the 'generate password' button, which will generate a password that fulfills all requirements and exceeds the minimum requirements for password length. In the table below, you may see all the password requirements:
+When choosing a password, please ensure it meets the minimum requirements of the system or let the system generate one for you by clicking the 'generate password' button, which will generate a password that fulfils all requirements and exceeds the minimum requirements for password length. In the table below, you may see all the password requirements:
Please avoid using easy to guess combinations like names & birth dates of you or your relatives, zip codes & cities and obvious words like 'password', 'libreevent', 'admin', 'root' and your organisation / event's name.
+Please avoid using easy to guess combinations like names & birthdates of you or your relatives, postcodes & cities and obvious words like 'password', 'libreevent', 'admin', 'root' and your organization / event's name.
After this, the system will email you an email confirmation link using the email you've previously configured in the config.json file during installation.
With this, you've completed the setup of the event. We now ask you to restart the node application. You may do this by stopping the process (if logged in via SSH, press Ctrl + C, if you've got a graphical user interface for setting up the node app, it should be self explanatory) and restarting it.
+With this, you've completed the setup of the event. We now ask you to restart the node application. You may do this by stopping the process (if logged in via SSH, press Ctrl + C, if you've got a graphical user interface for setting up the node app, it should be self-explanatory) and restarting it.
libreevent already gives you the link to the admin panel, which you can click, but if you already closed the page, here's how to reach it:
You can find your admin panel at /admin (example: libreevent.janishutz.com/admin, replace libreevent.janishutz.com with your own domain).
Congratulations! You've now successfully set up your event management solution.
You may find documentation on the admin panel here
Updating libreǝvent is important to keep it secure, performant and bug-free. Currently, updating libreevent involves manually uploading the new files.
IMPORTANT: make sure to ALWAYS download the data and config directories before updating to not lose any data in case something goes wrong! When uploading, do NOT upload the data and config directories except the release note tell you anything else. Please also always follow any notes detailed in the release notes.
-There are currently no updates available, this section will be expanded, once there is.
+To update, download the latest version of libreevent from the download page. Then, open up FileZilla or any other FTP client, connect to your webhosting account and navigate to the libreevent directory. Then, unzip the downloaded libreevent package. In FileZilla, navigate to the extracted archive on the local side. Select all folders, bar config and data upload them.
+Then, restart libreevent.
As any project, libreevent also needs funding to keep development going. If you have used and liked libreevent and want to see it grow and become more feature rich, you might want to consider donating to the project. If you are a company and you want to become a sponsor of the project, please contact me for a sponsor deal.
- +As any project, libreevent also needs funding to keep development going. If you have used and liked libreevent and want to see it grow and become more feature rich, you might want to consider donating to the project. If you are a company and you want to become a sponsor of the project, please contact me for a sponsor deal.
+If you are an individual looking to support the development of libreevent, you may donate here
libreevent's system requirements are low, you only need a PC or Server that can run node.js and is able to install npm packages. If the system you are trying to use is unable to download npm packages, you may download the packages on your own system and upload them together with the rest of the server files. How to do that is described in greater detail in the Getting Started guide.
Your system needs to be able to run node.js V > 16.0 and must have access to either npm or the downloaded npm packages.
Hardware requirements solely depend on the amount of usage it is going to get. A cheap hosting plan should be able to handle about 100 simultaneous people. Failing to meet the CPU recommendation may lead to slow response times when a lot of people try to connect to the server at once. A good way to mitigate this problem is to use cloudflare's DDOS protection or rate limiting feature. Follow their official guide here on how to set it up. Many hosting providers already use Cloudflare and you may have settings for cloudflare already enabled. Otherwise, create a cloudflare account and update your website's DNS records to instead of directly pointing to your webserver to point to Cloudflare's DNS where you can re-add the DNS records that were previously configured in your hosting provider's DNS. For more information see Security best practices.