OpenFest Timer
Deployment
Configuration
Configuration is done by environmental variables:
HALLS: "/hall-a:Hall A;/hall-b:Hall B"
TITLE: "Hall A" # not in use if HALLS is set to non-empty
PREFIX: /hall-a # not in use if HALLS is set to non-empty
BASIC_AUTH: "admin:password" # user:plaintext-password
Prod Deployment
cd timer-repo/
git pull
podman build -t timer .
cat > .config/containers/systemd/timer.container <<EOF
[Container]
ContainerName=timer
Image=timer:latest
Environment=PORT=5050
Environment=HALLS="/hall-a:Hall A;/hall-b:Hall B;/test-hall:TEST"
Environment=BASIC_AUTH="user:password"
PublishPort=127.0.0.1:5050:5050
Network=INSERT_THE_NETWORK
[Install]
WantedBy=default.target
EOF
systemctl --user daemon-reload
systemctl --user restart timer
Local Development
docker-compose up --build
Based on Defcon
Defcon
Defcon is a stopwatch running on Node.js, Express.js, and Socket.io. It is intended to be a good starting point if you're just learning to use web sockets. It currently uses xhr-polling so it is compatible with Heroku.
Who's it for?
I originally wrote Defcon over four blog posts introducing Socket.io and deploying to Heroku. Please checkout the posts on my site, robdodson.me
Description
An example Node.js, Express.js and Socket.io project showing how to build a stopwatch.
Languages
JavaScript
61%
CSS
23.7%
EJS
12.9%
Dockerfile
2.4%