Coder Social home page Coder Social logo

alphanecron / void Goto Github PK

View Code? Open in Web Editor NEW
219.0 1.0 11.0 103 MB

Fast and elegant file hosting service.

License: MIT License

JavaScript 0.66% Shell 0.05% TypeScript 98.46% Dockerfile 0.83%
sharex sharex-server image image-hosting reactjs typescript javascript nextjs react file-upload

void's Introduction

Banner

A feature-rich self-hosted file hosting service.

Build v1 Docker v1 Stars Version Last commit

Warning This release is not fully stable and may subject to major changes in the future.
Neutron is not ready for usage due to uncompleted features.

Requirements

  • node >= 16
  • postgresql >= 14
  • yarn >= 3

Installation / Deployment

git clone https://github.com/AlphaNecron/Void.git --branch=v1
cd Void
yarn install # or npm install
cp config.example.json config.json
nano config.json # edit the config file
yarn prod # to build and start the production server
# or
yarn dev # to start the development server

Docker

git clone https://github.com/AlphaNecron/Void.git --branch=v1
cd Void
cp config.example.json config.json
nano config.json # edit the config file
docker pull alphanecron/void:v1
docker run -p 3000:3000 -v $PWD/config.json:/void/config.json -d alphanecron/void:v1

Docker compose

git clone https://github.com/AlphaNecron/Void.git --branch=v1
cd Void
cp config.example.json config.json
nano config.json # edit the config file
docker-compose up --build -d

Reverse proxy (with nginx)

server {
    listen              443 ssl;
    server_name         your.domain;
    ssl_certificate     /path/to/cert;
    ssl_certificate_key /path/to/key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    client_max_body_size 100M;
    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Config schema

{
  "void": {
    "useHttps": false,
    // Whether to enable HTTPS for URLs created returned by API.
    "host": "0.0.0.0",
    // The host Void should run on.
    "port": 3000,
    // The port Void should run on.
    "secret": "secretmin32characters",
    // The secret key used to hash cookies. (*)
    "rateLimit": 1200,
    // Rate limit for users per hour. (**)
    "defaultDomain": "http://localhost:3000",
    // The base domain used for multiple purposes.
    "databaseUrl": "postgres://postgres:postgres@postgres/postgres",
    // The Postgres database URL.
    "url": {
      "allowVanityUrl": true,
      // Whether to allow users to shorten with vanity URLs.
      "length": 6
      // The maximum length for URLs generated with shortener and uploader.
    },
    "discordProvider": {
      "clientId": "YOUR DISCORD CLIENT ID",
      // Discord client id, you can grab one in the Application dashboard.
      "clientSecret": "YOUR DISCORD CLIENT SECRET"
      // Discord client secret, you can grab one in the Application dashboard as well.
    },
    "upload": {
      "outputDirectory": "./uploads",
      // The directory to save uploaded files.
      "blacklistedExtensions": [
        ".zip",
        ".exe"
      ]
      // Prevent users from uploading files with certain extensions. (**)
    }
  },
  "neutron": {
    "enabled": false,
    // Whether to enable the Discord bot
    "token": "YOUR_DISCORD_BOT_TOKEN",
    // Your Discord bot token
    "clientId": "YOUR_DISCORD_APP_CLIENT_ID"
    // Your Discord bot client id
  }
}

(*): If it is empty, a random key will be generated, otherwise, it must be at least 32 characters.
(**) Users with ADMINISTRATION permission or higher will not be affected by this.

Features

  • Configurable
  • Fast with eye-catching UI
  • Easy to install
  • Embed customization
  • Custom file viewer for texts, videos, images and audio files
  • Multiple URL charsets (alphanumeric, emoji and invisible)
  • Comes with prebuilt Docker images
  • Discord integration (Login with Discord)
  • Open registration with referral codes
  • Web upload with progress
  • Dedicated Discord bot, mobile application as well as desktop application (WIP).
    and more...

Techstack

Credits

  • v0 codebase from diced/zipline
  • Logo and favicon from icons8

Contributors

Contributors

Default credentials

  • Username: void
  • Password: voiduser

void's People

Contributors

alphanecron avatar mzch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

void's Issues

Couple build issues

  1. Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style (I have to change the linebreak style manually in .eslintrc.js
  2. ./src/pages/_document.tsx 2:1 Error: next/document should not be imported outside of pages/_document.js. See https://nextjs.org/docs/messages/no-document-import-in-page. @next/next/no-document-import-in-page (Fixed by updating next/es-config-next to latest, 11.1.3)
  3. I don't know how to solve this one
Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Minified React error #321; visit https://reactjs.org/docs/error-decoder.html?invariant=321 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    at S (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:18:327)
    at exports.useMemo (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:23:109)
    at useStore (E:\Downloads\New folder\void\.next\server\chunks\271.js:103:37)
    at Void (E:\Downloads\New folder\void\.next\server\pages\_app.js:43:84)
    at d (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:33:498)
    at bb (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:36:16)
    at a.b.render (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:42:43)
    at a.b.read (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:41:83)
    at Object.exports.renderToString (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:52:138)
    at Object.renderPage (E:\Downloads\New folder\Void\node_modules\next\dist\server\render.js:596:45)

Error occurred prerendering page "/auth/login". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Minified React error #321; visit https://reactjs.org/docs/error-decoder.html?invariant=321 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    at S (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:18:327)
    at exports.useMemo (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:23:109)
    at useStore (E:\Downloads\New folder\void\.next\server\chunks\271.js:103:37)
    at Void (E:\Downloads\New folder\void\.next\server\pages\_app.js:43:84)
    at d (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:33:498)
    at bb (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:36:16)
    at a.b.render (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:42:43)
    at a.b.read (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:41:83)
    at Object.exports.renderToString (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:52:138)
    at Object.renderPage (E:\Downloads\New folder\Void\node_modules\next\dist\server\render.js:596:45)

Error occurred prerendering page "/dash". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Minified React error #321; visit https://reactjs.org/docs/error-decoder.html?invariant=321 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    at S (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:18:327)
    at exports.useMemo (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:23:109)
    at useStore (E:\Downloads\New folder\void\.next\server\chunks\271.js:103:37)
    at Void (E:\Downloads\New folder\void\.next\server\pages\_app.js:43:84)
    at d (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:33:498)
    at bb (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:36:16)
    at a.b.render (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:42:43)
    at a.b.read (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:41:83)
    at Object.exports.renderToString (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:52:138)
    at Object.renderPage (E:\Downloads\New folder\Void\node_modules\next\dist\server\render.js:596:45)

Error occurred prerendering page "/dash/users". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Minified React error #321; visit https://reactjs.org/docs/error-decoder.html?invariant=321 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    at S (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:18:327)
    at exports.useMemo (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:23:109)
    at useStore (E:\Downloads\New folder\void\.next\server\chunks\271.js:103:37)
    at Void (E:\Downloads\New folder\void\.next\server\pages\_app.js:43:84)
    at d (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:33:498)
    at bb (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:36:16)
    at a.b.render (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:42:43)
    at a.b.read (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:41:83)
    at Object.exports.renderToString (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:52:138)
    at Object.renderPage (E:\Downloads\New folder\Void\node_modules\next\dist\server\render.js:596:45)

Error occurred prerendering page "/dash/urls". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Minified React error #321; visit https://reactjs.org/docs/error-decoder.html?invariant=321 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    at S (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:18:327)
    at exports.useMemo (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:23:109)
    at useStore (E:\Downloads\New folder\void\.next\server\chunks\271.js:103:37)
    at Void (E:\Downloads\New folder\void\.next\server\pages\_app.js:43:84)
    at d (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:33:498)
    at bb (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:36:16)
    at a.b.render (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:42:43)
    at a.b.read (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:41:83)
    at Object.exports.renderToString (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:52:138)
    at Object.renderPage (E:\Downloads\New folder\Void\node_modules\next\dist\server\render.js:596:45)

Error occurred prerendering page "/dash/upload". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Minified React error #321; visit https://reactjs.org/docs/error-decoder.html?invariant=321 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    at S (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:18:327)
    at exports.useMemo (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:23:109)
    at useStore (E:\Downloads\New folder\void\.next\server\chunks\271.js:103:37)
    at Void (E:\Downloads\New folder\void\.next\server\pages\_app.js:43:84)
    at d (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:33:498)
    at bb (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:36:16)
    at a.b.render (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:42:43)
    at a.b.read (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:41:83)
    at Object.exports.renderToString (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:52:138)
    at Object.renderPage (E:\Downloads\New folder\Void\node_modules\next\dist\server\render.js:596:45)
[ ===] info  - Generating static pages (6/7)
Error occurred prerendering page "/dash/files". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Minified React error #321; visit https://reactjs.org/docs/error-decoder.html?invariant=321 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    at S (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:18:327)
    at exports.useMemo (E:\Downloads\New folder\void\node_modules\react\cjs\react.production.min.js:23:109)
    at useStore (E:\Downloads\New folder\void\.next\server\chunks\271.js:103:37)
    at Void (E:\Downloads\New folder\void\.next\server\pages\_app.js:43:84)
    at d (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:33:498)
    at bb (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:36:16)
    at a.b.render (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:42:43)
    at a.b.read (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:41:83)
    at Object.exports.renderToString (E:\Downloads\New folder\Void\node_modules\react-dom\cjs\react-dom-server.node.production.min.js:52:138)
    at Object.renderPage (E:\Downloads\New folder\Void\node_modules\next\dist\server\render.js:596:45)
info  - Generating static pages (7/7)

> Build error occurred
Error: Export encountered errors on following paths:
        /
        /auth/login
        /dash
        /dash/files
        /dash/upload
        /dash/urls
        /dash/users
    at E:\Downloads\New folder\Void\node_modules\next\dist\export\index.js:487:19
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Span.traceAsyncFn (E:\Downloads\New folder\Void\node_modules\next\dist\telemetry\trace\trace.js:60:20)
    at async E:\Downloads\New folder\Void\node_modules\next\dist\build\index.js:833:17
    at async Span.traceAsyncFn (E:\Downloads\New folder\Void\node_modules\next\dist\telemetry\trace\trace.js:60:20)
    at async E:\Downloads\New folder\Void\node_modules\next\dist\build\index.js:707:13
    at async Span.traceAsyncFn (E:\Downloads\New folder\Void\node_modules\next\dist\telemetry\trace\trace.js:60:20)
    at async Object.build [as default] (E:\Downloads\New folder\Void\node_modules\next\dist\build\index.js:77:25)
ERROR: "build:next" exited with 1.

Failed to compile.

rafael@pop-os:~$ yarn build
yarn run v1.22.19
warning ../../../package.json: No license field
$ npm-run-all build:schema build:next

[email protected] build:schema
prisma generate --schema=prisma/schema.prisma

Prisma schema loaded from prisma/schema.prisma

✔ Generated Prisma Client (v5.6.0-dev.56) to ./node_modules/@prisma/client in 98ms

Start using Prisma Client in Node.js (See: https://pris.ly/d/client)

import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()

or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate)

import { PrismaClient } from '@prisma/client/edge'
const prisma = new PrismaClient()

See other ways of importing Prisma Client: http://pris.ly/d/importing-client

[email protected] build:next
next build

info - Using webpack 5. Reason: Enabled by default https://nextjs.org/docs/messages/webpack5
Failed to compile.

./node_modules/@prisma/client/runtime/library.d.ts:1305:35
Type error: '?' expected.

1303 |
1304 | export declare type GetFindResult<P extends OperationPayload, A> = Equals<A, any> extends 1 ? DefaultSelection

: A extends {

1305 | select: infer S extends object;
| ^
1306 | } & Record<string, unknown> | {
1307 | include: infer I extends object;
1308 | } & Record<string, unknown> ? {
info - Checking validity of types .ERROR: "build:next" exited with 1.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Installing via Docker-compose doesn't allow logins.

HI, well done on this software, looks great, however I am having issues logging into the web interface.

I had followed the steps to run with compose and only thing I had changed in the config.toml was the database URL to @ localhost:5432 rather than @ postgress.

Previous to this change I would get a toast notification saying user not found for the default login.

After this change it gives an 500 error on the /api/auth/login

Any more info I need to add just ask and I can do testing on my deployment.

Files taking a very long time to upload suddenly.

I've passed around 550 files uploaded in my Void instance and now whenever I upload something using ShareX (and only ShareX), everything takes like 3 times long to upload. A minute and a half will pass before each upload, it works fine in the web client. I'm not sure if this is a ShareX issue but I don't have this issue with anything other than my Void config. I should also say this isn't always consistent, sometimes it works as normal and sometimes it doesn't. I see nothing in my logs that is abnormal.

Adding Domain with Nginx breaks stuff

Major Issues

When you add a nginx server to add a domain, lots of stuff breaks such as the embeds in discord and the viewer when you go to {ipaddress}.com/{firename}.

Picture Viewer
Such as the viewer is the photo below.
7IilOl
So I have changed values to redirect to domain.com/r/{filename.extension} which means the pictures show up like this
chrome_VpBgJUaW9h

This comes up when requesting domain.com/{firename}.
FetchError: request to http://domain.extension/r/WvutuQ.png failed, reason: connect ECONNREFUSED {ipaddress}:80 at ClientRequest.<anonymous> (/root/Void/node_modules/node-fetch/lib/index.js:1491:11) at ClientRequest.emit (node:events:390:28) at ClientRequest.emit (node:domain:475:12) at Socket.socketErrorListener (node:_http_client:447:9) at Socket.emit (node:events:390:28) at Socket.emit (node:domain:475:12) at emitErrorNT (node:internal/streams/destroy:157:8) at emitErrorCloseNT (node:internal/streams/destroy:122:3) at processTicksAndRejections (node:internal/process/task_queues:83:21) { type: 'system', errno: 'ECONNREFUSED', code: 'ECONNREFUSED' }
I think it has to do with the js file trying to fetch from http but I'm not sure how to fix that

Broken Embeds
The top is with the domain the bottom is with the url of the VPS
Discord_adZz1l1qt9

Blocked File Types
Regardless of the domain I can upload exe's despite them being blocked in the config file

File Upload Limiter
Regardless of the domain I can upload files of any size despite them being blocked in the config file

I appreciate that this is all free work etc.

If I could get help to fix these I would be happy to donate to the author if you are accepting because the rest of the source is all working and is pretty nice.

Besides that everything else seemed to have worked, I had to change the discord bot to use the /r/{filename.extension} so the pictures show up in the embeds

Making a new user without making them an Administrator

I want to give someone access to use my Void instance as a screenshot service with ShareX, however I don't want them to be able to delete my account. How do I accomplish this? The site says that ticking the administrator box is required.

I'm getting this error

Invalid `prisma.user.findFirst()` invocation:


  User `pterodactyl` was denied access on the database `pterodactyl.public`
    at cb (/workspace/Testing-Stuff/Void/node_modules/@prisma/client/runtime/index.js:38741:17)
    at async handler (/workspace/Testing-Stuff/Void/.next/server/pages/api/auth/login.js:30:16)
    at async Object.apiResolver (/workspace/Testing-Stuff/Void/node_modules/next/dist/server/api-utils.js:101:9)
    at async Server.handleApiRequest (/workspace/Testing-Stuff/Void/node_modules/next/dist/server/next-server.js:770:9)

bytes.toFixed is not a function

Hi!
Recently i've setup Void on my VPS, and im having an issue that randomly appears when uploading any type of file.
Im using docker-compose version.
fd55205375 1

And website is returning this type of error:
https://i.bartoszewski.xyz/58f8a9e287.png
Example URL with this error:
https://bartoszewski.solutions/%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8C%E2%80%8D
It's really weird and i have no idea why it's happenning, since it doesn't appear everytime someone uploads a file, but it happens quite often.

Attribution

It has been brought to my attention that many parts of this codebase seem to be exact copies or similar to https://github.com/diced/zipline. While this may be okay when done under a fork, what's being done here is not exactly correct. Whenever there are updates to Zipline it seems that they are also comitted here, with no attribution to Zipline. This is a warning and any further action will be taken if this isn't made as a fork. I'm open to discussion if you would like to talk things out.

Here are some files that resemble a near 100% copy. The first column is Zipline and the last is Void.

zipline/Dockerfile Void/Dockerfile
zipline/.dockerignore Void/.dockerignore
zipline/.husky/commit-msg Void/.husky/commit-msg
zipline/LICENSE Void/LICENSE
zipline/next-env.d.ts Void/next-env.d.ts
zipline/package.json Void/package.json
zipline/prisma/migrations/20210827202147_favorite/migration.sql Void/prisma/migrations/20210926091433_url_shortener/migration.sql
zipline/prisma/migrations/20210901024501_embed_image/migration.sql Void/prisma/migrations/20210926091433_url_shortener/migration.sql
zipline/prisma/migrations/20210925030428_vanity_url/migration.sql Void/prisma/migrations/20210926091433_url_shortener/migration.sql
zipline/prisma/migrations/20211003022626_site_name/migration.sql Void/prisma/migrations/20210926091433_url_shortener/migration.sql
zipline/prisma/migrations/migration_lock.toml Void/prisma/migrations/migration_lock.toml
zipline/src/lib/hooks/useFetch.ts Void/src/lib/hooks/useFetch.ts
zipline/src/lib/prisma.ts Void/src/lib/prisma.ts
zipline/src/lib/redux/reducers.ts Void/src/lib/redux/reducers.ts
zipline/src/lib/redux/reducers/user.ts Void/src/lib/redux/reducers/user.ts
zipline/src/lib/redux/store.ts Void/src/lib/redux/store.ts
zipline/yarn.lock Void/yarn.lock

There are many other files that also have copies yet they won't be picked up as the frontend was changed.

Void doesn't work

Hello, I installed void using docker-compose.

First I created a stack with docker compose in my portainer instance :

version: '3'
services:
postgres:
image: postgres
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=psswd_postgres
- POSTGRES_DATABASE=postgres
volumes:
- /srv/dev-disk-by-uuid-cc443bd6-ba0c-41aa-8bab-c22c9ece341a/void/pg_data:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U postgres']
interval: 10s
timeout: 5s
retries: 5
void:
image: ghcr.io/alphanecron/void/void:v0
ports:
- '3001:3000'
restart: unless-stopped
volumes:
- '/srv/dev-disk-by-uuid-cc443bd6-ba0c-41aa-8bab-c22c9ece341a/void/uploads:/void/uploads'
- '/srv/dev-disk-by-uuid-cc443bd6-ba0c-41aa-8bab-c22c9ece341a/void/public:/void/public'
- '/srv/dev-disk-by-uuid-cc443bd6-ba0c-41aa-8bab-c22c9ece341a/void/config.toml:/void/config.toml'
depends_on:
- 'postgres'
volumes:
pg_data:

Then, on the following folder (/srv/dev-disk-by-uuid-cc443bd6-ba0c-41aa-8bab-c22c9ece341a/void/config.toml:/void/config.toml), I created a config.toml :

[core]
secure = false # Whether to use https or not
secret = 'ThisIsTheVerySecretPassword' # The secret used to sign cookie
host = '192.168.1.25' # The host Void should run on
port = 3001 # The port Void should run on
database_url = 'postgres://postgres:passwd_postgres@localhost:5432/portgres' # PostgreSQL database url

[bot]
enabled = false # Whether to enable the bot or not
prefix = '&' # Bot's prefix
token = '' # Bot's token
admin = [''] # Admin ids
log_channel = '' # The channel where logs are sent, leave blank to disable logging
default_uid = 1 # The default user id used to shorten and upload
hostname = 'example.com' # The hostname shortened urls should use in Twilight

[shortener]
allow_vanity = true # Whether to allow vanity urls or not
length = 6 # Slug length
route = '/go' # Route to serve shortened urls

[uploader]
raw_route = '/r' # Route to serve raw contents
length = 6 # Slug length
directory = './uploads' # The directory where images are stored
max_size = 104857600 # Max upload size (users only), in bytes
blacklisted = ['exe'] # Blacklisted file extensions (users only)

I just edited the core part, just to access to the UI. For information, my docker instance has 192.168.1.25 as local IP adress.

The log of the container named "void_file_void_1" is :

yarn run v1.22.17
$ ts-node --compiler-options "{"module":"commonjs"}" server.ts
11:14:53 AM INFO/CONFIG Reading config file
Error: EISDIR: illegal operation on a directory, read
at Object.readSync (fs.js:617:3)
at tryReadSync (fs.js:382:20)
at readFileSync (fs.js:419:19)
at readConfig (/void/src/lib/configReader.ts:40:29)
at Object. (/void/src/lib/config.ts:4:47)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Module.m._compile (/void/node_modules/ts-node/src/index.ts:1475:23)
at Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Object.require.extensions. [as .ts] (/void/node_modules/ts-node/src/index.ts:1478:12)
at Module.load (internal/modules/cjs/loader.js:950:32) {
errno: -21,
syscall: 'read',
code: 'EISDIR'
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

The log of the container "void_file_postgres_1" is on this site .

After all, I cannot access to the webUI on 192.128.1.25:3001 and I need some help please.

SyntaxError: Cannot use import statement outside a module

(node:26052) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:
--import 'data:text/javascript,import { register } from "node:module"; import { pathToFileURL } from "node:url"; register("file%3A///C%3A/Users/....../Void/node_modules/tsx/dist/loader.js", pathToFileURL("./"));'
(Use `node --trace-warnings ...` to show where the warning was created)
(node:26052) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(node:26052) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
C:\Users\....\Void\server\index.ts:1
import {Server} from 'void';
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at internalCompileFunction (node:internal/vm:77:18)
    at wrapSafe (node:internal/modules/cjs/loader:1288:20)
    at Module._compile (node:internal/modules/cjs/loader:1340:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at cjsLoader (node:internal/modules/esm/translators:345:17)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:294:7)
    at ModuleJob.run (node:internal/modules/esm/module_job:218:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:329:24)

Node.js v21.2.0

Upload from terminal

Hello, is it possible to upload using terminal? using curl maybe? How to do it?
Thanks.

codes

how do i make Referral code

help

can someone help me fix how there is no make user button

yarn build error

Got this when I ran yarn build - i had to shrink it

100:24 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
101:21 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
102:30 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
103:42 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
104:44 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
105:112 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
106:75 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
107:99 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
108:84 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
109:37 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
110:23 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
111:27 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
112:42 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
113:44 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
114:105 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
115:75 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
116:94 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
117:37 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
118:23 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
119:27 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
120:57 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
121:38 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
122:36 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
123:79 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
124:47 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
125:37 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
126:23 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
127:27 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
128:31 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
129:31 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
130:29 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
131:27 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
132:44 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
133:25 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
134:26 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
135:18 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
136:42 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
137:88 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
138:162 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
139:33 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
140:33 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
141:22 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
142:15 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
143:20 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
144:26 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
145:17 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
146:14 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
147:16 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
148:15 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
149:24 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
150:30 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
151:26 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
152:33 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
153:33 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
154:28 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
155:16 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
156:17 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
157:16 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
158:35 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
159:25 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
160:32 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
161:38 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
162:64 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
163:19 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
164:77 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
165:20 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
166:40 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
167:19 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
168:48 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
169:141 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
170:19 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
171:20 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style
172:18 Error: Expected linebreaks to be 'LF' but found 'CRLF'. linebreak-style

info - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
ERROR: "build:next" exited with 1.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Add default login info to README

As mentioned in issues #34 #27 #16 it is unclear what the default login information is, as it is not stated in the README. I'd suggest adding a small header with this info as it makes more sense than searching through the repo's issues (it's also just 2 lines of text ¯_(ツ)_/¯).

Can you add 'latest' tag for Docker images?

Hello, first of all, congrats for your work. Love it! Perfect design.

Now, as mentioned in the title, I would like to know if you can add the 'latest' tag for future releases. I think, it will make easier the installation. Currently, the latest one is 'v0'.

So, with 'alphanecron/void:latest' would pull the latest version automatically.

Thank you.

Database_URL on Yarn Build

[    ] info  - Generating static pages (0/7)(node:20666) UnhandledPromiseRejectionWarning: Error: error: Environment variable not found: DATABASE_URL.
  -->  schema.prisma:3
   |
 2 |   provider = "postgresql"
 3 |   url      = env("DATABASE_URL")
   |

Validation Error Count: 1
    at Object.loadEngine (/home/pi/6tbdata/Void/node_modules/@prisma/client/runtime/index.js:35582:19)
    at async Object.instantiateLibrary (/home/pi/6tbdata/Void/node_modules/@prisma/client/runtime/index.js:35511:5)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:20666) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:20666) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
info  - Generating static pages (7/7)
info  - Finalizing page optimization

In the config.toml the database url is set, but I get this when running yarn build, using node 14.19.3 and yarn 1.22.18

unable to upload file , "Unexpected token I in JSON at position 0"

after succeful login to Void with admin , I can not upload anyfile due to the error "Unexpected token I in JSON at position 0"
docker logs show

 12:47:25 PM  INFO/FILE  User admin (1) uploaded a file: iMx6Sb.wzr-hp-ag300n_tftp方式_WAN (4)
TypeError: Cannot read property 'logFile' of undefined
    at handler (/void/.next/server/pages/api/upload.js:94:17)
    at async Object.apiResolver (/void/node_modules/next/dist/server/api-utils.js:101:9)
    at async Server.handleApiRequest (/void/node_modules/next/dist/server/next-server.js:770:9)
    at async Object.fn (/void/node_modules/next/server/next-server.ts:975:24)
    at async Router.execute (/void/node_modules/next/server/router.ts:346:21)
    at async Server.run (/void/node_modules/next/server/next-server.ts:1229:20)
    at async Server.handleRequest (/void/node_modules/next/dist/server/next-server.js:292:20)

and in browser , there's something like

but the file did upload.

chchang@cch-acer:~/git/Void$ ls -lart uploads/
總用量 36
-rwxrwxrwx  1 root    root    2894 Nov 10 20:46 419G5S.py
-rwxrwxrwx  1 root    root    2031 Nov 10 20:46 lyf4iw.wzr-hp-ag300n_tftp
-rw-r--r--  1 root    root    2031 Nov 10 20:47 mARA9E.wzr-hp-ag300n_tftp
-rw-r--r--  1 root    root    2031 Nov 10 20:47 iMx6Sb.wzr-hp-ag300n_tftp方式_WAN
-rw-r--r--  1 root    root    2031 Nov 10 20:47 jFn1wJ.wzr-hp-ag300n_tftp方式_WAN
-rw-r--r--  1 root    root    2031 Nov 10 20:49 nYsGHz.wzr-hp-ag300n_tftp方式_WAN
drwxrwxrwx  2 root    root    4096 Nov 10 20:50 .
chchang@cch-acer:~/git/Void$ 

and I can see the files in files/list

but show none in grid

user logged in shows as an admin

  • I'm using docker image v0, and run using docker-compose
  • login as default admin
  • create new user (not administrator)
  • logout and then login using new created user
  • Dashboard should show for logged user only (this is just a suggestion)
  • Top right info should be logged user, currently it show as admin (I think this should be fixed)
    image
    Thanks.

Error while uploading the file

JSON.parse: unexpected character at line 1 column 1 of the JSON data

I am uploading .mp4 file which is 158MB and i got this error.

Error attempting to `yarn prisma db seed`

Hi @AlphaNecron , I'm encountering an error when attempting this (docker-compose). Any ideas?

/void # export DATABASE_URL=postgres://postgres:<password>@postgres/postgres
/void # yarn prisma db seed
yarn run v1.22.15
$ /void/node_modules/.bin/prisma db seed
Running seed command `ts-node --compiler-options {"module":"commonjs"} prisma/seed.ts` ...
PrismaClientKnownRequestError: 
Invalid `prisma.user.aggregate()` invocation:

  The table `public.User` does not exist in the current database.
    at cb (/void/node_modules/@prisma/client/runtime/index.js:38537:17)
    at async main (/void/prisma/seed.ts:8:17) {
  code: 'P2021',
  clientVersion: '3.3.0',
  meta: { table: 'public.User' }
}

An error occured while running the seed command:
Error: Command failed with exit code 1: ts-node --compiler-options {"module":"commonjs"} prisma/seed.ts

I've also tried npx... with the same result.

To further elaborate: postgres container is running. I see the following errors in the container:

2022-02-15 15:14:17.132 UTC [1019] ERROR:  relation "public.User" does not exist at character 56
2022-02-15 15:19:43.828 UTC [1297] STATEMENT:  SELECT COUNT(*) FROM (SELECT "public"."User"."id" FROM "public"."User" WHERE 1=1 OFFSET $1) AS "sub"
2022-02-15 15:14:17.132 UTC [1019] STATEMENT:  SELECT COUNT(*) FROM (SELECT "public"."User"."id" FROM "public"."User" WHERE 1=1 OFFSET $1) AS "sub"
2022-02-15 15:19:43.828 UTC [1297] ERROR:  relation "public.User" does not exist at character 56

Thank you,

Originally posted by @tmeuze in #16 (comment)

Railway errors

8:35:52 AM ERR/SERVER Error: listen EACCES: permission denied 0.0.0.0:80

Is your server listening on $PORT correctly

Wont start v1

[23:51:38] Void › ℹ info Reading config file
[23:51:38] Void › ✖ error Cannot read properties of undefined (reading 'outputDirectory')
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Reverse proxy breaks file links

Using NPM as reverse proxy so that https://void.domain.com will end up at <ip>:3000. Using docker-compose.

When using <ip>:3000 I can access Void and any direct links to files like <ip>:3000/GX5ccH. When switching to https://void.domain.com, all seems well and I can access the home page. However, when I now upload a file and try to visit it's direct link, I end up with 500 Internal Server Error.

Using Portainer's log feature, these are the logs:

 10:22:54 PM  INFO/ROUTER  200 /api/upload
 10:22:54 PM  INFO/FILE  User quinten (1) uploaded a file: KnOD8s.jpg (2)
 10:23:00 PM  INFO/ROUTER  200 /KnOD8s
FetchError: request to http://void.quinten0508.com/r/KnOD8s.jpg failed, reason: getaddrinfo ENOTFOUND void.quinten0508.com
    at ClientRequest.<anonymous> (/void/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (events.js:400:28)
    at ClientRequest.emit (domain.js:475:12)
    at Socket.socketErrorListener (_http_client.js:475:9)
    at Socket.emit (events.js:400:28)
    at Socket.emit (domain.js:475:12)
    at emitErrorNT (internal/streams/destroy.js:106:8)
    at emitErrorCloseNT (internal/streams/destroy.js:74:3)
    at processTicksAndRejections (internal/process/task_queues.js:82:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
} 

This log includes a file upload, which does work.

Error building

root@localhost:~/Void# npm run build

[email protected] build
npm-run-all build:schema build:next

[email protected] build:schema
prisma generate --schema=prisma/schema.prisma

Error: Unknown binaryTarget debian-openssl-3.0.x and no custom binaries were provided
ERROR: "build:schema" exited with 1.
root@localhost:~/Void#

--- I am using Linode

Make thumbnails larger also txt files do not show in thumb view

Perhaps less thumbnails in a row to have larger thumbnails would be nice.

Also, txt files do not show in thumb view. Maybe make it so they do and just use a generic note icon. and any other file that is not a photo or video, just use a generic icon for thumb view. That would be ideal.

I am really liking this project. Well done!

111111

ScreenShot

Can anyone send any screenshot of what VOID Looks like

Cant download prisma engines

Error:

kepar@kepar:~/disk2/Void$ npx prisma generate
Prisma schema loaded from prisma/schema.prisma
> Downloading Prisma engines for Node-API for debian-openssl-3.0.x [                    ] 0%Error: Not Found https://binaries.prisma.sh/all_commits/73e60b76d394f8d37d8ebd1f8918c79029f0db86/debian-openssl-3.0.x/libquery_engine.so.node.gz
kepar@kepar:~/disk2/Void$

Default user not created with docker-compose

I tried to deploy Void with the docker-compose way. Followed the instructions, I tried it multiple times. I tried it with the postgres container included in the docker-composeand I tried it also with my own postgresql, and it created the database tables, but the users table was empty. I always removed the containers and recreated the database between tries. Is there anything to trigger the db population?

npm run build issue

When i run npm run build i get this error.
Failed to compile.

./src/components/Layout.tsx:57:19
Type error: Type '{ r: number; l: number; t: number; b: number; height: "96%"; width: "98%"; m: number; pos: "fixed"; }' is not assignable to type 'IntrinsicAttributes & OmitCommonProps<DetailedHTMLProps<HTMLAttributes, HTMLDivElement>, keyof SkeletonProps> & SkeletonProps & { ...; }'.
Property 'r' does not exist on type 'IntrinsicAttributes & OmitCommonProps<DetailedHTMLProps<HTMLAttributes, HTMLDivElement>, keyof SkeletonProps> & SkeletonProps & { ...; }'.

55 | <>
56 | {busy ? (

57 |
| ^
58 | ) : (
59 | <>
60 | <Box h='48px' bg={useColorModeValue('gray.100', 'gray.900')} sx={{ zIndex: 100, position: 'sticky' }} top={0} right={0} left={0} p={1} boxShadow='base'>
info - Checking validity of types .ERROR: "build:next" exited with 1.

[Feature Requests]

Add Placeholders like:
{{size}} - file size
{{uploaded_at}} - file creation date
{{extension}} - file extension (i.e: png)
{{domain}} - file domain (i.e: cdn.rehanplayz.gq)
{{author.username}} - file owner's username

Add Embed Descriptions

Ability to specify a specific HEX color code for the embed

Add an option to use random strings for the urls like this: cdn.rehanplayz.gq/(Random String like ku03bqo3a9a)

Custom CSS support with classes like this

Examples:
ku13qi58w9a

Build command is breaking

Error displayed in console on running npm run build or yarn build

> [email protected] build:next
> next build

info  - Using webpack 5. Reason: Enabled by default https://nextjs.org/docs/messages/webpack5
info  - Checking validity of types  
info  - Creating an optimized production build ...node:internal/crypto/hash:67
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:130:10)
    at BulkUpdateDecorator.hashFactory (/home/container/Void/node_modules/next/dist/compiled/webpack/bundle5.js:138971:18)
    at BulkUpdateDecorator.update (/home/container/Void/node_modules/next/dist/compiled/webpack/bundle5.js:138872:50)
    at /home/container/Void/node_modules/next/dist/compiled/webpack/bundle5.js:59321:9
    at processTicksAndRejections (node:internal/process/task_queues:83:21)
    at runNextTicks (node:internal/process/task_queues:65:3)
    at processImmediate (node:internal/timers:437:9) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v17.1.0
ERROR: "build:next" exited with 1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.