diff --git a/docker/nest/.env.hedgedoc b/docker/nest/.env.hedgedoc new file mode 100644 index 0000000..daf2f7f --- /dev/null +++ b/docker/nest/.env.hedgedoc @@ -0,0 +1,32 @@ +#/-------------------[DOTENV_PUBLIC_KEY]--------------------/ +#/ public-key encryption for .env files / +#/ [how it works](https://dotenvx.com/encryption) / +#/----------------------------------------------------------/ +DOTENV_PUBLIC_KEY_HEDGEDOC="0367446908140b518da57f04a53861dee2e7d31aa940c4cbbd0b26df22bc06decc" + +# .env.hedgedoc + +## Storage and Database +CMD_S3_ENDPOINT="ENV" +CMD_S3_BUCKET="lorebooks-wiki-cdn" +CMD_S3_FOLDER="community/notepads" +CMD_S3_ACCESS_KEY_ID="encrypted:BCqoOGXEPYohob4Q3IUyXK96Nbl7L42V6ZPpSPBxoyrVmElA4m1acDUmLQyfJHavKMD7cSCZqUQBMZdcQST3/tqte3syetv6b7coNdpJXJ5KYcM8hw4P6BpOMGqIw0WKJyRi2msxQ7rHmfpKJ67qUCTaUX08IcIn9vCjf+o=" +CMD_S3_SECRET_ACCESS_KEY="encrypted:BDFV28+aTfmfA6gprnfdOJWZijeeV4xF6MN5kfLQulDcko6IgUu0wF1hPX8sPFAsEU5DtF8JXghLLiLwAzXqoV+Ei3j5YhPlF/QMZRl96/M+LivWwZUKRXTLztvii+fSrr8VW2dhUw6gzEwTU2kwPoUAXT23bZGVcCDqZ0lPWSfzHg4DU5pTSf0eOg276b7fi8wIS6H+" +CMD_DB_URL="encrypted:BNnSU+pIqckdRNSb/9MWTG3lFEsFX4Crk54w586BkvP+LEiXI+Yj+QXDGapJP8LH4ZAcNgA47xMzKCqjNT+GSIHFXMDZKnMIAw3SRtkSTFScKVW/W8szpv+NRD93d/L0p/3gu5xsxnOl3SgDeaanjPNEl2vvfqPxHwnUSOeKW6oz7GOPGo6DW9WVyrcZs1O7Sc0ypdQQGd2Ezjm1eW/AKN4ItOOICSNdYoZxhSoeaF1HJ4vl7+Qml1tj8KI=" +CMD_IMAGE_UPLOAD_TYPE="s3" + +## OAuth providers +## GitHub +CMD_GITHUB_CLIENTID="encrypted:BKGYmUR7DUTWZYhFbMMWljHYDsc6TDByyTXfKt1pWGFuskrW7mmiBM1EDhAX5ym8SFljjEfaEk901eWcK2Z9z2KDX3YpqlBdnkBKjUmAtrJiMgJ6ihteUXrZaM9nCT0PQCo6pjTEHUz08uYQxzBnyf49D+sf" +CMD_GITHUB_CLIENTSECRET="encrypted:BLRZPFfQGmW8fOArmnSaR/l7hvX60cCt8P/+UIYehDXOFaZYe+SjXHiN8UmYc5duGiV8o2cw/u3RRds7OFIyxSKg6g7z7gUypwW18wPyOqMDfXbxFwDOAj8FJ+Js9zQHHsRSzg77QYzYWOEdrUp8xA6SRRY3Ax7zQNSzBjaCssRONmN1bz+ALNc=" +## Slack +CMD_OAUTH2_PROVIDERNAME="Hack Club Slack" +CMD_OAUTH2_CLIENT_ID="encrypted:BJrlEqpSGonY27rK01cn+SOKIinUkZQ245l4/CL5fvv9HXdEprph8oApLfvF6nxv+XtCnzd5/EuNCTlbYgktxBNAKi9++5ogBElqGN4PROuv+pAmDNwXjP+i8zj5HJkmtEQBPT2TkZsCGIYb0+3/gMJ2HJRZv3P/xVuqaw==" +CMD_OAUTH2_CLIENT_SECRET="encrypted:BMZwWnHZyryzb/K6lggJY8ga9CyIunZHd4n4vsroCwkwSOKoNQEYoJDbW9rRynJKT7Uoxy36kAidAiDXGDn4z9RvHy0MRc52xHtBfdzb5qyS/9ogBfjCvBC9x2rzwtKdmq+jr4xHHCjzMY1iFLkXeNVE17X/M6f6KQ0WBLs7YQe5" +CMD_OAUTH2_AUTHORIZATION_URL=https://slack.com/openid/connect/authorize +CMD_OAUTH2_TOKEN_URL=https://slack.com/api/openid.connect.token +CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR=name +CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR=name +CMD_OAUTH2_USER_PROFILE_ID_ATTR=sub +CMD_OAUTH2_USER_ROLES_CLAIM=https://slack.com/team_id +CMD_SESSION_SECRET="encrypted:BHXrm59hD+jFgfVYS6d/B/ynMK4O8FdzBwd2t+pul7PoIpjiUS5/nPGSkOpjYz2XqH3vb4Y+rI6zejPk4YqbDUO4sepkb7BPcEdCWijuGV1F5MpbEQD+CSBy5rxCM9lto0y2gMelWw1aXWWSWfUvFglmsMvNOJXfpCA/NVpZj6J9nJr/+8BH5+rhocu8SB43dzsn95G9MEov8wj4Dq2oWEGwxaOKKakJuDiK+ZVwds2uAkLYUhkIm4q7MLn6lLBSedOSsVyTsiriq7Dt282dZLC5u10ov8CwQ7sjXB/KgYDZ30XChltecLt1qvbuRjahcW43LAOs5TjWQUByedZ4Scm45ipmOxjCJC7ZPMwHOSc0iX29LbUFK5mCKlbOZlj6UR5yZQ14GmfJMP7opg2sAvubB6pmRrfIT3WObVBfiig+opOfhnxLDxvkaEqyp3kGClM4GLEoQYvwiV/AYfNyUh8=" \ No newline at end of file diff --git a/docker/nest/README.md b/docker/nest/README.md new file mode 100644 index 0000000..3de67e2 --- /dev/null +++ b/docker/nest/README.md @@ -0,0 +1,13 @@ +# Docker Compose setup for Hack Club Nest + +## Services + +* Ghost: +* HedgeDoc instance for RecapTime.dev: (may be moved to Railway later) + +## Using the config + +> [!warning] You might need to reset the `DOTENV_PUBLIC_KEYS*` if you want to fork the repo. +> It's easy as blanking the contents and using `dotenvx set` to add your own values. + +TBD diff --git a/docker/nest/docker-compose.yml b/docker/nest/docker-compose.yml index 22eef4e..9f4602f 100644 --- a/docker/nest/docker-compose.yml +++ b/docker/nest/docker-compose.yml @@ -10,7 +10,7 @@ services: - 33291:2368 environment: database__client: mysql - database__connection__host: db + database__connection__host: mysql database__connection__user: ghost database__connection__password: ghost-docker database__connection__database: ghost @@ -19,8 +19,32 @@ services: volumes: - ./data/ghost:/var/lib/ghost/content depends_on: - - db - db: + - mysql + + hedgedoc: + networks: + - internal + image: quay.io/hedgedoc/hedgedoc:1.10.0 + environment: + - CMD_DOMAIN=notepad.recaptime.dev + - CMD_URL_ADDPORT=false + - CMD_ALLOW_FREEURL=true + - CMD_ALLOW_GRAVATAR=true + - CMD_EMAIL=false + - CMD_ALLOW_ANONYMOUS=false + - CMD_ALLOW_ANONYMOUS_EDITS=true + - CMD_REQUIRE_FREEURL_AUTHENTICATION=true + - CMD_CSP_ALLOW_PDF_EMBED=false + volumes: + - ./hedgedoc:/deploydocs + env_file: .env.hedgedoc.decrypted + extra_hosts: + - "host.docker.internal:host-gateway" + #- "postgres.hackclub.app:host-gateway" + ports: + - 34171:3000 + + mysql: #domainname: mysql.internal networks: - internal diff --git a/docker/nest/hedgedoc/default.md b/docker/nest/hedgedoc/default.md new file mode 100644 index 0000000..01e4677 --- /dev/null +++ b/docker/nest/hedgedoc/default.md @@ -0,0 +1,10 @@ +# Welcome to RecapTime.dev Hedgedoc instance! + +To get started, just edit me! Visit +for HedgeDoc Flavored Markdown docs if you need help with syntax. Happy notepading! + +By using this service, you agree to [RecapTime.dev Community Code of Conduct][coc] +as well as [Hack Club Code of Conduct][hc-coc]. + +[coc]: https://policies.recaptime.dev/code-of-conduct +[hc-coc]: https://policies.recaptime.dev/communities/hackclub/code-of-conduct \ No newline at end of file