{post.title}
-{new Date(post.updatedAt).toLocaleDateString("de-DE")}
-diff --git a/.env.dev b/.env.dev index 6895e77..a895845 100644 --- a/.env.dev +++ b/.env.dev @@ -1,3 +1,4 @@ +ASTRO_TO_PAYLOAD_URL=http://payload:3001 PAYLOAD_SECRET=supersecretkey PAYLOAD_URL=http://localhost:3001 PAYLOAD_PORT=3001 @@ -5,5 +6,4 @@ MONGODB_URI=mongodb://payload:test@mongo:27017 MONGODB_USER=payload MONGODB_PW=test MONGODB_DB=payload - NAME=astroad \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6320cd2..5de73f5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -data \ No newline at end of file +data +yarn.lock \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..d2122af --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# Astroad + +Astroad is a pre-configured setup for Astro and Payloadcms that makes it easy to get started with building your website. With Astroad, you'll have a complete development environment that you can run locally using Docker. This makes it easy to test and develop your website before deploying it to a production environment. + +When you're ready to deploy the website on your own server, Astrotus comes with a production environment that requires the use of Traefik as a reverse proxy. This setup provides a secure and scalable production environment for your website. + +## Getting started + +To get started with Astroad, you'll need to have Docker and NPM || Yarn || PNPM installed on your machine. + +1. Clone this repository: `git clone https://github.com/mooxl/astroad.git` +2. Change into the repository directory: `cd astroad` +3. Start the containers: `yarn dev` + +This will start up the Astro, Payloadcms and Mongo containers and make them available on your local machine. Astro will be served at http://localhost:3000 and the Payload will be available at http://localhost:3001. + +## Development + +The `docker-compose.yml` and `docker-compose-dev.yml` files includes everything you need to run the containers. The containers use the environment variables declared in the `.env.dev` file and mounted volumes to store data persistently even after the containers are stopped and started. + +## Deployment + +When you're ready to deploy your website to a production environment, you'll should copy the `.env.dev` and rename it into `.env.prod`. Then you modify the file to suit your needs. This file contains the configuration for the Astro, Payload, Mongo, GitHub Workflow and Traefik. + +Deployment is handled by a Github Actions Workflow on every push on branch `prod`. It logs into the server via SSH, pulls or clones the latest version of the repository, and runs `yarn prod`. + +Because Astro is completely static, a content change in the CMS must trigger a new build of Astro. Therefore, there's a `payload.yml` workflow that gets triggered by a webhook after every content change from Payload. + +Ensure you have Traefik set up as a reverse proxy before deployment. The prod script will launch your site in a production-ready environment. diff --git a/astro/.dockerignore b/astro/.dockerignore index 3c3629e..239ecff 100644 --- a/astro/.dockerignore +++ b/astro/.dockerignore @@ -1 +1,2 @@ node_modules +yarn.lock diff --git a/astro/public/fonts/Plex-Bold.woff2 b/astro/public/fonts/Plex-Bold.woff2 new file mode 100644 index 0000000..bf19bb7 Binary files /dev/null and b/astro/public/fonts/Plex-Bold.woff2 differ diff --git a/astro/public/fonts/Plex-Regular.woff2 b/astro/public/fonts/Plex-Regular.woff2 new file mode 100644 index 0000000..ebe11ec Binary files /dev/null and b/astro/public/fonts/Plex-Regular.woff2 differ diff --git a/astro/src/global.css b/astro/src/global.css index 327eec6..7d60c28 100644 --- a/astro/src/global.css +++ b/astro/src/global.css @@ -2,6 +2,27 @@ @tailwind components; @tailwind utilities; -h1 { - @apply text-4xl; +@font-face { + font-family: "Plex"; + src: url("/fonts/Plex-Regular.woff2") format("woff2"); + font-weight: normal; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Plex"; + src: url("/fonts/Plex-Bold.woff2") format("woff2"); + font-weight: bold; + font-style: normal; + font-display: swap; +} + +h1 { + @apply text-6xl font-bold; +} +h2 { + @apply text-4xl font-bold; +} +h3 { + @apply text-xl font-bold; } diff --git a/astro/src/layouts/Layout.astro b/astro/src/layouts/Layout.astro index 8221364..10c6be3 100644 --- a/astro/src/layouts/Layout.astro +++ b/astro/src/layouts/Layout.astro @@ -14,7 +14,7 @@ const { title } = Astro.props;
{new Date(post.updatedAt).toLocaleDateString("de-DE")}
-No posts...
- ) - } +
+ Astroad is a pre-configured setup for Astro and Payloadcms that makes it
+ easy to get started with building your website. With Astroad, you'll have
+ a complete development environment that you can run locally using Docker.
+ This makes it easy to test and develop your website before deploying it to
+ a production environment.
+
+ When you're ready to deploy the website on your own server, Astrotus comes
+ with a production environment that requires the use of Traefik as a reverse
+ proxy. This setup provides a secure and scalable production environment for
+ your website.
+
+ {new Date(post.publishedDate).toLocaleDateString("de-DE")} +
+ )} +Add Posts in Payloadcms
+ ) + } +