/eikona

εικόνα resizes, adjusts quality and converts images on-the-fly. This is all provided via a simple REST API.

Primary LanguageGoApache License 2.0Apache-2.0

This project has been archived


Welcome to εικόνα 👋

Version License: Apache License 2.0

εικόνα resizes, adjusts quality and converts images on-the-fly. This is all provided via a simple REST API. This project was built for the OST DS1 Challenge Task.

⚠️ This is a school project and not production-ready! Run at your own risk.

Demo

Infrastructure

Infrastructure overview

Running in Production

git clone https://github.com/eikona-org/eikona
# Copy your certs - TODO: Adding Letsencrypt to Traefik:
cp cert.pem key.pem infrastructure/ssl/
#Rename and adjust ALL env files in the root
cp backend.env.sample backend.env
vim backend.env
# Running
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d

Access: https://[domain]/

Running in Development

git clone https://github.com/eikona-org/eikona

Follow the instructions to get mkcert: https://github.com/FiloSottile/mkcert

# If it's the firt install of mkcert, run
mkcert -install

# Generate certificate for domain "docker.localhost", "domain.local" and their sub-domains
mkcert -cert-file infrastructure/ssl/cert.pem -key-file infrastructure/ssl/key.pem \
"docker.localhost" "*.docker.localhost" "domain.local" "*.domain.local"
#Rename and adjust ALL env files in the root
cp backend.env.sample backend.env
vim backend.env
# Running
docker-compose up

Generating Swagger Docs Run go get -u github.com/swaggo/swag/cmd/swag in the backend folder and then swag init

Access:

LB: https://docker.localhost/

Traefik Dashboard: https://docker.localhost:8082/dashboard/#/

Backend: http://docker.localhost:8081/

Frontend: http://docker.localhost:8080/

MinIO: http://docker.localhost:9000/

Database: docker.localhost:5432

Author

👤 Lukas Ribi, Dominik Castelberg, Pascal Christen

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

Show your support

Give a ⭐️ if this project helped you!

📝 License

Copyright © 2021 Lukas Ribi, Dominik Castelberg, Pascal Christen.
This project is Apache License 2.0 licensed.


This README was generated with ❤️ by readme-md-generator