This commit is contained in:
Shahrad Elahi 2024-04-01 17:49:30 +03:30
parent d87ba2fc6a
commit 100eeb84ad
5 changed files with 21 additions and 14 deletions

View File

@ -1,7 +1,9 @@
ARG ALPINE_VERSION=3.19
ARG NODE_VERSION=20
FROM --platform=$BUILDPLATFORM chriswayg/tor-alpine:latest as tor
FROM --platform=$BUILDPLATFORM node:alpine${ALPINE_VERSION} as base
FROM --platform=$BUILDPLATFORM node:${NODE_VERSION}-alpine${ALPINE_VERSION} as base
LABEL Maintainer="Shahrad Elahi <https://github.com/shahradelahi>"
WORKDIR /app
@ -11,10 +13,8 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
COPY --from=tor /usr/local/bin/obfs4proxy /usr/local/bin/obfs4proxy
COPY --from=tor /usr/local/bin/meek-server /usr/local/bin/meek-server
# Update and upgrade packages
RUN apk update && apk upgrade &&\
# Install required packages
apk add -U --no-cache \
RUN apk add -U --no-cache \
iproute2 iptables net-tools \
screen curl bash \
wireguard-tools \
@ -48,6 +48,8 @@ COPY web .
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile \
# build
&& mkdir -p /data \
&& echo gA== > /data/storage.b64 \
&& NODE_ENV=production pnpm run build \
# Omit devDependencies
&& pnpm prune --prod \

View File

@ -1,7 +1,9 @@
ARG ALPINE_VERSION=3.19
ARG NODE_VERSION=20
FROM --platform=$BUILDPLATFORM chriswayg/tor-alpine:latest as tor
FROM --platform=$BUILDPLATFORM node:alpine${ALPINE_VERSION} as base
FROM --platform=$BUILDPLATFORM node:${NODE_VERSION}-alpine${ALPINE_VERSION} as base
LABEL Maintainer="Shahrad Elahi <https://github.com/shahradelahi>"
WORKDIR /app
@ -11,10 +13,8 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
COPY --from=tor /usr/local/bin/obfs4proxy /usr/local/bin/obfs4proxy
COPY --from=tor /usr/local/bin/meek-server /usr/local/bin/meek-server
# Update and upgrade packages
RUN apk update && apk upgrade &&\
# Install required packages
apk add -U --no-cache \
RUN apk add -U --no-cache \
iproute2 iptables net-tools \
screen vim curl bash \
wireguard-tools \

View File

@ -1,15 +1,16 @@
import { createEnv } from '@t3-oss/env-core';
import { z } from 'zod';
import { sha256 } from '$lib/hash';
import { hex, sha256 } from '$lib/hash';
import { randomUUID } from 'node:crypto';
import 'dotenv/config';
export const env = createEnv({
runtimeEnv: process.env,
server: {
NODE_ENV: z.enum(['development', 'production', 'test']).default('development'),
STORAGE_PATH: z.string().default('/data/storage.pack'),
AUTH_SECRET: z.string().default(sha256(randomUUID())),
HASHED_PASSWORD: z.string(),
HASHED_PASSWORD: z.string().default(hex('insecure-password')),
ORIGIN: z.string().optional(),
},
});

View File

@ -5,3 +5,7 @@ export function sha256(data: Buffer | string): string {
hash.update(data);
return hash.digest('hex');
}
export function hex(data: Buffer | string): string {
return Buffer.from(data).toString('hex');
}