From 05a657661fe08ebc364d005b008a3408c5a0d15f Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Thu, 24 Nov 2022 20:19:02 -0500 Subject: Set up database using docker-compose --- .env | 9 +++++++++ .gitignore | 1 + docker-compose.yml | 10 ++++++++++ flake.nix | 20 ++++++++++++++++++++ protocol/src/bridge_engine.rs | 2 +- server/.env | 8 -------- webapp/.env | 1 - 7 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 .env create mode 100644 docker-compose.yml delete mode 100644 server/.env delete mode 100644 webapp/.env diff --git a/.env b/.env new file mode 100644 index 0000000..15fc8a7 --- /dev/null +++ b/.env @@ -0,0 +1,9 @@ +RUST_LOG=info,tower_http=debug,server=info,sqlx=warn,webapp,bridge +BIND_ADDRESS=[::]:8081 +RUST_BACKTRACE=1 +OPENID_ISSUER_URL=https://auth.orbekk.com/realms/test +OPENID_CLIENT_ID=test-client +OPENID_CLIENT_SECRET=EbIMIpGnYPrG1GBl6eZtVM5zIhiuu5p1 +APP_URL=http://localhost:8080 +# DATABASE_URL=postgres://bridge_nightly:bridge_nightly@dragon.nyc.orbekk.com/bridge_nightly +DATABASE_URL=postgres://bridge-latest:bridge-latest@localhost/bridge-latest \ No newline at end of file diff --git a/.gitignore b/.gitignore index 0ce719a..15ed889 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ tmp/ target/ **/*.rs.bk webapp/dist +result \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..184f826 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +version: "3.9" +services: + postgres: + image: postgres:14-alpine + ports: + - '5432:5432' + environment: + POSTGRES_DB: 'bridge-latest' + POSTGRES_USER: 'bridge-latest' + POSTGRES_PASSWORD: 'bridge-latest' \ No newline at end of file diff --git a/flake.nix b/flake.nix index df5fe9b..e5c91dc 100644 --- a/flake.nix +++ b/flake.nix @@ -8,8 +8,28 @@ flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; in { + packages.databaseImage = pkgs.dockerTools.buildImage { + name = "bridge-database"; + contents = [ pkgs.shadow pkgs.postgresql_12 pkgs.bashInteractive pkgs.busybox ]; + tag = "latest"; + + runAsRoot = '' + #!${pkgs.stdenv.shell} + ${pkgs.dockerTools.shadowSetup} + useradd postgres + mkdir -p /var/lib/postgres + chown postgres /var/lib/postgres + su postgres -c 'initdb -D /var/lib/postgres/data' + ''; + + config = { + Cmd = [ "/bin/su" "postgres" "-c" "/bin/postgres -D /var/lib/postgres/data" ]; + }; + }; + devShell = pkgs.mkShell { buildInputs = with pkgs; [ + podman-compose stdenv postgresql openssl diff --git a/protocol/src/bridge_engine.rs b/protocol/src/bridge_engine.rs index acf7246..a11eda4 100644 --- a/protocol/src/bridge_engine.rs +++ b/protocol/src/bridge_engine.rs @@ -533,7 +533,7 @@ pub struct TableView { } impl TableView { - fn from_game_state(game_state: &GameState, player_position: Player) -> Self { + pub fn from_game_state(game_state: &GameState, player_position: Player) -> Self { TableView { dealer: game_state.dealer(), player_position, diff --git a/server/.env b/server/.env deleted file mode 100644 index 66c6f58..0000000 --- a/server/.env +++ /dev/null @@ -1,8 +0,0 @@ -RUST_LOG=info,tower_http=debug,server=info,sqlx=warn -BIND_ADDRESS=[::]:11121 -RUST_BACKTRACE=1 -OPENID_ISSUER_URL=https://auth.orbekk.com/realms/test -OPENID_CLIENT_ID=test-client -OPENID_CLIENT_SECRET=EbIMIpGnYPrG1GBl6eZtVM5zIhiuu5p1 -APP_URL=https://bridge.orbekk.com -DATABASE_URL=postgres://bridge_nightly:bridge_nightly@dragon.nyc.orbekk.com/bridge_nightly \ No newline at end of file diff --git a/webapp/.env b/webapp/.env deleted file mode 100644 index edf7f1a..0000000 --- a/webapp/.env +++ /dev/null @@ -1 +0,0 @@ -RUST_LOG=webapp,bridge -- cgit v1.2.3