Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/medusajs/docker-medusa
This repo is managed by the Medusa Community. Medusa does not provide official support for Docker, but we will accept fixes and documentation. Use at your own risk.
https://github.com/medusajs/docker-medusa
docker docker-compose ecommerce
Last synced: 4 days ago
JSON representation
This repo is managed by the Medusa Community. Medusa does not provide official support for Docker, but we will accept fixes and documentation. Use at your own risk.
- Host: GitHub
- URL: https://github.com/medusajs/docker-medusa
- Owner: medusajs
- Created: 2021-11-30T10:39:35.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-22T21:59:35.000Z (11 months ago)
- Last Synced: 2024-12-12T01:50:38.028Z (11 days ago)
- Topics: docker, docker-compose, ecommerce
- Language: Dockerfile
- Homepage:
- Size: 22.5 KB
- Stars: 183
- Watchers: 10
- Forks: 88
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Medusa
Medusa Admin |
Website |
Blog |
LinkedIn |
Twitter |
Documentation |
Notion
Medusa is an open-source headless commerce engine that enables developers to create amazing digital commerce experiences.
## Please note
This repo is managed by the Medusa Community. Medusa does not provide official support for Docker, but we will accept fixes and documentation. Use at your own risk.**This project is inteded for development only at this time.**
The files for both the Medusa server and the Storefront are loaded in Bind Mounts allowing you to change the server functionality and have the change be hot-reloaded onto your running containers.
---
## Requirements
To use Docker with Medusa, you should have created a Medusa project. Check out our [Quickstart](https://github.com/medusajs/medusa#quickstart) to get started.
Additionally, you should have `docker` and `docker-compose` installed on your system.
## Getting Started
To set up Medusa in a development environment with Docker, you should copy files `docker-compose.yml`, `docker-compose.override.yml, `backend/develop.sh`, and `backend/Dockerfile` to your Medusa project.
Then build the images since they are not published on dockerhub. This is accomplished by adding the `--build` flag as shown below:
```bash
docker compose up --build
```Having already built the Docker images you can run docker compose without the `--build` flag.
```
docker compose up
```Your local Medusa setup is now running with each of the services occupying the following ports:
-
Medusa Server: 9000
-
Medusa Admin: 7000
-
Storefront: 8000
-
postgres: 5432
-
redis: 6379
_Note: If you change the dependencies of your projects by adding new packages you can simply rebuild that package with the same tag `test` and run `docker compose up` once again to update your environment._
### Seeding your Medusa store
To add seed data to your medusa store run this command in a seperate
```
docker exec medusa-server medusa seed -f ./data/seed.json
```
## Running Medusa with docker in production
This repository and each of the services contain dockerfiles for both development and production, named `Dockerfile` and `Dockerfile.prod` respectively. The `Dockerfile.prod` copies the local files from disk and builds a production ready image based on your local development progress. Your specific needs for a production like container might differ from the `Dockerfile.prod` but it should provide a template and an idea of the requirements for each of the basic services.
To run the services in a production state `docker compose` is simply run with the `docker-compose.production.yml` file as well as the basic `docker-compose.yml` file as seen below. If you wish to build the production ready images and then start them run `docker compose up` with the `--build` flag as described above.
```
docker compose up -f docker-compose.yml -f docker-compose.production.yml up
```
`docker-compose.production.yml` contains production relevant overrides to the services described in the `docker-compose.yml` development file.
## Try it out
```
curl -X GET localhost:9000/store/products | python -m json.tool
```
After the seed script has run you will have the following things in you database:
- a User with the email: [email protected] and password: supersecret
- a Region called Default Region with the countries GB, DE, DK, SE, FR, ES, IT
- a Shipping Option called Standard Shipping which costs 10 EUR
- a Product called Cool Test Product with 4 Product Variants that all cost 19.50 EUR
Visit [docs.medusa-commerce.com](https://docs.medusa-comerce.com) for further guides.
Website
|
Notion Home
|
Twitter
|
Docs