From 6262462323cc4a3ae950f349c458d03f8d37fcb8 Mon Sep 17 00:00:00 2001 From: sparshg <43041139+sparshg@users.noreply.github.com> Date: Wed, 25 Sep 2024 23:36:47 +0530 Subject: [PATCH] deploy on cloud --- Dockerfile | 22 +++++++++++----------- app/src/lib/state.svelte.ts | 6 ++---- app/src/routes/+page.svelte | 5 ++--- src/main.rs | 3 +-- 4 files changed, 16 insertions(+), 20 deletions(-) diff --git a/Dockerfile b/Dockerfile index caa478c..2c45fc6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -50,20 +50,20 @@ cp ./target/release/$APP_NAME /bin/server # By specifying the "3.18" tag, it will use version 3.18 of alpine. If # reproducability is important, consider using a digest # (e.g., alpine@sha256:664888ac9cfd28068e062c991ebcff4b4c7307dc8dd4df9e728bedde5c449d91). -FROM scratch AS final +FROM alpine AS final # Create a non-privileged user that the app will run under. # See https://docs.docker.com/go/dockerfile-user-best-practices/ -# ARG UID=10001 -# RUN adduser \ -# --disabled-password \ -# --gecos "" \ -# --home "/nonexistent" \ -# --shell "/sbin/nologin" \ -# --no-create-home \ -# --uid "${UID}" \ -# appuser -# USER appuser +ARG UID=10001 +RUN adduser \ + --disabled-password \ + --gecos "" \ + --home "/nonexistent" \ + --shell "/sbin/nologin" \ + --no-create-home \ + --uid "${UID}" \ + appuser +USER appuser # Copy the executable from the "build" stage. COPY --from=build /bin/server /bin/ diff --git a/app/src/lib/state.svelte.ts b/app/src/lib/state.svelte.ts index 397b98e..0dfbdab 100644 --- a/app/src/lib/state.svelte.ts +++ b/app/src/lib/state.svelte.ts @@ -12,10 +12,8 @@ export class State { turn = $state(-1); // -1 not my turn, 0 might be, 1 is socket: Socket; - constructor(hostname: string) { - // let session = sessionStorage.getItem('session'); - - this.socket = io(`ws://${hostname}:3000/`, { + constructor() { + this.socket = io(`wss://battleship.icyground-d91964e0.centralindia.azurecontainerapps.io`, { transports: ['websocket'], auth: { session: sessionStorage.getItem('session') } }); diff --git a/app/src/routes/+page.svelte b/app/src/routes/+page.svelte index e8ab788..375e042 100644 --- a/app/src/routes/+page.svelte +++ b/app/src/routes/+page.svelte @@ -5,8 +5,7 @@ import { State } from '$lib/state.svelte'; import { Users } from 'lucide-svelte'; - const hostname = window.location.hostname; - let gameState = new State(hostname); + let gameState = new State();
@@ -43,7 +42,7 @@ class="btn btn-error text-xl" onclick={() => { gameState.socket.emit('leave'); - gameState = new State(window.location.hostname); + gameState = new State(); }}>Leave
diff --git a/src/main.rs b/src/main.rs index 6bead74..9de2694 100644 --- a/src/main.rs +++ b/src/main.rs @@ -27,7 +27,7 @@ async fn main() -> Result<(), Box> { .finish(), )?; let _ = dotenv(); - let url = std::env::var("DATABASE_URL")?; + let url = std::env::var("DATABASE_URL").expect("DATABASE_URL must be set"); let pool = sqlx::postgres::PgPool::connect(&url).await?; sqlx::migrate!("./migrations").run(&pool).await?; sqlx::query("DELETE FROM players").execute(&pool).await?; @@ -35,7 +35,6 @@ async fn main() -> Result<(), Box> { io.ns("/", on_connect); let app = Router::new() - // .route("/", post(game::create_board_route)) .layer(layer) .layer(CorsLayer::very_permissive());