rallly: patch to remove other login methods
This commit is contained in:
parent
300efecc13
commit
46f12e25b0
4 changed files with 110 additions and 10 deletions
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
./gerd/services/uptime-kuma.nix
|
./gerd/services/uptime-kuma.nix
|
||||||
|
|
||||||
./gerd/services/rallly.nix
|
./gerd/services/rallly
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "gerd";
|
networking.hostName = "gerd";
|
||||||
|
|
|
@ -7,23 +7,27 @@ let
|
||||||
psqlSocket = "/run/postgresql";
|
psqlSocket = "/run/postgresql";
|
||||||
|
|
||||||
user = "rallly";
|
user = "rallly";
|
||||||
group = user;
|
|
||||||
port = 7384;
|
port = 7384;
|
||||||
internal_port = port;
|
|
||||||
|
|
||||||
rally_version = "3.11";
|
ralllyPkgsOrig = pkgs.callPackage ./../../../../shared/pkgs/rallly {};
|
||||||
|
ralllyPkgs = ralllyPkgsOrig.overrideAttrs (old: {
|
||||||
ralllyPkgs = pkgs.callPackage ./../../../shared/pkgs/rallly {};
|
patches = (if old ? patches then old.patches else []) ++ [
|
||||||
|
./patches/remove-login-register.patch
|
||||||
|
];
|
||||||
|
});
|
||||||
in {
|
in {
|
||||||
|
# setup rallly service
|
||||||
systemd.services.rallly = {
|
systemd.services.rallly = {
|
||||||
description = "rallly";
|
description = "rallly";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "networking.target" ];
|
after = [ "networking.target" ];
|
||||||
|
|
||||||
|
# configuration
|
||||||
environment = let
|
environment = let
|
||||||
rallly-prisma-engines = ralllyPkgs.passthru.rallly-prisma-engines;
|
rallly-prisma-engines = ralllyPkgs.passthru.rallly-prisma-engines;
|
||||||
in rec {
|
in rec {
|
||||||
PORT = builtins.toString internal_port;
|
HOSTNAME = "localhost";
|
||||||
|
PORT = builtins.toString port;
|
||||||
DATABASE_URL = "postgresql://${user}@localhost/${user}?host=${psqlSocket}";
|
DATABASE_URL = "postgresql://${user}@localhost/${user}?host=${psqlSocket}";
|
||||||
NEXT_PUBLIC_BASE_URL = "https://${svc_domain}";
|
NEXT_PUBLIC_BASE_URL = "https://${svc_domain}";
|
||||||
NEXTAUTH_URL = NEXT_PUBLIC_BASE_URL;
|
NEXTAUTH_URL = NEXT_PUBLIC_BASE_URL;
|
||||||
|
@ -47,7 +51,7 @@ in {
|
||||||
OIDC_CLIENT_ID = "rallly";
|
OIDC_CLIENT_ID = "rallly";
|
||||||
# OIDC_CLIENT_SECRET = "specified-in-env";
|
# OIDC_CLIENT_SECRET = "specified-in-env";
|
||||||
|
|
||||||
# prisma things
|
# prisma things (database will not work without, needs to match version in rallly deps as well)
|
||||||
PRISMA_SCHEMA_ENGINE_BINARY = "${rallly-prisma-engines}/bin/schema-engine";
|
PRISMA_SCHEMA_ENGINE_BINARY = "${rallly-prisma-engines}/bin/schema-engine";
|
||||||
PRISMA_QUERY_ENGINE_BINARY = "${rallly-prisma-engines}/bin/query-engine";
|
PRISMA_QUERY_ENGINE_BINARY = "${rallly-prisma-engines}/bin/query-engine";
|
||||||
PRISMA_QUERY_ENGINE_LIBRARY = "${rallly-prisma-engines}/lib/libquery_engine.node";
|
PRISMA_QUERY_ENGINE_LIBRARY = "${rallly-prisma-engines}/lib/libquery_engine.node";
|
||||||
|
@ -55,17 +59,27 @@ in {
|
||||||
PRISMA_FMT_BINARY = "${rallly-prisma-engines}/bin/prisma-fmt";
|
PRISMA_FMT_BINARY = "${rallly-prisma-engines}/bin/prisma-fmt";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# add, otherwise we get warnings
|
||||||
path = [ pkgs.openssl ];
|
path = [ pkgs.openssl ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStartPre = "${ralllyPkgs}/bin/rallly-prisma migrate deploy";
|
ExecStartPre = [
|
||||||
|
# clear cache on each boot, otherwise we might have
|
||||||
|
# issues when updating it.
|
||||||
|
"${pkgs.findutils}/bin/find -L /var/cache/${svc_name} -mindepth 1 -delete"
|
||||||
|
|
||||||
|
# run db migration each boot
|
||||||
|
"${ralllyPkgs}/bin/rallly-prisma migrate deploy"
|
||||||
|
];
|
||||||
ExecStart = "${ralllyPkgs}/bin/rallly";
|
ExecStart = "${ralllyPkgs}/bin/rallly";
|
||||||
|
|
||||||
|
# secret configurations
|
||||||
EnvironmentFile = [ config.age.secrets.rallly-env.path ];
|
EnvironmentFile = [ config.age.secrets.rallly-env.path ];
|
||||||
|
|
||||||
CacheDirectory = "rallly";
|
CacheDirectory = svc_name;
|
||||||
CacheDirectoryMode = "0750";
|
CacheDirectoryMode = "0750";
|
||||||
|
|
||||||
|
User = user;
|
||||||
DynamicUser = true;
|
DynamicUser = true;
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
};
|
};
|
|
@ -0,0 +1,84 @@
|
||||||
|
diff --git a/apps/web/src/app/[locale]/(auth)/login/login-form.tsx b/apps/web/src/app/[locale]/(auth)/login/login-form.tsx
|
||||||
|
index d4a2adcf..8137a790 100644
|
||||||
|
--- a/apps/web/src/app/[locale]/(auth)/login/login-form.tsx
|
||||||
|
+++ b/apps/web/src/app/[locale]/(auth)/login/login-form.tsx
|
||||||
|
@@ -159,45 +159,7 @@ export function LoginForm() {
|
||||||
|
}
|
||||||
|
})}
|
||||||
|
>
|
||||||
|
- <div className="mb-1 text-2xl font-bold">{t("login")}</div>
|
||||||
|
- <p className="mb-4 text-gray-500">
|
||||||
|
- {t("stepSummary", {
|
||||||
|
- current: 1,
|
||||||
|
- total: 2,
|
||||||
|
- })}
|
||||||
|
- </p>
|
||||||
|
- <fieldset className="mb-2.5">
|
||||||
|
- <label htmlFor="email" className="mb-1 text-gray-500">
|
||||||
|
- {t("email")}
|
||||||
|
- </label>
|
||||||
|
- <Input
|
||||||
|
- className="w-full"
|
||||||
|
- id="email"
|
||||||
|
- size="lg"
|
||||||
|
- error={!!formState.errors.email}
|
||||||
|
- autoFocus={true}
|
||||||
|
- disabled={formState.isSubmitting}
|
||||||
|
- placeholder={t("emailPlaceholder")}
|
||||||
|
- {...register("email", { validate: validEmail })}
|
||||||
|
- />
|
||||||
|
- {formState.errors.email?.message ? (
|
||||||
|
- <div className="mt-2 text-sm text-rose-500">
|
||||||
|
- {formState.errors.email.message}
|
||||||
|
- </div>
|
||||||
|
- ) : null}
|
||||||
|
- </fieldset>
|
||||||
|
<div className="flex flex-col gap-2">
|
||||||
|
- <Button
|
||||||
|
- loading={formState.isSubmitting}
|
||||||
|
- type="submit"
|
||||||
|
- size="lg"
|
||||||
|
- variant="primary"
|
||||||
|
- className=""
|
||||||
|
- >
|
||||||
|
- {t("loginWith", {
|
||||||
|
- provider: t("email"),
|
||||||
|
- })}
|
||||||
|
- </Button>
|
||||||
|
{error === "OAuthAccountNotLinked" ? (
|
||||||
|
<Alert icon={AlertTriangleIcon} variant="destructive">
|
||||||
|
<AlertTitle>
|
||||||
|
@@ -216,12 +178,6 @@ export function LoginForm() {
|
||||||
|
) : null}
|
||||||
|
{alternativeLoginMethods.length > 0 ? (
|
||||||
|
<>
|
||||||
|
- <div className="relative my-4">
|
||||||
|
- <hr className="border-grey-500 absolute top-1/2 w-full border-t" />
|
||||||
|
- <span className="absolute left-1/2 -translate-x-1/2 -translate-y-1/2 transform bg-white px-2 text-center text-xs uppercase text-gray-400">
|
||||||
|
- {t("or", { defaultValue: "Or" })}
|
||||||
|
- </span>
|
||||||
|
- </div>
|
||||||
|
<div className="grid gap-2.5">
|
||||||
|
{alternativeLoginMethods.map((method, i) => (
|
||||||
|
<Button size="lg" key={i} onClick={method.login}>
|
||||||
|
diff --git a/apps/web/src/app/[locale]/(auth)/login/page.tsx b/apps/web/src/app/[locale]/(auth)/login/page.tsx
|
||||||
|
index 10caefed..28d6c85a 100644
|
||||||
|
--- a/apps/web/src/app/[locale]/(auth)/login/page.tsx
|
||||||
|
+++ b/apps/web/src/app/[locale]/(auth)/login/page.tsx
|
||||||
|
@@ -13,16 +13,6 @@ export default async function LoginPage({ params }: { params: Params }) {
|
||||||
|
<AuthCard>
|
||||||
|
<LoginForm />
|
||||||
|
</AuthCard>
|
||||||
|
- <div className="mt-4 pt-4 text-center text-gray-500 sm:text-base">
|
||||||
|
- <Trans
|
||||||
|
- t={t}
|
||||||
|
- i18nKey="notRegistered"
|
||||||
|
- defaults="Don't have an account? <a>Register</a>"
|
||||||
|
- components={{
|
||||||
|
- a: <Link href="/register" className="text-link" />,
|
||||||
|
- }}
|
||||||
|
- />
|
||||||
|
- </div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
|
@ -95,6 +95,8 @@ buildNpmPackage rec {
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# TODO(eyJhb): openssl is needed, but I can't figure out
|
||||||
|
# how to add it best...?
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
(yarn.override {nodejs = nodejs_20; })
|
(yarn.override {nodejs = nodejs_20; })
|
||||||
rallly-prisma
|
rallly-prisma
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue