Skip to content
Back

404 page not found

  • 0
  • Self Hosted
  • Sites
  • Web
Marten Mrfc
6 Apr, 2026, 16:36

Hey I am trying to run a simple Svelte-kit project on appwrite self-hosted but the logs says:

TypeScript
[13:56:26] [open-runtimes] Build packaging finished. 
[13:56:26] [open-runtimes] Build finished. 
[13:56:30] [appwrite] Deployment finished. 

But than when I go to the url it says literally 404 page not found

Does anyone know what I am doing wrong? -# The sveltekit project is located in the ./frontend/web of my private gh repo

TL;DR
Resolution: Update your adapter in svelte.config.js to use @sveltejs/adapter-node instead of adapter-static or any other adapter to match Appwrite's SSR runtime expectations. Ensure the output directory in Appwrite settings matches what is set in the adapter config. Developers shared that the issue is likely a mismatch with the adapter being used. Make sure your svelte.config.js is using @sveltejs/adapter-node for server-side rendering.
Favour olivet
6 Apr, 2026, 17:57

The issue is almost certainly the adapter mismatch you have Server side rendering selected, which requires @sveltejs/adapter-node, but if your svelte.config.js is still using adapter-static or any other adapter, Appwrite won't know how to serve the app correctly, hence the 404. Can you share what adapter is currently set in your svelte.config.js?

Marten Mrfc
6 Apr, 2026, 18:02

svelte.config.js

TypeScript
import adapter from '@sveltejs/adapter-node';
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';

/** @type {import('@sveltejs/kit').Config} */
const config = {
    preprocess: vitePreprocess(),
    kit: {
        adapter: adapter(),
        alias: { $components: 'src/components' },
    },
    runes: true,
    vitePlugin: {
        dynamicCompileOptions: ({ filename }) =>
            filename.includes('node_modules') ? undefined : { runes: true },
    },
};

export default config;
Favour olivet
6 Apr, 2026, 19:06

Your adapter config looks correct, so the issue is likely that Appwrite's SSR runtime expects the server entry point at a specific path and adapter-node outputs it differently by default. You need to set the output option in your adapter config to match what Appwrite expects.

Favour olivet
6 Apr, 2026, 19:07

Try updating your adapter like this:

adapter({ out: 'build' })

Also make sure your output directory in the Appwrite settings matches that it's currently set to ./build which should be right. I've actually worked through a few Appwrite + SvelteKit deployment issues before. Shoot me a DM if you want me to help you get this fully sorted quickly!

Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more