diff options
author | crupest <crupest@outlook.com> | 2022-11-25 21:01:20 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-11-25 21:01:20 +0800 |
commit | 63e43d1a9b880c92d73b7ec97b596c38d3e758e2 (patch) | |
tree | a6471b125c744a8bf1672ea4ce3e68ad586487ad | |
parent | 1534dcba89c244acbb830b77670c83b5d0e40a76 (diff) | |
download | crupest-63e43d1a9b880c92d73b7ec97b596c38d3e758e2.tar.gz crupest-63e43d1a9b880c92d73b7ec97b596c38d3e758e2.tar.bz2 crupest-63e43d1a9b880c92d73b7ec97b596c38d3e758e2.zip |
Add root page.
-rw-r--r-- | docker/crupest-nginx/Dockerfile | 8 | ||||
-rw-r--r-- | docker/crupest-nginx/sites/www/.dockerignore | 2 | ||||
-rw-r--r-- | docker/crupest-nginx/sites/www/.gitignore | 24 | ||||
-rw-r--r-- | docker/crupest-nginx/sites/www/index.html | 53 | ||||
-rw-r--r-- | docker/crupest-nginx/sites/www/package.json | 14 | ||||
-rw-r--r-- | docker/crupest-nginx/sites/www/pnpm-lock.yaml | 345 | ||||
-rw-r--r-- | docker/crupest-nginx/sites/www/src/main.js | 83 | ||||
-rw-r--r-- | docker/crupest-nginx/sites/www/src/style.css | 24 | ||||
-rw-r--r-- | site/index.html | 15 | ||||
-rw-r--r-- | template/docker-compose.yaml.template | 10 |
10 files changed, 560 insertions, 18 deletions
diff --git a/docker/crupest-nginx/Dockerfile b/docker/crupest-nginx/Dockerfile new file mode 100644 index 0000000..e5e4755 --- /dev/null +++ b/docker/crupest-nginx/Dockerfile @@ -0,0 +1,8 @@ +FROM node:latest AS build +RUN npm install -g pnpm +COPY sites/www /sites/www +WORKDIR /sites/www +RUN pnpm install --frozen-lockfile && pnpm run build + +FROM nginx:latest +COPY --from=build /sites/www/dist /srv/www diff --git a/docker/crupest-nginx/sites/www/.dockerignore b/docker/crupest-nginx/sites/www/.dockerignore new file mode 100644 index 0000000..de4d1f0 --- /dev/null +++ b/docker/crupest-nginx/sites/www/.dockerignore @@ -0,0 +1,2 @@ +dist +node_modules diff --git a/docker/crupest-nginx/sites/www/.gitignore b/docker/crupest-nginx/sites/www/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/docker/crupest-nginx/sites/www/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/docker/crupest-nginx/sites/www/index.html b/docker/crupest-nginx/sites/www/index.html new file mode 100644 index 0000000..56089ac --- /dev/null +++ b/docker/crupest-nginx/sites/www/index.html @@ -0,0 +1,53 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <link rel="icon" type="image/svg+xml" href="/vite.svg" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>crupest</title> +</head> + +<body> + <div id="color-strip-container"></div> + <article id="main-article"> + <h1>This is crupest.</h1> + <p>Welcome To crupest Home!🏠</p> + <p>I'm very glad to meet you in this page. This is my new home.</p> + <p>Feel free to contact by email at crupest@outlook.com or, of course I@crupest.life . You can also file an issue in + any repo on GitHub. Here is the link to my GitHub profile: <a + href="https://github.com/crupest">https://github.com/crupest</a> .</p> + <p>Currently this page is hosted on my own server and my own apex domain (crupest.life). You can also share this + website link, aka, <a href="https://crupest.life">https://crupest.life</a> .</p> + <p>This is just the home page. I also run some other services on my server and under this domain's subdomain:</p> + <p>Public:</p> + <ul> + <li><a href="https://blog.crupest.life" target="_blank">https://blog.crupest.life</a>: My blogs in Chinese with <a + href="https://github.com/halo-dev/halo" target="_blank">halo</a>.</li> + <li><a href="https://timeline.crupest.life" target="_blank">https://timeline.crupest.life</a>: My microblogs with + my + own web app <a href="https://github.com/crupest/Timeline">Timeline</a>.</li> + </ul> + <p>Private:</p> + <ul> + <li><a href="https://code.crupest.life" target="_blank">https://code.crupest.life</a>: Browser based vscode with + <a href="https://github.com/coder/code-server" target="_blank">code-server</a>. + </li> + </ul> + <p>If you wish to deploy similar services like mine, you are in the right place. Take a look at <a + href="https://github.com/crupest/crupest" target="_blank">https://github.com/crupest/crupest</a> and there is + all you need to start with. The services are built with <a href="https://docs.docker.com" + target="_blank">docker-compose</a> and some template methodology. There is a convenient python script to help + you build from start. I don't fully test it because I never migrate my data into other server so it might be kind + of buggy. However, it always takes some time to make it your own sites. But don't worry and feel free to contact + me if you run into any issue and I would be glad to help you out.</p> + </article> + <h2>TODOs of me:</h2> + <p id="todo-message">Fetching...</p> + <ul id="todo-container"> + </ul> + <script type="module" src="/src/main.js"></script> +</body> + +</html>
\ No newline at end of file diff --git a/docker/crupest-nginx/sites/www/package.json b/docker/crupest-nginx/sites/www/package.json new file mode 100644 index 0000000..fbd0fb9 --- /dev/null +++ b/docker/crupest-nginx/sites/www/package.json @@ -0,0 +1,14 @@ +{ + "name": "crupest-root", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "devDependencies": { + "vite": "^3.2.4" + } +}
\ No newline at end of file diff --git a/docker/crupest-nginx/sites/www/pnpm-lock.yaml b/docker/crupest-nginx/sites/www/pnpm-lock.yaml new file mode 100644 index 0000000..0f7783f --- /dev/null +++ b/docker/crupest-nginx/sites/www/pnpm-lock.yaml @@ -0,0 +1,345 @@ +lockfileVersion: 5.4 + +specifiers: + vite: ^3.2.4 + +devDependencies: + vite: 3.2.4 + +packages: + + /@esbuild/android-arm/0.15.15: + resolution: {integrity: sha512-JJjZjJi2eBL01QJuWjfCdZxcIgot+VoK6Fq7eKF9w4YHm9hwl7nhBR1o2Wnt/WcANk5l9SkpvrldW1PLuXxcbw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.15.15: + resolution: {integrity: sha512-lhz6UNPMDXUhtXSulw8XlFAtSYO26WmHQnCi2Lg2p+/TMiJKNLtZCYUxV4wG6rZMzXmr8InGpNwk+DLT2Hm0PA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-64/0.15.15: + resolution: {integrity: sha512-F+WjjQxO+JQOva3tJWNdVjouFMLK6R6i5gjDvgUthLYJnIZJsp1HlF523k73hELY20WPyEO8xcz7aaYBVkeg5Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64/0.15.15: + resolution: {integrity: sha512-attlyhD6Y22jNyQ0fIIQ7mnPvDWKw7k6FKnsXlBvQE6s3z6s6cuEHcSgoirquQc7TmZgVCK5fD/2uxmRN+ZpcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64/0.15.15: + resolution: {integrity: sha512-ohZtF8W1SHJ4JWldsPVdk8st0r9ExbAOSrBOh5L+Mq47i696GVwv1ab/KlmbUoikSTNoXEhDzVpxUR/WIO19FQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64/0.15.15: + resolution: {integrity: sha512-P8jOZ5zshCNIuGn+9KehKs/cq5uIniC+BeCykvdVhx/rBXSxmtj3CUIKZz4sDCuESMbitK54drf/2QX9QHG5Ag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64/0.15.15: + resolution: {integrity: sha512-KkTg+AmDXz1IvA9S1gt8dE24C8Thx0X5oM0KGF322DuP+P3evwTL9YyusHAWNsh4qLsR80nvBr/EIYs29VSwuA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64/0.15.15: + resolution: {integrity: sha512-FUcML0DRsuyqCMfAC+HoeAqvWxMeq0qXvclZZ/lt2kLU6XBnDA5uKTLUd379WYEyVD4KKFctqWd9tTuk8C/96g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32/0.15.15: + resolution: {integrity: sha512-q28Qn5pZgHNqug02aTkzw5sW9OklSo96b5nm17Mq0pDXrdTBcQ+M6Q9A1B+dalFeynunwh/pvfrNucjzwDXj+Q==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64/0.15.15: + resolution: {integrity: sha512-217KPmWMirkf8liO+fj2qrPwbIbhNTGNVtvqI1TnOWJgcMjUWvd677Gq3fTzXEjilkx2yWypVnTswM2KbXgoAg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm/0.15.15: + resolution: {integrity: sha512-RYVW9o2yN8yM7SB1yaWr378CwrjvGCyGybX3SdzPHpikUHkME2AP55Ma20uNwkNyY2eSYFX9D55kDrfQmQBR4w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64/0.15.15: + resolution: {integrity: sha512-/ltmNFs0FivZkYsTzAsXIfLQX38lFnwJTWCJts0IbCqWZQe+jjj0vYBNbI0kmXLb3y5NljiM5USVAO1NVkdh2g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le/0.15.15: + resolution: {integrity: sha512-PksEPb321/28GFFxtvL33yVPfnMZihxkEv5zME2zapXGp7fA1X2jYeiTUK+9tJ/EGgcNWuwvtawPxJG7Mmn86A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le/0.15.15: + resolution: {integrity: sha512-ek8gJBEIhcpGI327eAZigBOHl58QqrJrYYIZBWQCnH3UnXoeWMrMZLeeZL8BI2XMBhP+sQ6ERctD5X+ajL/AIA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64/0.15.15: + resolution: {integrity: sha512-H5ilTZb33/GnUBrZMNJtBk7/OXzDHDXjIzoLXHSutwwsLxSNaLxzAaMoDGDd/keZoS+GDBqNVxdCkpuiRW4OSw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x/0.15.15: + resolution: {integrity: sha512-jKaLUg78mua3rrtrkpv4Or2dNTJU7bgHN4bEjT4OX4GR7nLBSA9dfJezQouTxMmIW7opwEC5/iR9mpC18utnxQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64/0.15.15: + resolution: {integrity: sha512-aOvmF/UkjFuW6F36HbIlImJTTx45KUCHJndtKo+KdP8Dhq3mgLRKW9+6Ircpm8bX/RcS3zZMMmaBLkvGY06Gvw==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64/0.15.15: + resolution: {integrity: sha512-HFFX+WYedx1w2yJ1VyR1Dfo8zyYGQZf1cA69bLdrHzu9svj6KH6ZLK0k3A1/LFPhcEY9idSOhsB2UyU0tHPxgQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64/0.15.15: + resolution: {integrity: sha512-jOPBudffG4HN8yJXcK9rib/ZTFoTA5pvIKbRrt3IKAGMq1EpBi4xoVoSRrq/0d4OgZLaQbmkHp8RO9eZIn5atA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32/0.15.15: + resolution: {integrity: sha512-MDkJ3QkjnCetKF0fKxCyYNBnOq6dmidcwstBVeMtXSgGYTy8XSwBeIE4+HuKiSsG6I/mXEb++px3IGSmTN0XiA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64/0.15.15: + resolution: {integrity: sha512-xaAUIB2qllE888SsMU3j9nrqyLbkqqkpQyWVkfwSil6BBPgcPk3zOFitTTncEKCLTQy3XV9RuH7PDj3aJDljWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64/0.15.15: + resolution: {integrity: sha512-ttuoCYCIJAFx4UUKKWYnFdrVpoXa3+3WWkXVI6s09U+YjhnyM5h96ewTq/WgQj9LFSIlABQvadHSOQyAVjW5xQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild/0.15.15: + resolution: {integrity: sha512-TEw/lwK4Zzld9x3FedV6jy8onOUHqcEX3ADFk4k+gzPUwrxn8nWV62tH0udo8jOtjFodlEfc4ypsqX3e+WWO6w==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.15.15 + '@esbuild/linux-loong64': 0.15.15 + esbuild-android-64: 0.15.15 + esbuild-android-arm64: 0.15.15 + esbuild-darwin-64: 0.15.15 + esbuild-darwin-arm64: 0.15.15 + esbuild-freebsd-64: 0.15.15 + esbuild-freebsd-arm64: 0.15.15 + esbuild-linux-32: 0.15.15 + esbuild-linux-64: 0.15.15 + esbuild-linux-arm: 0.15.15 + esbuild-linux-arm64: 0.15.15 + esbuild-linux-mips64le: 0.15.15 + esbuild-linux-ppc64le: 0.15.15 + esbuild-linux-riscv64: 0.15.15 + esbuild-linux-s390x: 0.15.15 + esbuild-netbsd-64: 0.15.15 + esbuild-openbsd-64: 0.15.15 + esbuild-sunos-64: 0.15.15 + esbuild-windows-32: 0.15.15 + esbuild-windows-64: 0.15.15 + esbuild-windows-arm64: 0.15.15 + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /is-core-module/2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + dependencies: + has: 1.0.3 + dev: true + + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /postcss/8.4.19: + resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /rollup/2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /vite/3.2.4: + resolution: {integrity: sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.15.15 + postcss: 8.4.19 + resolve: 1.22.1 + rollup: 2.79.1 + optionalDependencies: + fsevents: 2.3.2 + dev: true diff --git a/docker/crupest-nginx/sites/www/src/main.js b/docker/crupest-nginx/sites/www/src/main.js new file mode 100644 index 0000000..bbdecab --- /dev/null +++ b/docker/crupest-nginx/sites/www/src/main.js @@ -0,0 +1,83 @@ +import { Octokit } from "https://cdn.skypack.dev/octokit"; +import "./style.css"; + +const colorStripContainer = document.getElementById("color-strip-container"); + +const colorStripText = "FANCYSTRIP"; + +for (let i = 0; i < 10; i++) { + const colorStripBlock = document.createElement("span"); + + const hsl = `hsl(${i * 36}, 100%, 50%)`; + colorStripBlock.classList.add("color-strip-block"); + colorStripBlock.style.backgroundColor = hsl; + colorStripBlock.textContent = colorStripText[i]; + colorStripContainer.appendChild(colorStripBlock); +} + +document.addEventListener("DOMContentLoaded", async () => { + console.log("Try to fetch GitHub project(number: 2) of crupest."); + + const todoMessage = document.getElementById("todo-message"); + const todoContainer = document.getElementById("todo-container"); + + // TODO: we need another way to do this! + const octokit = new Octokit({ + auth: "xxx", + }); + + try { + const res = await octokit.graphql( + ` + { + user(login: "crupest") { + projectV2(number: 2) { + items(last: 100) { + nodes { + __typename + fieldValueByName(name: "Status") + content { + __typename + ... on Issue { + title + closed + } + ... on PullRequest { + title + closed + } + ... on DraftIssue { + title + } + } + } + } + } + } + } + ` + ); + + const items = res.user.projectV2.items.nodes.map((node) => node.content); + + items.forEach((item) => { + if (item.__typename == "DraftIssue") { + item.closed = false; + } + const { title, closed } = item; + const li = document.createElement("li"); + const span = document.createElement("span"); + span.textContent = closed ? "Done:" : "Todo:"; + span.style.color = closed ? "green" : "blue"; + li.appendChild(span); + li.append(title); + todoContainer.appendChild(li); + }); + + todoMessage.parentElement.removeChild(todoMessage); + } catch (e) { + todoMessage.style.color = "red"; + todoMessage.textContent = "Failed to fetch TODOs."; + console.log("Failed to get GitHub project info.", e); + } +}); diff --git a/docker/crupest-nginx/sites/www/src/style.css b/docker/crupest-nginx/sites/www/src/style.css new file mode 100644 index 0000000..6021c6c --- /dev/null +++ b/docker/crupest-nginx/sites/www/src/style.css @@ -0,0 +1,24 @@ +html { + width: 100%; +} + +body { + width: 100%; + margin: 0; + padding: 0 2em; +} + +#color-strip-container { + width: 100%; + height: 36px; +} + +.color-strip-block { + display: inline-block; + width: 10%; + height: 100%; + line-height: 36px; + vertical-align: middle; + text-align: center; + color: white; +} diff --git a/site/index.html b/site/index.html deleted file mode 100644 index 1abf5a9..0000000 --- a/site/index.html +++ /dev/null @@ -1,15 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - -<head> - <meta charset="UTF-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>🏠Home of crupest</title> -</head> - -<body> - Hello world! -</body> - -</html>
\ No newline at end of file diff --git a/template/docker-compose.yaml.template b/template/docker-compose.yaml.template index 50bc8bf..3df0a18 100644 --- a/template/docker-compose.yaml.template +++ b/template/docker-compose.yaml.template @@ -54,8 +54,13 @@ services: - code-server-network nginx: - image: nginx:latest - pull_policy: always + pull_policy: build + build: + context: ./docker/crupest-nginx + dockerfile: Dockerfile + pull: true + tags: + - "crupest/arch-code-server:latest" container_name: nginx restart: on-failure:3 ports: @@ -64,7 +69,6 @@ services: - "443:443/udp" volumes: - "./nginx-config:/etc/nginx/conf.d:ro" - - "./site:/srv/www:ro" - "./data/certbot/certs:/etc/letsencrypt:ro" - "./data/certbot/webroot:/srv/acme:ro" networks: |