because i fucking hate myself.
Go to file
2023-01-10 20:58:52 +02:00
.github/workflows make the switch to master 2022-12-07 15:48:11 +02:00
src fix 2023-01-10 17:55:41 +02:00
static add more tor domains, add cinyn and hydrogen 2023-01-05 14:22:55 +02:00
.dockerignore docker 2022-08-27 19:38:41 +03:00
.gitignore fix build 2022-12-31 14:14:53 +02:00
.prettierignore push initial rewrite (already prod ready!) 2022-06-17 21:52:07 +03:00
.prettierrc push initial rewrite (already prod ready!) 2022-06-17 21:52:07 +03:00
compose.yml improve docs (closes #94) 2023-01-10 20:58:52 +02:00
Dockerfile improve docs (closes #94) 2023-01-10 20:58:52 +02:00
LICENSE add mit license 2022-08-04 20:35:27 +03:00
package.json use mongodb 2023-01-10 16:13:53 +02:00
pnpm-lock.yaml use mongodb 2023-01-10 16:13:53 +02:00
README.md improve docs (closes #94) 2023-01-10 20:58:52 +02:00
svelte.config.js test 2023-01-06 10:01:05 +02:00
tsconfig.json push initial rewrite (already prod ready!) 2022-06-17 21:52:07 +03:00
uno.config.ts add pubnix 2023-01-07 19:29:58 +02:00
vite.config.ts the final fix 2023-01-08 19:07:59 +02:00

Project Segfault website

Live at projectsegfau.lt.

Developing

You need a lot of infrastructure to run a complete version of the website including: Ghost CMS deployment, Authentik authentication, a Discord channel with a webhook and a hCaptcha sitekey and secret from a hCaptcha account.

Prerequisites

Running a dev server.

  1. Clone the repository using git clone https://github.com/ProjectSegfault/website.
  2. Change directory into the clone using cd ./website.
  3. Install dependencies using pnpm i.
  4. Run the dev server using pnpm dev.
  5. Open a browser on http://localhost:5173/ and you should see the website running locally!

Running in production

In production you can run the website through Docker Compose or locally. We strongly recommend using Docker since it makes everything 10 times easier.

Docker

First install Docker and Docker Compose on your system (use Linux if you are sane). After that add the environment variables from the environment variables section and run docker compose up -d in the directory of the source code (or just the compose.yml file if you aren't building from source). If you are using Portainer (if you aren't, start using it) you should add a new stack in the Stacks section and select the compose file option, then copy the compose.yml file.

Locally

If you want to run the website locally in production follow the steps in developing but use node build instead of pnpm dev and expect the website to be in http://localhost:3000.

Environment variables

The website has the following mandatory environment variables

Name Description
AUTH_SECRET Random 32 char secret
AUTH_CLIENT_ID Authentik client ID
AUTH_CLIENT_SECRET Authentik client secret
AUTH_ISSUER Authentication issuer URL
AUTH_TRUST_HOST Your domain
HCAPTCHA_SECRET Your hCaptcha secret
HCAPTCHA_SITEKEY Your hCaptcha sitekey
WEBHOOK Your Discord webhook URL
GHOST_API_KEY Your Ghost CMS API key
DB_URL Your MongoDB url
ORIGIN Your domain