summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2022-11-24 20:19:02 -0500
committerKjetil Orbekk <kj@orbekk.com>2022-11-24 20:19:02 -0500
commit05a657661fe08ebc364d005b008a3408c5a0d15f (patch)
tree8c97f33fb33583ec40368c9fba1beaae29d029e6
parentb5cd23ae50834eaf8a8f5504bb83d29549eaf82b (diff)
Set up database using docker-compose
-rw-r--r--.env9
-rw-r--r--.gitignore1
-rw-r--r--docker-compose.yml10
-rw-r--r--flake.nix20
-rw-r--r--protocol/src/bridge_engine.rs2
-rw-r--r--server/.env8
-rw-r--r--webapp/.env1
7 files changed, 41 insertions, 10 deletions
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