mirror of
https://github.com/qdm12/gluetun.git
synced 2026-06-20 11:02:59 +02:00
Merge all development documents in one
@@ -1,25 +0,0 @@
|
|||||||
This document describes how to setup your development environment to contribute to this program.
|
|
||||||
|
|
||||||
## Using VSCode and Docker
|
|
||||||
|
|
||||||
That should be easier and better than a local setup, although it might use more memory if you're not on Linux.
|
|
||||||
|
|
||||||
The repository .devcontainer [readme document](https://github.com/qdm12/gluetun/tree/master/.devcontainer#development-container) explains its setup.
|
|
||||||
|
|
||||||
## Local installation
|
|
||||||
|
|
||||||
1. Install [Go](https://golang.org/dl/)
|
|
||||||
1. Install [Git](https://git-scm.com/downloads)
|
|
||||||
1. Download the dependencies
|
|
||||||
|
|
||||||
```sh
|
|
||||||
go mod download
|
|
||||||
```
|
|
||||||
|
|
||||||
1. Install [golangci-lint](https://github.com/golangci/golangci-lint#install)
|
|
||||||
1. You might want to use an IDE such as VSCode with the [Go extension](https://marketplace.visualstudio.com/items?itemName=golang.go)
|
|
||||||
1. You might want to install [Docker](https://www.docker.com/products/docker-desktop) to build and run the image.
|
|
||||||
|
|
||||||
## Next steps
|
|
||||||
|
|
||||||
Go to the [development commands document](Developement-commands)
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
Once your [development setup](Development-setup) is complete, you have the following commands available.
|
|
||||||
|
|
||||||
- Test the code: `go test ./...`
|
|
||||||
- Lint the code `golangci-lint run`
|
|
||||||
- Build the Docker image (tests and lint included): `docker build -t qmcgaw/gluetun .`
|
|
||||||
- Run the Docker container: `docker run -it --rm --cap-add=NET_ADMIN -e OPENVPN_USER=test -e OPENVPN_PASSWORD=test qmcgaw/gluetun`
|
|
||||||
|
|
||||||
Other useful commands:
|
|
||||||
|
|
||||||
- Update all servers information: `go run cmd/gluetun/main.go update -help`
|
|
||||||
|
|
||||||
Now have a look at the [guidelines](Developement-guidelines) to know where to start coding.
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
The Go code is in the Go file [cmd/main.go](https://github.com/qdm12/gluetun/blob/master/cmd/main.go) and the [internal directory](https://github.com/qdm12/gluetun/tree/master/internal), you might want to start reading the main.go file.
|
|
||||||
|
|
||||||
See the [Contributing document](https://github.com/qdm12/gluetun/blob/master/.github/CONTRIBUTING.md) for more information on how to contribute to this repository.
|
|
||||||
|
|
||||||
As always, feel free to reach out to me if you have any question.
|
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
## Setup
|
||||||
|
|
||||||
|
This document describes how to setup your development environment to contribute to this program.
|
||||||
|
|
||||||
|
### Using VSCode and Docker
|
||||||
|
|
||||||
|
That should be easier and better than a local setup, although it might use more memory if you're not on Linux.
|
||||||
|
|
||||||
|
The repository .devcontainer [readme document](https://github.com/qdm12/gluetun/tree/master/.devcontainer#development-container) explains its setup.
|
||||||
|
|
||||||
|
### Local installation
|
||||||
|
|
||||||
|
1. Install [Go](https://golang.org/dl/)
|
||||||
|
1. Install [Git](https://git-scm.com/downloads)
|
||||||
|
1. Download the dependencies
|
||||||
|
|
||||||
|
```sh
|
||||||
|
go mod download
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Install [golangci-lint](https://github.com/golangci/golangci-lint#install)
|
||||||
|
1. You might want to use an IDE such as VSCode with the [Go extension](https://marketplace.visualstudio.com/items?itemName=golang.go)
|
||||||
|
1. You might want to install [Docker](https://www.docker.com/products/docker-desktop) to build and run the image.
|
||||||
|
|
||||||
|
## Commands
|
||||||
|
|
||||||
|
Once your [development setup](Development-setup) is complete, you have the following commands available.
|
||||||
|
|
||||||
|
- Test the code: `go test ./...`
|
||||||
|
- Lint the code `golangci-lint run`
|
||||||
|
- Build the Docker image (tests and lint included): `docker build -t qmcgaw/gluetun .`
|
||||||
|
- Run the Docker container: `docker run -it --rm --cap-add=NET_ADMIN -e OPENVPN_USER=test -e OPENVPN_PASSWORD=test qmcgaw/gluetun`
|
||||||
|
|
||||||
|
Other useful commands:
|
||||||
|
|
||||||
|
- Update all servers information: `go run cmd/gluetun/main.go update -help`
|
||||||
|
|
||||||
|
Now have a look at the [guidelines](Developement-guidelines) to know where to start coding.
|
||||||
|
|
||||||
|
## Guidelines
|
||||||
|
|
||||||
|
The Go code is in the Go file [cmd/main.go](https://github.com/qdm12/gluetun/blob/master/cmd/main.go) and the [internal directory](https://github.com/qdm12/gluetun/tree/master/internal), you might want to start reading the main.go file.
|
||||||
|
|
||||||
|
See the [Contributing document](https://github.com/qdm12/gluetun/blob/master/.github/CONTRIBUTING.md) for more information on how to contribute to this repository.
|
||||||
|
|
||||||
|
As always, feel free to reach out to me if you have any question.
|
||||||
|
|
||||||
+1
-3
@@ -20,7 +20,5 @@
|
|||||||
- [Surfshark Servers](Surfshark-Servers)
|
- [Surfshark Servers](Surfshark-Servers)
|
||||||
- [Updating Servers](Updating-Servers)
|
- [Updating Servers](Updating-Servers)
|
||||||
- Contributing
|
- Contributing
|
||||||
- [Developement setup](Developement-setup)
|
- [Developement](Developement)
|
||||||
- [Development commands](Development-commands)
|
|
||||||
- [Development guidelines](Development-guidelines)
|
|
||||||
- [More information](More-information)
|
- [More information](More-information)
|
||||||
|
|||||||
Reference in New Issue
Block a user