mirror of
https://git.sr.ht/~roxwize/mipilin
synced 2025-01-31 02:53:36 +00:00
compilation
Signed-off-by: roxwize <rae@roxwize.xyz>
This commit is contained in:
parent
dfd27154cd
commit
a2e568e751
5 changed files with 79 additions and 45 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
||||||
node_modules/
|
node_modules/
|
||||||
|
dist/
|
||||||
.env
|
.env
|
||||||
|
|
29
README.md
29
README.md
|
@ -6,3 +6,32 @@
|
||||||
mipilin **mipilin**
|
mipilin **mipilin**
|
||||||
|
|
||||||
![website screenshot](./screenshot.png)
|
![website screenshot](./screenshot.png)
|
||||||
|
|
||||||
|
## Running locally
|
||||||
|
|
||||||
|
```sh
|
||||||
|
## get repository
|
||||||
|
git clone https://git.sr.ht/~roxwize/mipilin
|
||||||
|
cd mipilin
|
||||||
|
|
||||||
|
## setup environment variables
|
||||||
|
cp .env.example .env
|
||||||
|
$EDITOR .env # If $EDITOR is not set, replace it with your text editor of choice
|
||||||
|
|
||||||
|
## start server
|
||||||
|
pnpm install
|
||||||
|
pnpm build # Compile TypeScript files to JavaScript in ./dist/
|
||||||
|
pnpm start
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also run the server's TypeScript directly by using `pnpm dev`.
|
||||||
|
|
||||||
|
### Environment variables
|
||||||
|
|
||||||
|
Keep your `.env` file to yourself. The only non-sensitive field is `LISTEN_ON_SOCKET`.
|
||||||
|
|
||||||
|
| Variable | Description | Required |
|
||||||
|
| -------- | ----------- | -------- |
|
||||||
|
| `LISTEN_ON_SOCKET` | If set to `true` the server will run on a Unix socket at `/run/user/[UUID]/mipilin/mipilin.sock` | no |
|
||||||
|
| `DATABASE_URL` | URL where your PostgresQL database will be accessed | **yes** |
|
||||||
|
| `COOKIE_SECRET` | Can be any string, used to sign cookies | **yes** |
|
||||||
|
|
2
main.ts
2
main.ts
|
@ -137,7 +137,7 @@ object-src 'none'; base-uri 'none';"
|
||||||
|
|
||||||
const path = process.env.LISTEN_ON_SOCKET === "true" ? `/run/user/${process.getuid()}/mipilin/mipilin.sock` : 1337;
|
const path = process.env.LISTEN_ON_SOCKET === "true" ? `/run/user/${process.getuid()}/mipilin/mipilin.sock` : 1337;
|
||||||
app.listen(path, () => {
|
app.listen(path, () => {
|
||||||
console.log(`mipilin is now listening on ${path}!! Requests will be printed below. Good Luck`);
|
console.log(`mipilin is now listening on ${typeof path === "number" ? "https://127.0.0.1:" + path + "/" : path}!! Requests will be printed below. Good Luck`);
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
76
package.json
76
package.json
|
@ -1,39 +1,41 @@
|
||||||
{
|
{
|
||||||
"name": "frontend",
|
"name": "frontend",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "main.ts",
|
"main": "main.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "tsx main.ts"
|
"build": "tsc",
|
||||||
},
|
"start": "node dist/main.js",
|
||||||
"keywords": [],
|
"dev": "tsx main.ts"
|
||||||
"author": "",
|
},
|
||||||
"license": "ISC",
|
"keywords": [],
|
||||||
"dependencies": {
|
"author": "",
|
||||||
"bcrypt": "^5.1.1",
|
"license": "ISC",
|
||||||
"body-parser": "^1.20.3",
|
"dependencies": {
|
||||||
"connect-flash": "^0.1.1",
|
"bcrypt": "^5.1.1",
|
||||||
"connect-pg-simple": "^10.0.0",
|
"body-parser": "^1.20.3",
|
||||||
"dayjs": "^1.11.13",
|
"connect-flash": "^0.1.1",
|
||||||
"dotenv": "^16.4.5",
|
"connect-pg-simple": "^10.0.0",
|
||||||
"drizzle-orm": "^0.36.1",
|
"dayjs": "^1.11.13",
|
||||||
"express": "^4.21.1",
|
"dotenv": "^16.4.5",
|
||||||
"express-session": "^1.18.1",
|
"drizzle-orm": "^0.36.1",
|
||||||
"pg": "^8.13.1",
|
"express": "^4.21.1",
|
||||||
"pug": "^3.0.3",
|
"express-session": "^1.18.1",
|
||||||
"typescript": "^5.6.3"
|
"pg": "^8.13.1",
|
||||||
},
|
"pug": "^3.0.3",
|
||||||
"devDependencies": {
|
"typescript": "^5.6.3"
|
||||||
"@types/bcrypt": "^5.0.2",
|
},
|
||||||
"@types/body-parser": "^1.19.5",
|
"devDependencies": {
|
||||||
"@types/connect-flash": "^0.0.40",
|
"@types/bcrypt": "^5.0.2",
|
||||||
"@types/connect-pg-simple": "^7.0.3",
|
"@types/body-parser": "^1.19.5",
|
||||||
"@types/express": "^5.0.0",
|
"@types/connect-flash": "^0.0.40",
|
||||||
"@types/express-session": "^1.18.0",
|
"@types/connect-pg-simple": "^7.0.3",
|
||||||
"@types/pg": "^8.11.10",
|
"@types/express": "^5.0.0",
|
||||||
"@types/pug": "^2.0.10",
|
"@types/express-session": "^1.18.0",
|
||||||
"drizzle-kit": "^0.28.0",
|
"@types/pg": "^8.11.10",
|
||||||
"tsx": "4.19.2"
|
"@types/pug": "^2.0.10",
|
||||||
}
|
"drizzle-kit": "^0.28.0",
|
||||||
|
"tsx": "4.19.2"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"lib": ["ESNext"],
|
"lib": ["ESNext"],
|
||||||
"target": "ES6",
|
"target": "ES6",
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"moduleResolution": "NodeNext",
|
"moduleResolution": "NodeNext",
|
||||||
"module": "NodeNext"
|
"module": "NodeNext",
|
||||||
}
|
"outDir": "dist/"
|
||||||
|
},
|
||||||
|
"exclude": ["node_modules/", "drizzle.config.ts"]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue