mirror of
https://github.com/mickael-kerjean/filestash.git
synced 2025-10-29 17:18:43 +08:00
doc (contributing): first shot at the contributor guide
This commit is contained in:
72
CONTRIBUTING.md
Normal file
72
CONTRIBUTING.md
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
# Contributing Guide
|
||||||
|
|
||||||
|
Thanks for taking the time to join our community and start contributing. This guide will help you get started with the Filestash project.
|
||||||
|
|
||||||
|
## How to contribute?
|
||||||
|
|
||||||
|
### Before you submit a pull request
|
||||||
|
|
||||||
|
For anything else than a typo or an obvious bug fix, please raise an issue to discuss your proposal before submitting any code.
|
||||||
|
|
||||||
|
### License for contributions
|
||||||
|
|
||||||
|
As the copyright owner, you agree to license your contributions under an irrevocable MIT license.
|
||||||
|
|
||||||
|
|
||||||
|
## Building from source
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
- Git
|
||||||
|
- Make
|
||||||
|
- Node
|
||||||
|
- Go
|
||||||
|
|
||||||
|
### Download the source
|
||||||
|
```
|
||||||
|
export $GOPATH=/wherever/you/want
|
||||||
|
cd $GOPATH
|
||||||
|
mkdir -p github.com/mickael-kerjean/ && cd github.com/mickael-kerjean/
|
||||||
|
git clone https://github.com/mickael-kerjean/filestash
|
||||||
|
cd filestash
|
||||||
|
```
|
||||||
|
|
||||||
|
### Install dependencies
|
||||||
|
```
|
||||||
|
# frontend dependencies
|
||||||
|
npm install
|
||||||
|
|
||||||
|
# backend dependencies
|
||||||
|
go get ./server/...
|
||||||
|
make build_init # beware this will install the required C headers under /usr/local/include/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Building
|
||||||
|
*Frontend*:
|
||||||
|
```
|
||||||
|
# Production build:
|
||||||
|
make build_frontend
|
||||||
|
|
||||||
|
# Development build:
|
||||||
|
npm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
*Backend*:
|
||||||
|
```
|
||||||
|
make build_backend
|
||||||
|
```
|
||||||
|
|
||||||
|
*Run*:
|
||||||
|
```
|
||||||
|
./dist/filestash
|
||||||
|
```
|
||||||
|
|
||||||
|
*Clear*:
|
||||||
|
```
|
||||||
|
# clear the frontend
|
||||||
|
rm -rf ./dist/data/public/
|
||||||
|
# clear the entire build
|
||||||
|
rm -rf ./dist
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tests
|
||||||
|
Our tests aren't open source. This comes as an attempt to restrict opportunistic forks (see [1](https://news.ycombinator.com/item?id=17006902#17009852) and [2](https://www.reddit.com/r/selfhosted/comments/a54axs/annoucing_jellyfin_a_free_software_fork_of_emby/ebk92iu/?utm_source=share&utm_medium=web2x)) from creating a stable release without serious commitment and splitting the community in pieces while I'm on holidays. Also the project welcome serious and willing maintainers.
|
||||||
Reference in New Issue
Block a user