- Manual installation
- Docker installation
This is a fork of eltmon/codies from GitHub. I run my own instance of it but, it's just for friends; the old one run by the original creator, codies.xyz, was taken down due to copyright issues and I would prefer to avoid the same thing happening to mine. If you would like to host this yourself, please follow the included instructions.
From the original README:
Yet another Codenames webapp. Featuring:
- Custom word packs
- Timed mode
- Quick room joining
- Dark/light mode
- Responsiveness for mobile play
- And more!
This is entirely inspired by the wonderful codenames.plus, which works very well, but hasn't been scaling too well recently. I wanted an opportunity to learn TypeScript and React, and figured I could make something that worked just as well with a few extra niceties (and a more stable backend).
Running codies as root is not recommended. Please run the following commands to create a new unprivileged user and execute all of the commands in the following section as that user.
useradd -Ums /bin/bash codies
su -c /bin/bash - codies
git clone https://git.nixnet.services/Misc-Mirrors/codies.git
Building the frontend
yarn install --frozen-lockfile
Building the backend
go mod download
go run github.com/markbates/pkger/cmd/pkger
go run github.com/markbates/pkger/cmd/pkger -o internal/pkger
go build -ldflags="-X github.com/zikaeroh/codies/internal/version.version=1.15" .
Execute the binary to ensure it all works properly:
If you want it to start as soon as your machine boots and that it restarts on crash, you'll need to run it with a supervisor like OpenRC, runit, or systemd.
Below is a service file for systemd. If you want to use it, paste the
Runing codies behind a reverse proxy is recommended. With Caddy, this is as simple as
encode zstd gzip
For NGINX, the vhost could look something like this
listen 443 ssl http2;
listen [::]:443 ssl http2;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
The Dockerfile will only be kept as long as it continues working. My goal in forking the app is to rip Docker out and package the entire thing up in a single statically-linked binary.
I don't know whether this will actually succeed, but here you go!
docker build -t codies .
docker run -p 5000:5000 codies