75 lines
1.9 KiB
Markdown
75 lines
1.9 KiB
Markdown
|
|
# wrappd.sh
|
|
|
|
Wrapped tool for the guys living in a b&w world.
|
|
|
|
## Config
|
|
|
|
Copy the `env.sample` in `.env` and set up the variables:
|
|
|
|
```sh
|
|
$ cp env.sample .env
|
|
```
|
|
|
|
```ini
|
|
# Docker
|
|
DOCKER_ENV=production
|
|
BASE_URL=https://wrap.sh
|
|
SERVER_PORT=8080
|
|
UPLOAD_DIR=uploads
|
|
TOP_N_COMMANDS=10
|
|
MASTODON_INSTANCE_FOR_SHARING=mastodon.social
|
|
```
|
|
|
|
## Docker
|
|
|
|
This project can be easily run on Docker:
|
|
|
|
```sh
|
|
$ make build
|
|
$ make rebuild
|
|
$ make start
|
|
$ make stop
|
|
```
|
|
|
|
The `Makefile` has been configured to facilitate the build and execution of Docker with the `--build-arg` argument, which passes the `DOCKER_ENV` environment variable to determine the environment. This variable is read from the .env file:
|
|
|
|
`--build-arg DOCKER_ENV=${DOCKER_ENV}`: This variable is used to determine the execution environment (`local` or `production`), affecting both the binary build process and the container's behavior.
|
|
|
|
If `DOCKER_ENV` is set to `production` it should execute the binary, whereas if set to `local` it will install and run with `air` to enable reloads during development, among other things.
|
|
|
|
## Comands
|
|
|
|
```bash
|
|
$ go run cmd/web/main.go
|
|
```
|
|
|
|
## Dependencies
|
|
|
|
Ensure your dependencies are installed:
|
|
|
|
```sh
|
|
$ go mod tidy
|
|
```
|
|
|
|
## Skel project
|
|
|
|
```sh
|
|
.
|
|
├── cmd/
|
|
│ ├── web/ # Command for the web to init
|
|
├── internal/
|
|
│ ├── web/ # Web logic (routes, controller...)
|
|
├── result/ # Place for storing the results
|
|
├── upload/ # Temporal place for storing the uploads (inmediately removed)
|
|
├── .env.sample # Sample environment file
|
|
└── README.md # This file
|
|
└── Dockerfile # Requirement for the docker container to be built
|
|
└── docker-compose.yml # Docker orchestration file
|
|
└── Makefile # Helper for the project to be run/build/stop...
|
|
```
|
|
|
|
## Contribs
|
|
|
|
TBD
|