How this site runs from a home server
NeuroDynamic.Tech runs on a home server. The published site combines the web application, a database, file storage and a web proxy. Keeping the setup documented makes it easier to maintain and recover.
The application and its data
The original application uses Next.js, PostgreSQL and Prisma. Discussions and account records belong in the database; uploaded images use S3-compatible object storage accessed through the app.
The initial build used MinIO for that storage. The service has since moved to Garage. Public requests reach the home server through Cloudflare Tunnel and Caddy, rather than connecting directly to the storage service.
Deployment
Docker Compose manages the services. This is the deployment command recorded in the original build:
cd /path/to/site
docker compose up -d --build
A deployment needs the correct configuration, available storage and a recovery plan as well as a successful build. Database migrations run as part of the application startup; changes should be checked in a separate environment first.
Accounts and uploads
The application stores password hashes and hashed session tokens rather than plaintext passwords or session tokens. Uploads are served through the application. These choices still need permission checks, maintenance and security review.
Testing everyday journeys
The original Playwright checks covered registering, changing display settings, posting and replying, uploading an avatar, reporting content and keyboard navigation. This is the test command from that build:
NODE_PATH=$PWD/node_modules node docs/e2e.js
One test initially selected the header’s Sign out button instead of the intended form submission. Selecting by role and accessible name made the action more specific. Another deployment issue came from copying a command-line shim without its expected dependency paths.
Backups and recovery
The original build recorded this database backup command:
docker compose exec db pg_dump -U <dbuser> <dbname> > backup-$(date +%F).sql
A database dump is only part of the recovery process. Uploaded files and required configuration need their own coverage. Restore into a separate environment and check that the application can use the recovered data.
Coding assistance
AI tools helped write and check the code. The site’s purpose is to share useful projects and make room for conversation.
Trying changes here
This sister preview is separate from the published application. It lets us try the navigation, page layouts and wording before deciding what to bring across. Preview posts and replies stay in the browser; they are not shared with the published community.