wrappd.sh/README.md
Óscar M. Lage f7cf197b4e Imp: The file does not need to be copied in disk anymore
File is being proccessed from memory directly. We don't need to
tempcopy nor delete it because it's not saved to disk.
2024-12-05 16:43:51 +01:00

73 lines
1.7 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
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
├── .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