Public facing features:
- Configuration for multiple hotels with multiple modes each
- Self-Registration with hotel and presentation(s)
- Immediate email with edit link to manage presentations
Accessible via link:
- Multi-year-archive
- List of attendees
Administrative features (available to organizers)
- Session management and presentation assignment
- Nice looking schedule reports - i.e. for use as OBS browser source
- Nice looking Frames with current speaker - again intended as OBS browser source
This system builds upon kern.js create the big Dockerfile and then run this dockerfile on top of it.
To manage your database backups automatically and have the db setup properly also buld the database-sync Dockerfile.
Last build the website-sync Dockerfile which will sync your own conference repo with all the configuraion.
- See the documentation above about which environment variables need to be set.
- Setup a private repository for your database and put the empty database export into it, or use create-database-repo.sh.
- Configure database-sync to use said repository.
- Setup another public or private repository for your conference configuration. Make sure not to leak any confidential information.
- Keep all login and confidential information in environment variables and in none of the above repos.
I use kubernetes to host the containers, so I cannot present a docker-compose file. Feel free to submit one via pull request. If I remember, I will put a working kubernetes configuration for an existing conference here. As I am dividing the old monolithic conference system as I type this there is no working configuration yet.
You can put permanent non critical information here, most likely you will not change anything and use the environment variables desribed below instead.
PRESENTATION_DEFAULT_LENGTH
: default presentation length in minutes, (default:45
)
SMTP_HOST
SMTP_PORT
SMTP_USER
SMTP_EMAIL
:from
-field for registration email (most likely same asSMTP_USER
on modern email services)SMTP_PASSWORD
GRAVATAR_PROXY_HOST
: to protect users privacy gravatars are proxied over this host. See forth-standard.org for an example on how to use that.
kern.js uses a hierarchical file lookup: this means you can override every file in your local website by simply naming it the same and keeping the relative path.
Example templates are provided for creating a confirmation and an invoice PDF. Copy them to your own website folder and adopt them if you want to make use of the integrated LaTeX system.
To access your instance you can provide a users.json file (only in private repositories!) or generate one using cli.js inside your running container.