1.7 KiB
1.7 KiB
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