Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/johnsi15/personal-site-astro

personal site blog builded with astro and React.js
https://github.com/johnsi15/personal-site-astro

astro react reactjs

Last synced: 4 days ago
JSON representation

personal site blog builded with astro and React.js

Awesome Lists containing this project

README

        

# personal site [johnserrano.co](https://johnserrano.co)

¿How does that work?

Require Node.js 18.x

* `npm install` to install the dependencies
* `npm run dev` to run development mode app
* `npm run build` to build production

### Dockerfile

```yaml
FROM node:lts AS build
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build

FROM nginx:alpine AS runtime
COPY ./nginx/nginx.conf /etc/nginx/nginx.conf
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 8080
```

### nginx.conf
```
worker_processes 1;

events {
worker_connections 1024;
}

http {
server {
listen 8080;
server_name _;

root /usr/share/nginx/html;
index index.html index.htm;
include /etc/nginx/mime.types;

gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
internal;
}

location / {
try_files $uri $uri/index.html =404;
}
}
}
```

```shell
docker build -t .
```

```shell
docker run -p :
```

You should be able to access your site `http://localhost:`.

Features:

- ✅ Minimal styling (make it your own!)
- ✅ 100/100 Lighthouse performance
- ✅ SEO-friendly with canonical URLs and OpenGraph data
- ✅ Sitemap support
- ✅ RSS Feed support
- ✅ Markdown & MDX support