Issues following vanilla Remark deployment from template
Anonymous
HOBBYOP

10 months ago

Hi, I'm not a dev, but am fine with cli etc. I am using an AI agent to help me, and I'm not sure it fully understands Railway.

Problem Description

I have deployed Remark42 using the Railway template. The service shows as "Active" and the deployment logs indicate successful startup, but the service is not accessible via HTTP and the mounted volume is not accessible to the container.

Subject

Remark42 Service Returning 404 on All Endpoints; Volume Mount Not Accessible

Project Details

•Project Name: gracious-rebirth

•Service Name: remark42

•Service ID: 84b25024

•Deployment Region: europe-west4-drams3a

•Public URL: https://remark42-production-de86.up.railway.app

•Docker Image: ghcr.io/umputun/remark42:latest

Issue 1: HTTP 404 on All Endpoints

Observed Behavior:

•All HTTP requests to the service return "404 page not found"

•This includes the root path /, admin panel /admin, and API endpoints /api/

•The HTTP logs show consistent 404 responses

Expected Behavior:

•The Remark42 web interface should be accessible at /admin

•The API should respond at /api/ endpoints

•The root path should serve the Remark42 UI

Evidence:

•HTTP request to / returns 404 (140ms response time )

•HTTP request to /admin returns 404 (140ms response time)

•HTTP request to /favicon.ico returns 404 (140ms response time)

•Service status shows "Active" and deployment was "successful"

Issue 2: Volume Mount Not Accessible

Observed Behavior:

•The volume "remark42-volume" is configured to mount at /srv/var in the Remark42 service

•However, when attempting to write files to /srv/var/ from within the container, the operation fails with "No such file or directory"

•The directory /srv/ does not exist in the container filesystem

Expected Behavior:

•The volume should be mounted and accessible at /srv/var/

•Files written to /srv/var/ should persist on the volume

Evidence:

•Attempted to create file: curl -o /srv/var/remark42_import.jsonl https://...

•Error: "Failed to open the file /srv/var/remark42_import.jsonl: No such file or directory"

•Directory listing shows /srv/ does not exist in the container

Issue 3: Deployment Logs Show Successful Startup

Relevant Log Entries:

Plain Text

2025/12/12 18:04:38.139 [INFO] start server on port :8080 2025/12/12 18:04:38.139 [INFO] make data store, type=bolt 2025/12/12 18:04:38.150 [INFO] run file server from ./web from the disk 2025/12/12 18:04:38.147 [INFO] activate http rest server on :8080

The logs indicate:

•Remark42 is listening on port 8080

•BoltDB data store is initialized

•File server is running

•HTTP REST server is active

However, the service is not responding to HTTP requests on the public URL.

Service Configuration

Environment Variables

Plain Text

DEBUG: false REMARK_URL: https://remark42-production-de86.up.railway.app SECRET: [configured] SITE_ID: WriterSite AWS_ACCESS_KEY_ID: [configured] AWS_SECRET_ACCESS_KEY: [configured] AWS_DEFAULT_REGION: [configured] AWS_ENDPOINT_URL: [configured] AWS_S3_BUCKET_NAME: [configured]

Volume Configuration

•Volume Name: remark42-volume

•Mount Path: /srv/var

•Size: 5.00 GB

Networking

•Public Domain: remark42-production-de86.up.railway.app

•Metal Edge: Yes (as shown in deployment details )

Questions for Support

1.HTTP Routing Issue: Why are all HTTP requests returning 404 when the service logs show the HTTP server is active on port 8080? Is there a routing configuration issue with Railway's Metal Edge proxy?

2.Volume Mount Issue: Why is the volume not accessible at /srv/var/ inside the container, despite being configured to mount there? Is there a known issue with volume mounts on Railway Metal?

3.File Server Issue: The logs show "run file server from ./web from the disk", but the web files appear to be served correctly (based on the directory listing in the logs). Why might the HTTP server not be responding to requests?

4.Container Filesystem: Is there a way to verify the actual mount path of the volume inside the container? The UI shows /srv/var, but the container doesn't seem to have this path.

Steps Already Taken

1. Deployed Remark42 from Railway template

2. Configured all required environment variables

3. Attached volume to service

4. Verified deployment was successful

5. Checked HTTP logs (all showing 404)

6. Reviewed deployment logs (show successful startup)

7. Attempted to access service via public URL (404)

8. Attempted to access service via admin panel (404)

Attachments

•Deployment logs (full output available)

•HTTP logs (showing 404 responses)

•Service configuration screenshots

•Volume mount configuration screenshot

Desired Outcome

I would like to:

1.Get the Remark42 service responding to HTTP requests

2.Verify the volume is properly mounted and accessible

3.Be able to import 413 comment records into the Remark42 database

Solved$10 Bounty

Pinned Solution

jqcktalks
FREE

10 months ago

Going to https://remark42-production-de86.up.railway.app/api/v1/ping, https://remark42-production-de86.up.railway.app/api/v1/find and https://remark42-production-de86.up.railway.app/web/ seem to resolve correctly and seem to be responding to HTTP requests.

If your image does not contain /srv/ then Railway won't be able to mount to it. A good choice is to mount the volume onto a directory that already exists (e.g. /data or /var/lib/remark42).

You'd then need to change the mount path inside Railway and also the STORE_BOLT_PATH variable.

If you have to use /srv/var, then you can run the command mkdir -p /srv/var && /remark42 - this works, but if you want a cleaner option then the first one I provided should work best.

7 Replies

Anonymous
HOBBYOP

10 months ago

I've tried deploying without Metal, tried restarting, tried with Metal again - all result in 404 response to http requests.


jqcktalks
FREE

10 months ago

Going to https://remark42-production-de86.up.railway.app/api/v1/ping, https://remark42-production-de86.up.railway.app/api/v1/find and https://remark42-production-de86.up.railway.app/web/ seem to resolve correctly and seem to be responding to HTTP requests.

If your image does not contain /srv/ then Railway won't be able to mount to it. A good choice is to mount the volume onto a directory that already exists (e.g. /data or /var/lib/remark42).

You'd then need to change the mount path inside Railway and also the STORE_BOLT_PATH variable.

If you have to use /srv/var, then you can run the command mkdir -p /srv/var && /remark42 - this works, but if you want a cleaner option then the first one I provided should work best.


Anonymous
HOBBYOP

10 months ago

I'll see where this gets me - promise I'll come back and accept the solution if it helps even a bit!


jqcktalks
FREE

10 months ago

Thank you, best of luck!


jqcktalks
FREE

10 months ago

Hey - did this help you at all?


Anonymous
HOBBYOP

10 months ago

Getting round to trying it! side hustle!


jqcktalks

Hey - did this help you at all?

Anonymous
HOBBYOP

10 months ago

Accepted - it says it's doing some checking. Thank you!


Status changed to Solved noahd • 10 months ago


Welcome!

Sign in to your Railway account to join the conversation.

Loading...