Tocho Tochev e5a6270d9c | ||
---|---|---|
models | ||
public | ||
views | ||
.gitignore | ||
Dockerfile | ||
README.md | ||
app.js | ||
docker-compose.yml | ||
hall-a.env | ||
hall-b.env | ||
package.json |
README.md
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