Skip to content
/ timer Public
forked from robdodson/defcon

An example Node.js, Express.js and Socket.io project showing how to build a stopwatch.

Notifications You must be signed in to change notification settings

OpenFest/timer

 
 

Repository files navigation

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

About

An example Node.js, Express.js and Socket.io project showing how to build a stopwatch.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 61.1%
  • CSS 23.6%
  • EJS 12.9%
  • Dockerfile 2.4%