replace readme.d with readme.org
This commit is contained in:
parent
b71ccf3452
commit
0fc93a023c
17
README.md
17
README.md
|
@ -1,17 +0,0 @@
|
||||||
# codies
|
|
||||||
|
|
||||||
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](https://github.com/Joooop/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).
|
|
||||||
|
|
||||||
![Game board](/docs/screenshot1.png?raw=true 'Game board')
|
|
|
@ -0,0 +1,128 @@
|
||||||
|
* Codies
|
||||||
|
|
||||||
|
This is a fork of [[https://github.com/eltmon/codies][eltmon/codies]] from GitHub. I run my own instance of it
|
||||||
|
but, but it's just for friends; the old one run by the original creator
|
||||||
|
[[https://codies.xyz][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 [[https://github.com/Joooop/codenames.plus][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).
|
||||||
|
|
||||||
|
[[file:docs/screenshot1.png]]
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
|
||||||
|
** Prerequisites
|
||||||
|
|
||||||
|
First, you'll need Golang 1.15 and Node 14 for building codies. Take a
|
||||||
|
look at golang's [[https://golang.org/dl/][download]] page and follow the related documentation for
|
||||||
|
[[https://golang.org/doc/install][installing with the binary]] or [[https://golang.org/doc/install/source][from source]], then for Node, try
|
||||||
|
[[https://github.com/nodesource/distributions][NodeSource]].
|
||||||
|
|
||||||
|
** Creating users
|
||||||
|
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.
|
||||||
|
|
||||||
|
#+BEGIN_SRC bash
|
||||||
|
useradd -Ums /bin/bash codies
|
||||||
|
su -c /bin/bash - codies
|
||||||
|
git clone https://git.nixnet.services/Misc-Mirrors/codies.git
|
||||||
|
cd codies
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
** Building the frontend
|
||||||
|
#+BEGIN_SRC bash
|
||||||
|
cd frontend
|
||||||
|
yarn install --frozen-lockfile
|
||||||
|
yarn build
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
** Building the backend
|
||||||
|
#+BEGIN_SRC bash
|
||||||
|
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" .
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
** Running
|
||||||
|
Execute the binary to ensure it all works properly:
|
||||||
|
#+BEGIN_SRC bash
|
||||||
|
./codies --debug
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
** Daemonizing
|
||||||
|
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
|
||||||
|
contents into ~/etc/systemd/system/codies.service~.
|
||||||
|
|
||||||
|
#+BEGIN_SRC text
|
||||||
|
[Unit]
|
||||||
|
Description=Codies
|
||||||
|
After=network.target network-online.target
|
||||||
|
Requires=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=codies
|
||||||
|
Group=codies
|
||||||
|
WorkingDirectory=/home/codies/codies
|
||||||
|
ExecStart=/home/codies/codies/codies --debug
|
||||||
|
TimeoutStopSec=5s
|
||||||
|
PrivateTmp=true
|
||||||
|
ProtectSystem=full
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
** Reverse proxy
|
||||||
|
Runing codies behind a reverse proxy is recommended. With [[https://caddyserver.com/][Caddy]], this is
|
||||||
|
as simple as
|
||||||
|
|
||||||
|
#+BEGIN_SRC text
|
||||||
|
example.com {
|
||||||
|
encode zstd gzip
|
||||||
|
reverse_proxy localhost:5000
|
||||||
|
}
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
For NGINX, the vhost could look something like this
|
||||||
|
#+BEGIN_SRC text
|
||||||
|
server {
|
||||||
|
listen 443 ssl http2;
|
||||||
|
listen [::]:443 ssl http2;
|
||||||
|
|
||||||
|
server_name example.com;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
|
||||||
|
|
||||||
|
location /
|
||||||
|
proxy_pass http://localhost:5000;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "Upgrade";
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#+END_SRC
|
Loading…
Reference in New Issue