deploy on cloud

This commit is contained in:
sparshg
2024-09-25 23:36:47 +05:30
parent 52c7b25393
commit 6262462323
4 changed files with 16 additions and 20 deletions

View File

@@ -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/

View File

@@ -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') }
});

View File

@@ -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();
</script>
<div class="min-h-screen bg-base-300 py-8 px-4 sm:px-6 lg:px-8">
@@ -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</button
>
</div>

View File

@@ -27,7 +27,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
.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<dyn std::error::Error>> {
io.ns("/", on_connect);
let app = Router::new()
// .route("/", post(game::create_board_route))
.layer(layer)
.layer(CorsLayer::very_permissive());