Go to file
Dan Ballard 92c4b25898
continuous-integration/drone/push Build is passing Details
Merge pull request 'Move InitV1Directory to Server' (#27) from server-storage into trunk
Reviewed-on: #27
2021-12-08 02:05:38 +00:00
app add flags: dir, disableMetrics and env var DISABLE_METRICS to the app 2021-11-26 16:56:58 -08:00
docker change -exportTofuBundle to -exportServerBundle 2021-10-29 16:06:18 -07:00
metrics refactor monitors, remove pidusage, fix logging optionality, improve fetch stats, improve reporting 2021-11-25 18:22:22 -08:00
storage refactor monitors, remove pidusage, fix logging optionality, improve fetch stats, improve reporting 2021-11-25 18:22:22 -08:00
testing golint -> staticcheck and required changes 2021-11-08 15:15:00 -08:00
.drone.yml golint -> staticcheck and required changes 2021-11-08 15:15:00 -08:00
.gitignore Replace legacy message store with sqlite3 message store 2021-05-07 12:29:31 -07:00
README.md add flags: dir, disableMetrics and env var DISABLE_METRICS to the app 2021-11-26 16:56:58 -08:00
go.mod Move InitV1Directory to Server 2021-12-07 17:41:38 -08:00
go.sum Move InitV1Directory to Server 2021-12-07 17:41:38 -08:00
server.go refactor monitors, remove pidusage, fix logging optionality, improve fetch stats, improve reporting 2021-11-25 18:22:22 -08:00
serverConfig.go Move InitV1Directory to Server 2021-12-07 17:41:38 -08:00
server_tokenboard.go adding 'servers' interface to manage multiple servers and support for encrypted configs 2021-10-04 16:21:41 -07:00
servers.go refactor monitors, remove pidusage, fix logging optionality, improve fetch stats, improve reporting 2021-11-25 18:22:22 -08:00
servers_test.go server need .Stop() and .Destroy() 2021-11-01 15:07:53 -07:00

README.md

Cwtch Server

Building

Pretty straight forward:

  • build the app in app/ with go build
  • build the docker container in docker/ with docker build . -t openpriv/server

Windows

The server package relies on sqlite which in turn requires the use of CGO. As per this issue that means TDM-GCC is required to be installed and used to compile on Windows

Running

  • cd app
  • go build
  • ./app

The app takes the following arguments

  • -debug: enabled debug logging
  • -exportServerBundle: Export the server bundle to a file called serverbundle
  • -disableMetrics: Disable metrics reporting to serverMonitor.txt and associated tracking routines
  • -dir [directory]: specify a directory to store server files (default is current directory)

The app takes the following environment variables

  • CWTCH_HOME: sets the config dir for the app
  • DISABLE_METRICS: if set to any value ('1') it disables metrics reporting to serverMonitor.txt and associated tracking routines

env CONFIG_HOME=./conf ./app

Using the Server

When run the app will output standard log lines, one of which will contain the tofubundle in purple. This is the part you need to capture and import into a Cwtch client app so you can use the server for hosting groups

Docker

Build by executing docker build -f docker/Dockerfile .

or run our prebuild ones with

pull openpriv/cwtch-server

and run it. It stores all Cwtch data in a Volume at /var/lib/cwtch so if you want the server data to persist you would run

docker run openpriv/cwtch-server -v /var/lib/cwtch/server01:/var/lib/cwtch

to create a persistent container you might try a command like:

docker run openpriv/cwtch-server --name cwtch -v /var/lib/cwtch/server01:/var/lib/cwtch --restart always