wrappd.sh/README.md

73 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

2024-12-05 14:00:58 +01:00
# wrappd.sh
Wrapped tool for the guys living in a b&w world.
## Config
2024-12-05 14:35:23 +01:00
Copy the `env-sample` in `.env` and set up the variables:
2024-12-05 14:00:58 +01:00
```sh
2024-12-05 14:32:39 +01:00
$ cp env-sample .env
2024-12-05 14:00:58 +01:00
```
```ini
# Docker
DOCKER_ENV=production
2024-12-05 14:14:20 +01:00
BASE_URL=https://wrap.sh
SERVER_PORT=8080
TOP_N_COMMANDS=10
MASTODON_INSTANCE_FOR_SHARING=mastodon.social
2024-12-05 14:00:58 +01:00
```
## Docker
This project can be easily run on Docker:
```sh
$ make build
$ make rebuild
$ make start
2024-12-05 14:14:20 +01:00
$ make stop
2024-12-05 14:00:58 +01:00
```
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.
2024-12-05 14:14:20 +01:00
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.
2024-12-05 14:00:58 +01:00
## 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