Coder Social home page Coder Social logo

elvincth / turbo-strapi-nextjs Goto Github PK

View Code? Open in Web Editor NEW
109.0 3.0 14.0 435 KB

A Turborepo with Strapi v4 (w/ postgres database) + Next.js powered by docker and docker-compose

JavaScript 78.58% TypeScript 9.58% Dockerfile 11.84%
docker docker-compose strapi nextjs turborepo turbo

turbo-strapi-nextjs's Introduction

SuperDuper TurpboRepo

Turborepo + Strapi + Next.js + Tailwind + Docker A Turborepo with Strapi v4 (w/ postgres database) + Next.js powered by docker and docker-compose.

Prerequisites

Please make sure you have Docker and docker-compose installed in your machine. Please refer here to install them :

  1. Docker installation
  2. Docker compose installation

Getting Started

  1. Clone this repository :
git clone https://github.com/theCompanyDream/turbo-strapi-nextjs
  1. Change directory
cd turbo-strapi-nextjs

Setup strapi configuration (.env):

  1. Change directory to our strapi application
cd apps/backend
  1. Create a .env file which stores strapi and postgres configuration, based on the .env.example file:
cp .env.example .env
  1. Define the admin JWT Token

    In order to make the admin login work you need to define the secret you want to use in .env file

Generate a secure token:

openssl rand 64 | base64 # (linux/macOS users)
# orcd
node -e "console.log(require('crypto').randomBytes(64).toString('base64'))" # (all users)

Add it to your env variables (apps/backend/.env):

ADMIN_JWT_SECRET=token_generated_above

Develop

To develop all apps and packages, run the following command (in the project root):

docker-compose up -d

Build

To build all apps and packages, run the following commands:

docker exec -it strapi_nextjs_turbo /bin/sh

Then run:

yarn build

What's inside?

This turborepo uses Yarn as a package manager. It includes the following packages/apps:

Apps and Packages

  • frontend: a Next.js app
  • backend: Strapi app
  • ui: a stub React component library currently used by frontend application
  • config: eslint configurations (includes eslint-config-next and eslint-config-prettier)
  • tsconfig: tsconfig.jsons used throughout the monorepo

Utilities

This turborepo has some additional tools already setup for you:

Remote Caching

Turborepo can use a technique known as Remote Caching (Beta) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.

By default, Turborepo will cache locally. To enable Remote Caching (Beta) you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:

docker exec -it strapi_nextjs_turbo /bin/sh
npx turbo login

This will authenticate the Turborepo CLI with your Vercel account.

Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your turborepo:

npx turbo link

Useful Links

Learn more about the power of Turborepo:

Credits

turbo-strapi-nextjs's People

Contributors

elvincth avatar iuriiiurevich avatar thecompanydream avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

turbo-strapi-nextjs's Issues

ailed to load parser './parser.js' declared in '.eslintrc.js » eslint-config-next': Cannot find module 'next/dist/compiled/babel/eslint-parser'

Hi, first of all, thank you for this template !

I have an issue running build/lint command :

❯ yarn lint
yarn run v1.22.19
$ next lint
info  - SWC minify release candidate enabled. https://nextjs.link/swcmin
Failed to load parser './parser.js' declared in '.eslintrc.js » eslint-config-next': Cannot find module 'next/dist/compiled/babel/eslint-parser'
Require stack:
- /Users/alexvrhe/Documents/Dev/Perso/julie-portfolio-mono/node_modules/eslint-config-next/parser.js
- /Users/alexvrhe/Documents/Dev/Perso/julie-portfolio-mono/node_modules/@eslint/eslintrc/dist/eslintrc.cjs
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Do you have any idea where it is coming from ?

Thx !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.