Skip to content

Commit 9e27867

Browse files
committedFeb 25, 2024
Dockerizes website, adds license (MIT), sample .env, docs (README.txt) and updates .gitignore to iforget build assets
1 parent e17a8c5 commit 9e27867

File tree

6 files changed

+117
-35
lines changed

6 files changed

+117
-35
lines changed
 

‎.github/README.md

+17-13
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
<p align="center" id="top"><a href="https://github.com/Lissy93/awesome-privacy"><img src="https://i.ibb.co/80Y5x2T/Awesome-Privacy.png" /></a></p>
2-
32
<p align="center">🌐 <b><a href="https://awesome-privacy.xyz">awesome-privacy.xyz</a></b></p>
4-
5-
*<p align="center">A curated list of privacy & security-focused apps, software, and providers 🔐</p>*
3+
<p align="center"><i>A curated list of privacy & security-focused apps, software, and providers</i> 🔐</p>
64

75
[⏬ Skip to Content ⏬](#password-managers)
86

@@ -12,12 +10,13 @@ Large data-hungry corporations dominate the digital world but with little, or no
1210
Migrating to open-source applications with a strong emphasis on privacy and security will help stop
1311
corporations, governments, and hackers from logging, storing or selling your personal data.
1412

15-
**Note**: Remember that [no software is perfect](#important-considerations), and it is important to follow good [security practices](https://github.com/Lissy93/personal-security-checklist/blob/HEAD/CHECKLIST.md).
16-
17-
A Codeberg mirror is available [here](https://codeberg.org/alicia/awesome-privacy).
13+
**Note**: Remember that [no software is perfect](#important-considerations), and it is important to follow good [security practices](https://github.com/Lissy93/personal-security-checklist/blob/HEAD/CHECKLIST.md)<br>
14+
**Mirror**: This repo is mirrored to [https://codeberg.org/alicia/awesome-privacy](https://codeberg.org/alicia/awesome-privacy)<br>
15+
**Repo Admin**: [Website Docs](#the-website) | [Contributing](#contributing) | [Acknowledgment](#acknowledgements) | [License](#license)
1816

1917
<!-- awesome-privacy-start -->
20-
## Contents
18+
<details>
19+
<summary><h2>Contents</h2></summary>
2120

2221
- **Essentials**
2322
- [Password Managers](#password-managers) (5)
@@ -115,6 +114,8 @@ A Codeberg mirror is available [here](https://codeberg.org/alicia/awesome-privac
115114
- [Screenshot Tools](#screenshot-tools) (0)
116115
- [3D Graphics](#3d-graphics) (0)
117116
- [Animation](#animation) (0)
117+
</details>
118+
118119
## Essentials
119120

120121
### Password Managers
@@ -3127,7 +3128,8 @@ Then run the following commands to fetch the code, install dependencies and star
31273128
```shell
31283129
git clone git@github.com:Lissy93/awesome-privacy.git
31293130
cd awesome-privacy/web
3130-
yarn
3131+
cp .env.sample .env
3132+
yarn install
31313133
yarn dev
31323134
# Then open 127.0.0.1:4321 in your browser
31333135
```
@@ -3534,7 +3536,9 @@ This project exists thanks to all the people who've helped build and maintain it
35343536

35353537
## License
35363538

3537-
> _**[Lissy93/Awesome-Privacy](https://github.com/Lissy93/awesome-privacy)** is licensed under [MIT](https://github.com/Lissy93/awesome-privacy/blob/HEAD/LICENSE) © [Alicia Sykes](https://aliciasykes.com) 2024._<br>
3539+
> _**[Lissy93/Awesome-Privacy/web](https://github.com/Lissy93/awesome-privacy/tree/main/web)** is licensed under [MIT](https://gist.github.com/Lissy93/143d2ee01ccc5c052a17)_<br>
3540+
> _**[awesome-privacy.yml](https://github.com/Lissy93/awesome-privacy/blob/main/awesome-privacy.yml)** is licensed under [CC0-1.0 license](https://github.com/Lissy93/awesome-privacy/blob/HEAD/LICENSE)_<br>
3541+
> _Copyright © Alicia Sykes <[aliciasykes.com](https://aliciasykes.com)> 2024._<br>
35383542
> <sup align="right">For information, see <a href="https://tldrlegal.com/license/mit-license">TLDR Legal > MIT</a></sup>
35393543
35403544
<details>
@@ -3564,13 +3568,13 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35643568

35653569
</details>
35663570

3567-
35683571
<!-- License + Copyright -->
35693572
<p align="center">
35703573
<i>© <a href="https://aliciasykes.com">Alicia Sykes</a> 2024</i><br>
3571-
<i>Licensed under <a href="https://gist.github.com/Lissy93/143d2ee01ccc5c052a17">MIT</a></i><br>
3572-
<a href="https://github.com/lissy93"><img src="https://i.ibb.co/4KtpYxb/octocat-clean-mini.png" /></a><br>
3573-
<sup>Thanks for visiting :)</sup>
3574+
<i>Licensed under <a href="https://gist.github.com/Lissy93/143d2ee01ccc5c052a17">MIT</a> &
3575+
<a href="https://github.com/Lissy93/awesome-privacy/blob/HEAD/LICENSE">CC0-1.0</a></i><br>
3576+
<a href="https://github.com/lissy93"><img src="https://i.ibb.co/4KtpYxb/octocat-clean-mini.png" /></a>
3577+
<br><sup>Thanks for visiting :)</sup>
35743578
</p>
35753579

35763580
<!-- Dinosaurs are Awesome -->

‎web/.env.sample

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Copy this file to web/.env and complete the values
2+
# Once completed, DO NOT commit this file to source control!
3+
# Need help? Check the GitHub: https://github.com/lissy93/awesome-privacy
4+
5+
# The target deployment platform (can be vercel, netlify, cloudflare, node)
6+
# Use to determine appropriate Astro adapter at build-time
7+
DEPLOY_TARGET='';
8+
9+
# The build output method (can be 'server' or 'hybrid')
10+
# To set weather content is pre-rendered or rendered on-demand
11+
OUTPUT=''
12+
13+
# The fully qualified domain name for your site
14+
# Used to generate sitemap.xml and for canonical URLs
15+
SITE_URL=''
16+
17+
# GitHub API key (with pub repo read perms).
18+
# This is used to fetch reposity stats for open source apps which are listed
19+
GITHUB_API_KEY=''
20+
21+
# A Font Awesome Pro package token
22+
# This is used in order to install Font Awesome and fetch pro icons
23+
FONTAWESOME_PACKAGE_TOKEN=''

‎web/.gitignore

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
# build output
2-
dist/
3-
4-
# generated types
5-
.astro/
6-
71
# dependencies
82
node_modules/
93

10-
# logs
4+
# Install + buuld logs
115
npm-debug.log*
126
yarn-debug.log*
137
yarn-error.log*
148
pnpm-debug.log*
159

10+
# build output
11+
dist/
12+
13+
# generated types
14+
.astro/
15+
.vercel/
1616
# environment variables
1717
.env
1818
.env.production
1919

20-
# macOS-specific files
20+
# macOS crap
2121
.DS_Store

‎web/Dockerfile

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
###############################################################################
2+
# A lightweight, non-root, multi-stage, cross-architecture Dockerfile #
3+
# That you can use in order to easily deploy Awesome Privacy to any server #
4+
# For docs visit the GitHub repo: https://github.com/lissy93/awesome-privacy #
5+
# Licensed under MIT (C) Alicia Sykes <https://aliciasykes.com> 2024 #
6+
###############################################################################
7+
# Usage: #
8+
# Step 1: Build the Docker image #
9+
# docker build -t awesome-privacy . #
10+
# #
11+
# Step 2: Run the Docker container #
12+
# docker run -p 8080:80 awesome-privacy #
13+
# #
14+
# Step 3: Access the running app #
15+
# Open your browser and navigate to http://127.0.0.1:8080 #
16+
###############################################################################
17+
18+
# Stage 1: Build the app (Alpine + Node.js)
19+
# Copies manifest and src files from host, installs deps, and builds the app
20+
FROM node:16-alpine as build
21+
WORKDIR /app
22+
COPY package.json yarn.lock .env* ./
23+
RUN yarn install --frozen-lockfile
24+
COPY . .
25+
RUN yarn build
26+
27+
# Stage 2: Serve the app (Alpine + NGINX)
28+
# Copies dist from the previous stage, exposes port 80, and starts web server
29+
FROM nginx:alpine as runtime
30+
COPY --from=build /app/dist /usr/share/nginx/html
31+
EXPOSE 80
32+
CMD ["nginx", "-g", "daemon off;"]

‎web/LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2023 Alicia Sykes <https://github.com/lissy93>
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

‎web/README.txt

+16-14
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,18 @@ DEVELOPMENT SETUP
1111
To get started, you'll need Node and Git installed.
1212
Then run the following commands:
1313

14-
# 1. Clone the repo
15-
git clone git@github.com:Lissy93/awesome-privacy.git
16-
# 2. Navigate into it
17-
cd awesome-privacy/web
18-
# 3. Install dependencies
19-
yarn install
20-
# 4. Start the development server
21-
yarn dev
22-
5. Open browser
23-
open http://127.0.0.1:4321
14+
1. Clone the repo
15+
git clone git@github.com:Lissy93/awesome-privacy.git
16+
2. Navigate into it
17+
cd awesome-privacy/web
18+
3. Add secrets to .env
19+
mv .env.sample .env
20+
4. Install dependencies
21+
yarn install
22+
5. Start the development server
23+
yarn dev
24+
Open browser
25+
open http://127.0.0.1:4321
2426

2527
================================================================================
2628

@@ -36,12 +38,12 @@ Option 3) Use the included Dockerfile to build and run the application on any se
3638
TECHNOLOGY
3739
----------
3840
The website is built with Astro, and statically generated at build-time.
39-
This means that changes to the data will not be reflected until the site is rebuilt.
41+
This means that changes to the raw data will not be reflected until the site is rebuilt.
4042
Dynamic elems (search + comments) are built as Svelte islands, and rehydrated at runtime.
4143
Most the code is written in Typescript. We're not using a CSS library, just plain SASS.
4244

43-
The site also uses:
44-
- Fuse.js for fuzzy search
45+
The site also uses these dependencies:
46+
- fuse.js for fuzzy search
4547
- js-yaml for parsing YAML
4648
- marked for markdown rendering
4749
- fontawesome for iconography
@@ -58,7 +60,7 @@ If you only wish to update content, there's no need to edit the site's source co
5860

5961
SITE STRUCTURE
6062
--------------
61-
All views are located in /src/pages.
63+
All views are located in /src/pages
6264
The general site structure is as follows:
6365

6466
/

0 commit comments

Comments
 (0)
Please sign in to comment.