diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a44058c --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +.DS_Store +node_modules +dist \ No newline at end of file diff --git a/.gitignore b/.gitignore index 016b59e..f508ef0 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,6 @@ pnpm-debug.log* # jetbrains setting folder .idea/ + +# Emacs +*~ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..1e72550 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +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 \ No newline at end of file diff --git a/README.md b/README.md index 39a1707..856b2ab 100644 --- a/README.md +++ b/README.md @@ -40,4 +40,32 @@ npx astro dev - [Astro](https://astro.build/) - The core framework - [React](https://reactjs.org/) - For interactive components - [Tailwind CSS](https://tailwindcss.com/) - For styling (find docs [here](https://tailwindcss.com/docs/installation/using-vite)) -- [TypeScript](https://www.typescriptlang.org/) - For type safety \ No newline at end of file + - [TypeScript](https://www.typescriptlang.org/) - For type safety + +# To release a new version + +## Build in the docker image + +``` bash +version= +docker build --platform linux/amd64 -t git.coopcloud.tech/rtm/rtmwebsite:$version . +``` + +## Push the image to gitea registery + +Check out [this documentation](https://docs.gitea.com/next/usage/packages/container) for how to login with gitea registery. + +``` bash +# If not in the same terminal session, rerun `version=...` line from last step +docker push git.coopcloud.tech/rtm/rtmwebsite:$version +``` + +## Update recipe + +We use a [private recipe](https://git.coopcloud.tech/RTM/rtm-astro-recipe) to deploy this website, you will need to update the version in the compose.yml file and redoploy. + +``` bash +abra app undeploy resisttechmonopolies.online +# wait 10 seconds +abra app deploy resisttechmonopolies.online +``` diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000..a1a6187 --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,31 @@ +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; + } + } +} \ No newline at end of file