Secret Hitler is a hidden identity social deduction party game developed by Goat, Wolf, & Cabbage LLC.
This is a playable web implementation of the Secret Hitler tabletop game.
Secret Hitler is licensed under Creative Commons BY–NC–SA 4.0. That means you have to give credit for the original, you’re not allowed to profit from it commercially in any way, and you have to license it under the exact same CC license. You also can’t submit anything to an app store or anything like that.
Your web host should support:
If your host serves Node applications with Phusion Passenger, then app.js will auto-detect Passenger and switch ports & listeners accordingly.
- Create your environment configuration file at
.env
by making a copy of.env-default
. - You will need to provide access to a MySQL/MariaDB database. Update the following properties in
.env
:DB_HOST
: your database host name.DB_PORT
: your database port number (usually3306
).DB_NAME
: your database name.DB_USER
: your database username.DB_PASS
: your database password.
- Run
npm run install
to install required Node modules and create the database. - Run
npm run build
to compile the client CSS and JavaScript. - Run
npm run start
to start the server.
By default, the site will be available at http://localhost:8080.
Run npm run uninstall
to empty the database.
NODE_ENV=development # "development" or "production".
APP_URL=http://localhost # Your server URL.
APP_PORT=8080 # Port for unsecured HTTP requests.
APP_SESSION_SECRET=secret # Any string. Used to encrypt session cookies.
APP_LOG=false # Log will attempt to write to any path other than "false".
APP_LOCAL_LIB=false # Toggles whether third-party libraries (Vue, Google Fonts, etc.) are served locally or from public CDNs.
SSL=false # "true" enables SSL-secured HTTPS server.
SSL_PORT=8443 # Port for SSL requests.
SSL_CERTIFICATE=ssl/server.crt # Path to SSL certificate file.
SSL_KEY=ssl/server.key # Path to SSL key file.
WS_PORT=8080 # Port for WebSocket requests.
DB_HOST=localhost # Your MySQL/MariaDB host. Defaults to "localhost".
DB_PORT=3306 # Your MySQL/MariaDB host port. Defaults to "3306".
DB_NAME=secrethitler # Your MySQL/MariaDB database name.
DB_USER=secrethitler # Your MySQL/MariaDB username.
DB_PASS=password # Your MySQL/MariaDB password.