diff --git a/docs/01-user/user_guide.md b/docs/01-user/01-user_guide.md similarity index 100% rename from docs/01-user/user_guide.md rename to docs/01-user/01-user_guide.md diff --git a/docs/01-user/FAQ.md b/docs/01-user/02-FAQ.md similarity index 100% rename from docs/01-user/FAQ.md rename to docs/01-user/02-FAQ.md diff --git a/docs/01-user/README.md b/docs/01-user/README.md index 80fd41377..9c14b31f5 100644 --- a/docs/01-user/README.md +++ b/docs/01-user/README.md @@ -1 +1,6 @@ -# User \ No newline at end of file +# User + +Thanks for using Mbin! + +Do you want to learn more? +See our [user guide](01-user_guide.md) and [FAQ](02-FAQ.md) pages. diff --git a/docs/02-admin/01-installation/bare_metal.md b/docs/02-admin/01-installation/01-bare_metal.md similarity index 94% rename from docs/02-admin/01-installation/bare_metal.md rename to docs/02-admin/01-installation/01-bare_metal.md index a099f1020..065737663 100644 --- a/docs/02-admin/01-installation/bare_metal.md +++ b/docs/02-admin/01-installation/01-bare_metal.md @@ -62,7 +62,7 @@ sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=compose If you have a firewall installed (or you're behind a NAT), be sure to open port `443` for the web server. Mbin should run behind a reverse proxy like Nginx. -For Nginx see: [Nginx configuration](../02-configuration/nginx.md). +For Nginx see: [Nginx configuration](../02-configuration/02-nginx.md). ## Install NodeJS (frontend tools) @@ -125,6 +125,10 @@ cd /var/www/mbin git clone https://github.com/MbinOrg/mbin.git . ``` +> [!TIP] +> You might now want to switch to the latest stable release tag instead of using the `main` branch. +> Try: `git checkout v1.7.3` (v1.7.3 might **not** be the latest version: [lookup the latest version](https://github.com/MbinOrg/mbin/releases)) + ### Create & configure media directory ```bash @@ -177,7 +181,7 @@ nano .env.local Make sure you have substituted all the passwords and configured the basic services in `.env` file. > [!NOTE] -> The snippet below are to variables inside the .env file. Using the keys generated in the section above "Generating Secrets" fill in the values. You should fully review this file to ensure everything is configured correctly. +> The snippet below are to variables inside the `.env` file. Using the keys generated in the section above "Generating Secrets" fill in the values. You should fully review this file to ensure everything is configured correctly. ```ini REDIS_PASSWORD="{!SECRET!!KEY!-32_1-!}" @@ -208,7 +212,7 @@ MAILER_DSN=smtp://username:password@smtpserver.tld:587?encryption=tls&auth_mode= MAILER_DSN=smtp://username:password@smtpserver.tld:465?encryption=ssl&auth_mode=log ``` -#### OAuth2 keys for API credential grants +### OAuth2 keys for API credential grants 1. Create an RSA key pair using OpenSSL: @@ -235,6 +239,8 @@ OAUTH_PASSPHRASE= OAUTH_ENCRYPTION_KEY= ``` +See also: [Mbin config files](../02-configuration/01-mbin_config_files.md) for more configuration options. + ## Service Configuration ### PHP @@ -328,14 +334,14 @@ composer clear-cache ### Caching -You can choose between either Redis, Valkey or KeyDB. +You can choose between either Valkey, KeyDB or Redis. > [!TIP] -> More Redis/Valkey/KeyDB fine-tuning settings can be found in the [Redis configuration guide](../02-configuration/redis.md). +> More Valkey/KeyDB/Redis fine-tuning settings can be found in the [Valkey / KeyDB / Redis configuration guide](../02-configuration/05-redis.md). -#### Redis +#### Valkey / KeyDB or Redis -Edit `redis.conf` file: +Edit `redis.conf` file (or the corresponding Valkey or KeyDB config file): ```bash sudo nano /etc/redis/redis.conf @@ -430,7 +436,7 @@ php bin/console doctrine:migrations:migrate ``` > [!IMPORTANT] -> Check out the [PostgreSQL configuration page](../02-configuration/postgresql.md). You should not run the default PostgreSQL configuration in production! +> Check out the [PostgreSQL configuration page](../02-configuration/04-postgresql.md). You should not run the default PostgreSQL configuration in production! ## Install RabbitMQ diff --git a/docs/02-admin/01-installation/docker.md b/docs/02-admin/01-installation/02-docker.md similarity index 99% rename from docs/02-admin/01-installation/docker.md rename to docs/02-admin/01-installation/02-docker.md index 5596a5fe6..c4246a324 100644 --- a/docs/02-admin/01-installation/docker.md +++ b/docs/02-admin/01-installation/02-docker.md @@ -1,7 +1,7 @@ # Docker Installation > [!NOTE] -> Docker installation is currently not advised for production use. Try the [Bare Metal installation](./bare_metal.md) instead. +> Docker installation is currently not advised for production use. Try the [Bare Metal installation](01-bare_metal.md) instead. ## System Requirements diff --git a/docs/02-admin/01-installation/README.md b/docs/02-admin/01-installation/README.md index cc92c2f98..a0ea2b909 100644 --- a/docs/02-admin/01-installation/README.md +++ b/docs/02-admin/01-installation/README.md @@ -1,9 +1,9 @@ # Installation -You can choose between: +You can choose between server production installations: -- [Bare metal/VM installation](./bare_metal.md) +- [Bare metal/VM installation](01-bare_metal.md) (recommended) Or: -- [Docker installation](./docker.md) +- [Docker installation](02-docker.md) diff --git a/docs/02-admin/02-configuration/mbin_config_files.md b/docs/02-admin/02-configuration/01-mbin_config_files.md similarity index 100% rename from docs/02-admin/02-configuration/mbin_config_files.md rename to docs/02-admin/02-configuration/01-mbin_config_files.md diff --git a/docs/02-admin/02-configuration/nginx.md b/docs/02-admin/02-configuration/02-nginx.md similarity index 100% rename from docs/02-admin/02-configuration/nginx.md rename to docs/02-admin/02-configuration/02-nginx.md diff --git a/docs/02-admin/02-configuration/lets_encrypt.md b/docs/02-admin/02-configuration/03-lets_encrypt.md similarity index 100% rename from docs/02-admin/02-configuration/lets_encrypt.md rename to docs/02-admin/02-configuration/03-lets_encrypt.md diff --git a/docs/02-admin/02-configuration/postgresql.md b/docs/02-admin/02-configuration/04-postgresql.md similarity index 100% rename from docs/02-admin/02-configuration/postgresql.md rename to docs/02-admin/02-configuration/04-postgresql.md diff --git a/docs/02-admin/02-configuration/redis.md b/docs/02-admin/02-configuration/05-redis.md similarity index 100% rename from docs/02-admin/02-configuration/redis.md rename to docs/02-admin/02-configuration/05-redis.md diff --git a/docs/02-admin/02-configuration/README.md b/docs/02-admin/02-configuration/README.md index 6a67dc3ee..111a98501 100644 --- a/docs/02-admin/02-configuration/README.md +++ b/docs/02-admin/02-configuration/README.md @@ -5,7 +5,8 @@ Assuming you have already Mbin installed and followed the installation guide. Currently, the following configuration guides are provided: -- [Mbin config](./mbin_config_files.md) -- [Nginx](./nginx.md) -- [Let's Encrypt](./lets_encrypt.md) -- [Redis / KeyDB](./redis.md) +- [Mbin config](./01-mbin_config_files.md) +- [Nginx](./02-nginx.md) +- [Let's Encrypt](./03-lets_encrypt.md) +- [PostgreSQL](./04-postgresql.md) +- [Valkey / KeyDB / Redis](./05-redis.md) diff --git a/docs/02-admin/03-optional-features/mercure.md b/docs/02-admin/03-optional-features/01-mercure.md similarity index 100% rename from docs/02-admin/03-optional-features/mercure.md rename to docs/02-admin/03-optional-features/01-mercure.md diff --git a/docs/02-admin/03-optional-features/sso.md b/docs/02-admin/03-optional-features/02-sso.md similarity index 95% rename from docs/02-admin/03-optional-features/sso.md rename to docs/02-admin/03-optional-features/02-sso.md index b4336aaf1..35dd90efe 100644 --- a/docs/02-admin/03-optional-features/sso.md +++ b/docs/02-admin/03-optional-features/02-sso.md @@ -1,9 +1,10 @@ # SSO (Single Sign On) Providers -SSOs are used to simplify the registration flow. You authorize the server to use an existing account from one +SSOs are used to simplify the registration flow. You authorize the server to use an existing account from one of the available SSO providers. Mbin supports a multitude of SSO providers: + - Google - Facebook - GitHub @@ -16,18 +17,22 @@ Mbin supports a multitude of SSO providers: - Azure To enable an SSO provider you (usually) have to create a developer account on the specific platform, create an app -and provide the app/client ID and a secret. These have to be entered in the correct environment variable -in the `.env`|`.env.local` file +and provide the app/client ID and a secret. These have to be entered in the correct environment variable +in the `.env`|`.env.local` file ### Google + https://developers.google.com/ + ```dotenv OAUTH_GOOGLE_ID=AS2easdioh912 # your client ID OAUTH_GOOGLE_SECRET=sdfpsajh329ura39ßseaoßjf30u # your client secret ``` ### Facebook + https://developers.facebook.com + ```dotenv OAUTH_FACEBOOK_ID=AS2easdioh912 # your client ID OAUTH_FACEBOOK_SECRET=sdfpsajh329ura39ßseaoßjf30u # your client secret @@ -45,13 +50,16 @@ You need a GitHub account, if you do no have one, yet, go and create one: https: 6. Now you have the chance to upload an icon (at the bottom of the page) 7. Click "Generate a new client secret" 8. Insert the "Client ID" and the generated client secret into the `.env` file: + ```dotenv OAUTH_GITHUB_ID=AS2easdioh912 # your client ID OAUTH_GITHUB_SECRET=sdfpsajh329ura39ßseaoßjf30u # your client secret ``` ### Keycloak + Self-hosted, https://www.keycloak.org/ + ```dotenv OAUTH_KEYCLOAK_ID=AS2easdioh912 # your client ID OAUTH_KEYCLOAK_SECRET=sdfpsajh329ura39ßseaoßjf30u # your client secret @@ -61,7 +69,9 @@ OAUTH_KEYCLOAK_VERSION= ``` ### Zitadel + Self-hosted, https://zitadel.com/ + ```dotenv OAUTH_ZITADEL_ID=AS2easdioh912 # your client ID OAUTH_ZITADEL_SECRET=sdfpsajh329ura39ßseaoßjf30u # your client secret @@ -77,12 +87,14 @@ You need a SimpleLogin account, if you do not have one, yet, go and create one: 3. Choose an icon (if you want to) 4. Click on "OAuth Settings" on the right 5. Insert the client ID ("AppID / OAuth2 Client ID") and the client secret ("AppSecret / OAuth2 Client Secret") -in your `.env` file + in your `.env` file + ```dotenv OAUTH_SIMPLELOGIN_ID=gehirneimer.de-vycjfiaznc # your client ID OAUTH_SIMPLELOGIN_SECRET=fdiuasdfusdfsdfpsdagofweopf # your client secret ``` -6. Back in the browser, scroll down to "Authorized Redirect URIs" and click on "Add new uri" + +6. Back in the browser, scroll down to "Authorized Redirect URIs" and click on "Add new uri" ### Discord @@ -92,17 +104,21 @@ You need a Discord account, if you do not have one, yet, go and create one: http 2. Click the "OAuth2" tab on the left 3. Under "Client information" click "Reset Secret" 4. The newly generated secret and the "Client ID" need to go in our `.env` file: + ```dotenv OAUTH_DISCORD_ID=3245498543 # your client ID OAUTH_DISCORD_SECRET=xJHGApsadOPUIAsdoih # your client secret ``` + 5. Back in the browser: click on "Add Redirect" 6. enter the URL: `https://YOURINSTANCE/oauth/discord/verify`, replace `YOURINSTANCE` with your instance domain 7. If you are on docker, restart the containers, on bare metal execute the `post-upgrade` script 8. When you go to the login page you should see a button to "Continue with Discord" ### Authentik + Self-hosted, https://goauthentik.io/ + ```dotenv OAUTH_AUTHENTIK_ID=3245498543 # your client ID OAUTH_AUTHENTIK_SECRET=xJHGApsadOPUIAsdoih # your client secret @@ -110,14 +126,18 @@ OAUTH_AUTHENTIK_BASE_URL= ``` ### Privacy Portal + https://privacyportal.org + ```dotenv OAUTH_PRIVACYPORTAL_ID=3245498543 # your client ID OAUTH_PRIVACYPORTAL_SECRET=xJHGApsadOPUIAsdoih # your client secret ``` ### Azure + https://login.microsoftonline.com + ```dotenv OAUTH_AZURE_ID=3245498543 # your client ID OAUTH_AZURE_SECRET=xJHGApsadOPUIAsdoih # your client secret diff --git a/docs/02-admin/03-optional-features/captcha.md b/docs/02-admin/03-optional-features/03-captcha.md similarity index 100% rename from docs/02-admin/03-optional-features/captcha.md rename to docs/02-admin/03-optional-features/03-captcha.md diff --git a/docs/02-admin/03-optional-features/image_metadata_cleaning.md b/docs/02-admin/03-optional-features/04-image_metadata_cleaning.md similarity index 90% rename from docs/02-admin/03-optional-features/image_metadata_cleaning.md rename to docs/02-admin/03-optional-features/04-image_metadata_cleaning.md index 1a86c4237..f1ba4c850 100644 --- a/docs/02-admin/03-optional-features/image_metadata_cleaning.md +++ b/docs/02-admin/03-optional-features/04-image_metadata_cleaning.md @@ -1,5 +1,7 @@ # Image metadata cleaning with `exiftool` +You could configure Mbin to remove meta-data from images. + To use this feature, install `exiftool` (`libimage-exiftool-perl` package for Ubuntu/Debian) and make sure `exiftool` executable exist and and visible in PATH @@ -16,7 +18,7 @@ EXIF_EXIFTOOL_PATH= EXIF_EXIFTOOL_TIMEOUT=10 ``` -Available cleaning modes: +Available cleaning modes are: - `none`: no metadata cleaning would be done. - `sanitize`: removes GPS and serial number metadata. this is the default for uploaded images. diff --git a/docs/02-admin/03-optional-features/s3_storage.md b/docs/02-admin/03-optional-features/05-s3_storage.md similarity index 78% rename from docs/02-admin/03-optional-features/s3_storage.md rename to docs/02-admin/03-optional-features/05-s3_storage.md index 39104f3ee..c03c52f93 100644 --- a/docs/02-admin/03-optional-features/s3_storage.md +++ b/docs/02-admin/03-optional-features/05-s3_storage.md @@ -4,23 +4,24 @@ If you're starting a new instance, you can skip this part. -To migrate to s3 storage we have to sync the media files located at `/var/www/mbin/public/media` into our s3 bucket. +To migrate to S3 storage we have to sync the media files located at `/var/www/mbin/public/media` into our S3 bucket. We suggest running the sync once while your instance is still up and using the local storage for media, then shutting mbin down, -configure it to use the s3 storage and do another sync to get all the files created during the initial sync. +configure it to use the S3 storage and do another sync to get all the files created during the initial sync. -To actually do the file sync you can use different tools, like `aws-cli`, `rclone` and others, -just search for it and you will find plenty tutorials on how to do that +To actually do the file sync you can use different tools, like `aws-cli`, `rclone` and others, +just search for it and you will find plenty tutorials on how to do that + +## Configuring Mbin -## Configuring mbin Edit your `.env` file: ```ini S3_KEY=$AWS_ACCESS_KEY_ID S3_SECRET=$AWS_SECRET_ACCESS_KEY S3_BUCKET=bucket-name -# safe default for s3 deployments like minio or single zone ceph/radosgw +# safe default for S3 deployments like minio or single zone ceph/radosgw S3_REGION=us-east-1 -# set if not using aws s3, note that the scheme is also required +# set if not using aws S3, note that the scheme is also required S3_ENDPOINT=https://endpoint.domain.tld S3_VERSION=latest ``` @@ -51,16 +52,16 @@ oneup_flysystem: ## NGINX reverse proxy -If you are using an object storage provider, we strongly advise you to use a media reverse proxy. -That way media URLs will not change and break links on remote instances when you decide to switch providers -and it hides your s3 endpoint from users of your instance. +If you are using an object storage provider, we strongly advise you to use a media reverse proxy. +That way media URLs will not change and break links on remote instances when you decide to switch providers +and it hides your S3 endpoint from users of your instance. -This replaces the media reverse proxy from [NGINX](../02-configuration/nginx.md). +This replaces the media reverse proxy from [NGINX](../02-configuration/02-nginx.md). If you already had a reverse proxy for your media, then you only have to change the NGINX config, -otherwise please follow the steps in our [media-reverse-proxy](../02-configuration/nginx.md) docs +otherwise please follow the steps in our [media-reverse-proxy](../02-configuration/02-nginx.md) docs -This config is heavily inspired by [mastodons nginx config](https://docs.joinmastodon.org/admin/optional/object-storage-proxy/) +This config is heavily inspired by [Mastodons Nginx config](https://docs.joinmastodon.org/admin/optional/object-storage-proxy/). ```nginx proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=CACHE:10m inactive=7d max_size=10g; @@ -114,7 +115,7 @@ server { } ``` -For it to be a usable https site you have to run certbot or supply your certificates manually. +For it to be a usable HTTPS site you have to run `certbot` or supply your certificates manually. > [!TIP] -> don't forget to enable http2 by adding `http2 on;` after certbot ran +> Do not forget to enable http2 by adding `http2 on;` after certbot ran successfully. diff --git a/docs/02-admin/03-optional-features/README.md b/docs/02-admin/03-optional-features/README.md index d284fc1d3..6607dd7bd 100644 --- a/docs/02-admin/03-optional-features/README.md +++ b/docs/02-admin/03-optional-features/README.md @@ -1 +1,11 @@ -# Optional Features \ No newline at end of file +# Optional Features + +There are several options features in Mbin, which you may want to configure. + +Like setting-up: + +- [Mercure](01-mercure.md) - Mercure is used to provide real-time data from the server towards the clients. +- [Single sign-on (SSO)](02-sso.md) - SSO can be configured to allow registrations via other SSO providers. +- [Captcha](03-captcha.md) - Captcha protection against spam and anti-bot. +- [Image metadata cleaning](04-image_metadata_cleaning.md) - Clean-up and remove metadata from images using `exiftool`. +- [S3 storage](05-s3_storage.md) - Configure an object storage service (S3) compatible bucket for storing images. diff --git a/docs/02-admin/04-running-mbin/first_setup.md b/docs/02-admin/04-running-mbin/01-first_setup.md similarity index 100% rename from docs/02-admin/04-running-mbin/first_setup.md rename to docs/02-admin/04-running-mbin/01-first_setup.md diff --git a/docs/02-admin/04-running-mbin/backup.md b/docs/02-admin/04-running-mbin/02-backup.md similarity index 100% rename from docs/02-admin/04-running-mbin/backup.md rename to docs/02-admin/04-running-mbin/02-backup.md diff --git a/docs/02-admin/04-running-mbin/upgrades.md b/docs/02-admin/04-running-mbin/03-upgrades.md similarity index 100% rename from docs/02-admin/04-running-mbin/upgrades.md rename to docs/02-admin/04-running-mbin/03-upgrades.md diff --git a/docs/02-admin/04-running-mbin/messenger.md b/docs/02-admin/04-running-mbin/04-messenger.md similarity index 100% rename from docs/02-admin/04-running-mbin/messenger.md rename to docs/02-admin/04-running-mbin/04-messenger.md diff --git a/docs/02-admin/04-running-mbin/README.md b/docs/02-admin/04-running-mbin/README.md index e8b8ddb18..4caa4922c 100644 --- a/docs/02-admin/04-running-mbin/README.md +++ b/docs/02-admin/04-running-mbin/README.md @@ -1 +1,8 @@ -# Running Mbin \ No newline at end of file +# Running Mbin + +When you're the server admin, you mind find the following pages useful: + +- [First setup](01-first_setup.md) - Helps creating your admin first account on Mbin and more... +- [Back-up](02-backup.md) - How to back-up your databases? +- [Upgrades](03-upgrades.md) - Where to think about when performing Mbin upgrades. +- [Messenger jobs](04-messenger.md) - When running Symfony Messenger & RabbitMQ diff --git a/docs/02-admin/FAQ.md b/docs/02-admin/FAQ.md index 4f1e87f3e..e6518206a 100644 --- a/docs/02-admin/FAQ.md +++ b/docs/02-admin/FAQ.md @@ -16,14 +16,14 @@ Have a look at our guides. A bare metal/VM setup is **recommended** at this time You can [join our Matrix community](https://matrix.to/#/#mbin:melroy.org) and ask for help, and/or make an [issue ticket](https://github.com/MbinOrg/mbin/issues) in GitHub if that adds value (always check for duplicates). -See also our [contributing page](https://github.com/MbinOrg/mbin/blob/main/CONTRIBUTING.md). +See also our [contributing page](../03-contributing/README.md). ## How can I contribute? New contributors are always _warmly welcomed_ to join us. The most valuable contributions come from helping with bug fixes and features through Pull Requests. As well as helping out with [translations](https://hosted.weblate.org/engage/mbin/) and documentation. -Read more on our [contributing page](https://github.com/MbinOrg/mbin/blob/main/CONTRIBUTING.md). +Read more on our [contributing page](../03-contributing/README.md). Do _not_ forget to [join our Matrix community](https://matrix.to/#/#mbin:melroy.org). @@ -197,7 +197,7 @@ If you're seeing this error in logs: > getInstancePrivateKey(): Return value must be of type string, null returned At time of writing, `getInstancePrivateKey()` [calls out to the Redis cache](https://github.com/MbinOrg/mbin/blob/main/src/Service/ActivityPub/ApHttpClient.php#L348) -first, so any updates to the keys requires a `DEL instance_private_key instance_public_key` (or `FLUSHDB` to be certain, as documented here: [bare metal](04-running-mbin/upgrades.md#clear-cache) and [docker](04-running-mbin/upgrades.md#clear-cache-1)) +first, so any updates to the keys requires a `DEL instance_private_key instance_public_key` (or `FLUSHDB` to be certain, as documented here: [bare metal](04-running-mbin/03-upgrades.md#clear-cache) and [docker](04-running-mbin/03-upgrades.md#clear-cache-1)) ## RabbitMQ shows a really high publishing rate diff --git a/docs/02-admin/README.md b/docs/02-admin/README.md index ceee28bb6..c507bb680 100644 --- a/docs/02-admin/README.md +++ b/docs/02-admin/README.md @@ -2,7 +2,7 @@ Welcome to the admin section of the Mbin documentation. -You can install Mbin via -- [bare metal](01-installation/bare_metal.md) -- or [docker](01-installation/docker.md) +You can install Mbin via: +- [Bare metal](01-installation/01-bare_metal.md) (recommended for now) +- or via [Docker](01-installation/02-docker.md) diff --git a/docs/03-3rd_party_developer/README.md b/docs/03-3rd_party_developer/README.md deleted file mode 100644 index aebb78e50..000000000 --- a/docs/03-3rd_party_developer/README.md +++ /dev/null @@ -1 +0,0 @@ -# 3rd Party Developer \ No newline at end of file diff --git a/docs/04-contributing/getting_started.md b/docs/03-contributing/01-getting_started.md similarity index 98% rename from docs/04-contributing/getting_started.md rename to docs/03-contributing/01-getting_started.md index c5f52474a..80b93e739 100644 --- a/docs/04-contributing/getting_started.md +++ b/docs/03-contributing/01-getting_started.md @@ -184,7 +184,7 @@ Start the development server: 6. Start Mbin: `symfony server:start` 7. Go to: [http://127.0.0.1:8000](http://127.0.0.1:8000/) -You might want to also follow the [Mbin first setup](../02-admin/04-running-mbin/first_setup.md). This explains how to create a user. +You might want to also follow the [Mbin first setup](../02-admin/04-running-mbin/01-first_setup.md). This explains how to create a user. This will give you a minimal working frontend with PostgreSQL setup. Keep in mind: this will _not_ start federating. @@ -230,4 +230,4 @@ For more info read: [Symfony Testing guide](https://symfony.com/doc/current/test ## Linting -For linting see the [linting documentation page](linting.md). +For linting see the [linting documentation page](02-linting.md). diff --git a/docs/04-contributing/linting.md b/docs/03-contributing/02-linting.md similarity index 95% rename from docs/04-contributing/linting.md rename to docs/03-contributing/02-linting.md index dea630a73..2cedafa2c 100644 --- a/docs/04-contributing/linting.md +++ b/docs/03-contributing/02-linting.md @@ -40,4 +40,4 @@ Run the following command to attempt auto-fix linting issues: npm run lint-fix ``` -Note that unlike PHP-CS-Fixer, _not all linting problems could be automatically fixed_, some of these would requires manually fixing them as appropiate, be sure to do those. +Note that unlike PHP-CS-Fixer, _not all linting problems could be automatically fixed_, some of these would requires manually fixing them as appropriate, be sure to do those. diff --git a/docs/04-contributing/about-federation.md b/docs/03-contributing/04-about-federation.md similarity index 100% rename from docs/04-contributing/about-federation.md rename to docs/03-contributing/04-about-federation.md diff --git a/docs/04-contributing/README.md b/docs/03-contributing/README.md similarity index 79% rename from docs/04-contributing/README.md rename to docs/03-contributing/README.md index 312fb1a06..2bb492cc6 100644 --- a/docs/04-contributing/README.md +++ b/docs/03-contributing/README.md @@ -4,15 +4,15 @@ Thanks for considering contributing to Mbin! We appreciate your interest in help ## Code -Follow the [getting started instructions](getting_started.md) to setup a development server. +Follow the [getting started instructions](01-getting_started.md) to setup a development server. ## Coding Style -Please, follow the [linting guide](linting.md). +Please, follow the [linting guide](02-linting.md). ## Way of Working -Comply with **our version** of [Collective Code Construction Contract (C4)](C4.md) specification. Read this document to understand how we work together and how the development process works at Mbin. +Comply with **our version** of [Collective Code Construction Contract (C4)](03-C4.md) specification. Read this document to understand how we work together and how the development process works at Mbin. ## Translations diff --git a/docs/03-3rd_party_developer/oauth2_guide.md b/docs/04-3rd_party_developer/README.md similarity index 98% rename from docs/03-3rd_party_developer/oauth2_guide.md rename to docs/04-3rd_party_developer/README.md index 9e14922b6..b9182006e 100644 --- a/docs/03-3rd_party_developer/oauth2_guide.md +++ b/docs/04-3rd_party_developer/README.md @@ -1,6 +1,8 @@ -# OAuth2 Guide +# 3rd Party Developer -## Available Grants +## OAuth2 Guide + +### Available Grants 1. `client_credentials` - [documentation here](https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/) @@ -17,11 +19,11 @@ - [documentation here](https://www.oauth.com/oauth2-servers/making-authenticated-requests/refreshing-an-access-token/) - Refresh tokens are used with the `authorization_code` grant type to reduce the number of times the user must log in. -## Endpoints +### Endpoints For all the API endpoints go to the swagger documentation page, which is: `https://your_domain.com/api/docs`. Assuming you setup the server and the API correctly. -## Obtaining OAuth2 credentials from a new server +### Obtaining OAuth2 credentials from a new server > [!NOTE] > Some of these structures contain comments that need to be removed before making the API calls. Copy/paste with care. @@ -95,9 +97,9 @@ POST /api/client } ``` -## Available Scopes +### Available Scopes -### Scope tree +#### Scope tree 1. `read` - Allows retrieval of threads from the user's subscribed magazines/domains and viewing the user's favorited entries. 2. `write` - Provides all of the following nested scopes diff --git a/docs/README.md b/docs/README.md index ea3650cb4..16cac3b6d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,7 +2,7 @@ We split up the documentation for: -- [Users](01-user/user_guide.md) +- [Users](01-user/README.md) - [Admins](02-admin/README.md) -- [Developers](04-contributing/README.md) -- and [3rd party developers](03-3rd_party_developer/oauth2_guide.md), meaning API documentation. +- [Contributing](03-contributing/README.md) +- and [3rd party developers](04-3rd_party_developer/README.md), meaning API documentation.