mirror of
https://github.com/simple-login/app.git
synced 2024-09-28 04:41:28 +02:00
improve contributing.md, comment all optional options in example.env
This commit is contained in:
parent
6f37bf858d
commit
2c46097330
@ -1,4 +1,6 @@
|
|||||||
All work on SimpleLogin happens directly on GitHub.
|
Thanks for taking the time to contribute! 🎉👍
|
||||||
|
|
||||||
|
The project uses Flask and requires Python3.7+.
|
||||||
|
|
||||||
### Run code locally
|
### Run code locally
|
||||||
|
|
||||||
@ -43,12 +45,7 @@ To run the code locally, please create a local setting file based on `example.en
|
|||||||
cp example.env .env
|
cp example.env .env
|
||||||
```
|
```
|
||||||
|
|
||||||
Make sure to uncomment the `RESET_DB=true` to create the database locally.
|
To run the server:
|
||||||
|
|
||||||
Feel free to custom your `.env` file, it would be your default setting when developing locally. This file is ignored by git.
|
|
||||||
|
|
||||||
You don't need all the parameters, for example, if you don't update images to s3, then
|
|
||||||
`BUCKET`, `AWS_ACCESS_KEY_ID` can be empty or if you don't use login with Github locally, `GITHUB_CLIENT_ID` doesn't have to be filled. The `example.env` file contains minimal requirement so that if you run:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
python3 server.py
|
python3 server.py
|
||||||
@ -60,6 +57,8 @@ then open http://localhost:7777, you should be able to login with the following
|
|||||||
john@wick.com / password
|
john@wick.com / password
|
||||||
```
|
```
|
||||||
|
|
||||||
|
You might need to change the `.env` file for developing certain features. This file is ignored by git.
|
||||||
|
|
||||||
### Database migration
|
### Database migration
|
||||||
|
|
||||||
The database migration is handled by `alembic`
|
The database migration is handled by `alembic`
|
||||||
@ -106,11 +105,11 @@ black .
|
|||||||
|
|
||||||
[swaks](http://www.jetmore.org/john/code/swaks/) is used for sending test emails to the `email_handler`.
|
[swaks](http://www.jetmore.org/john/code/swaks/) is used for sending test emails to the `email_handler`.
|
||||||
|
|
||||||
[mailcatcher](https://github.com/sj26/mailcatcher) is used to receive forwarded emails.
|
[mailcatcher](https://github.com/sj26/mailcatcher) or [MailHog](https://github.com/mailhog/MailHog) can be used as a MTA to receive emails.
|
||||||
|
|
||||||
There are several steps to set up the email handler
|
Here's how set up the email handler:
|
||||||
|
|
||||||
1) run mailcatcher
|
1) run mailcatcher or MailHog
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mailcatcher
|
mailcatcher
|
||||||
@ -119,7 +118,10 @@ mailcatcher
|
|||||||
2) Make sure to set the following variables in the `.env` file
|
2) Make sure to set the following variables in the `.env` file
|
||||||
|
|
||||||
```
|
```
|
||||||
NOT_SEND_EMAIL=true
|
# comment out this variable
|
||||||
|
# NOT_SEND_EMAIL=true
|
||||||
|
|
||||||
|
# So the emails will be sent to mailcatcher/MailHog
|
||||||
POSTFIX_SERVER=localhost
|
POSTFIX_SERVER=localhost
|
||||||
POSTFIX_PORT=1025
|
POSTFIX_PORT=1025
|
||||||
```
|
```
|
||||||
@ -133,7 +135,7 @@ python email_handler.py
|
|||||||
4) Send a test email
|
4) Send a test email
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
swaks --to e1@d1.localhost --from hey@google.com --server 127.0.0.1:20381
|
swaks --to e1@sl.local --from hey@google.com --server 127.0.0.1:20381
|
||||||
```
|
```
|
||||||
|
|
||||||
Now open http://localhost:1080/, you should see the test email.
|
Now open http://localhost:1080/, you should see the test email.
|
69
example.env
69
example.env
@ -1,3 +1,7 @@
|
|||||||
|
# This file contains all available options in SimpleLogin.
|
||||||
|
# Some are optional and are commented out by default.
|
||||||
|
# Some are only relevant for our SaaS version, for example for payment integration, analytics, etc.
|
||||||
|
|
||||||
# Server url
|
# Server url
|
||||||
URL=http://localhost:7777
|
URL=http://localhost:7777
|
||||||
|
|
||||||
@ -11,24 +15,23 @@ URL=http://localhost:7777
|
|||||||
# apply colored log to facilitate local development
|
# apply colored log to facilitate local development
|
||||||
# COLOR_LOG=true
|
# COLOR_LOG=true
|
||||||
|
|
||||||
# <<< Email related settings >>>
|
|
||||||
# Only print email content, not sending it, for local development
|
# Only print email content, not sending it, for local development
|
||||||
# NOT_SEND_EMAIL=true
|
NOT_SEND_EMAIL=true
|
||||||
|
|
||||||
# domain used to create alias
|
# domain used to create alias
|
||||||
EMAIL_DOMAIN=sl.local
|
EMAIL_DOMAIN=sl.local
|
||||||
|
|
||||||
# Allow SimpleLogin to enforce SPF by using the extra headers from postfix
|
# Allow SimpleLogin to enforce SPF by using the extra headers from postfix
|
||||||
ENFORCE_SPF=true
|
# ENFORCE_SPF=true
|
||||||
|
|
||||||
# other domains that can be used to create aliases, in addition to EMAIL_DOMAIN
|
# other domains that can be used to create aliases, in addition to EMAIL_DOMAIN
|
||||||
OTHER_ALIAS_DOMAINS=["domain1.com", "domain2.com"]
|
# OTHER_ALIAS_DOMAINS=["domain1.com", "domain2.com"]
|
||||||
|
|
||||||
# domains that can be used to create aliases. If set, override OTHER_ALIAS_DOMAINS
|
# domains that can be used to create aliases. If set, override OTHER_ALIAS_DOMAINS
|
||||||
ALIAS_DOMAINS=["domain1.com", "domain2.com"]
|
# ALIAS_DOMAINS=["domain1.com", "domain2.com"]
|
||||||
|
|
||||||
# (optional) domains that are only available to premium accounts
|
# (optional) domains that are only available to premium accounts
|
||||||
PREMIUM_ALIAS_DOMAINS=["premium.com"]
|
# PREMIUM_ALIAS_DOMAINS=["premium.com"]
|
||||||
|
|
||||||
# the alias domain used when creating the first alias for user, default to EMAIL_DOMAIN if not set
|
# the alias domain used when creating the first alias for user, default to EMAIL_DOMAIN if not set
|
||||||
# FIRST_ALIAS_DOMAIN = another-domain.com
|
# FIRST_ALIAS_DOMAIN = another-domain.com
|
||||||
@ -42,12 +45,12 @@ SUPPORT_NAME=Son from SimpleLogin
|
|||||||
# BOUNCE_PREFIX = "bounces+"
|
# BOUNCE_PREFIX = "bounces+"
|
||||||
# BOUNCE_SUFFIX = "+@sl.local"
|
# BOUNCE_SUFFIX = "+@sl.local"
|
||||||
|
|
||||||
|
|
||||||
# to receive general stats.
|
# to receive general stats.
|
||||||
# ADMIN_EMAIL=admin@sl.local
|
# ADMIN_EMAIL=admin@sl.local
|
||||||
|
|
||||||
# Max number emails user can generate for free plan
|
# Max number emails user can generate for free plan
|
||||||
MAX_NB_EMAIL_FREE_PLAN=5
|
# Set to 5 by default
|
||||||
|
# MAX_NB_EMAIL_FREE_PLAN=5
|
||||||
|
|
||||||
# Close registration. Avoid people accidentally creating new account on a self-hosted SimpleLogin
|
# Close registration. Avoid people accidentally creating new account on a self-hosted SimpleLogin
|
||||||
# DISABLE_REGISTRATION=1
|
# DISABLE_REGISTRATION=1
|
||||||
@ -71,37 +74,31 @@ DKIM_PRIVATE_KEY_PATH=local_data/dkim.key
|
|||||||
|
|
||||||
# the DKIM public key used to setup custom domain DKIM
|
# the DKIM public key used to setup custom domain DKIM
|
||||||
DKIM_PUBLIC_KEY_PATH=local_data/dkim.pub.key
|
DKIM_PUBLIC_KEY_PATH=local_data/dkim.pub.key
|
||||||
# <<< END Email related settings >>>
|
|
||||||
|
|
||||||
|
|
||||||
# <<< Database >>>
|
# delete and recreate the sqlite database, for local development
|
||||||
# delete and recreate sqlite database, for local development
|
RESET_DB=true
|
||||||
# RESET_DB=true
|
|
||||||
|
|
||||||
# DB Connection
|
# DB Connection
|
||||||
# Local SQLite database
|
# Local SQLite database
|
||||||
DB_URI=sqlite:///db.sqlite
|
DB_URI=sqlite:///db.sqlite
|
||||||
# Postgres
|
# Postgres
|
||||||
# DB_URI=postgresql://myuser:mypassword@sl-db:5432/simplelogin
|
# DB_URI=postgresql://myuser:mypassword@sl-db:5432/simplelogin
|
||||||
# <<< END Database >>>
|
|
||||||
|
|
||||||
# Flask
|
|
||||||
FLASK_SECRET=secret
|
FLASK_SECRET=secret
|
||||||
|
|
||||||
# <<< AWS >>>
|
# AWS params
|
||||||
BUCKET=to_fill
|
# BUCKET=to_fill
|
||||||
AWS_ACCESS_KEY_ID=to_fill
|
# AWS_ACCESS_KEY_ID=to_fill
|
||||||
AWS_SECRET_ACCESS_KEY=to_fill
|
# AWS_SECRET_ACCESS_KEY=to_fill
|
||||||
AWS_REGION=to_fill
|
# AWS_REGION=to_fill
|
||||||
|
|
||||||
# <<< END AWS >>>
|
|
||||||
|
|
||||||
# Paddle
|
# Paddle
|
||||||
PADDLE_VENDOR_ID=123
|
# PADDLE_VENDOR_ID=123
|
||||||
PADDLE_MONTHLY_PRODUCT_ID=123
|
# PADDLE_MONTHLY_PRODUCT_ID=123
|
||||||
PADDLE_YEARLY_PRODUCT_ID=123
|
# PADDLE_YEARLY_PRODUCT_ID=123
|
||||||
PADDLE_PUBLIC_KEY_PATH=local_data/paddle.key.pub
|
# PADDLE_PUBLIC_KEY_PATH=local_data/paddle.key.pub
|
||||||
PADDLE_AUTH_CODE=123
|
# PADDLE_AUTH_CODE=123
|
||||||
|
|
||||||
# OpenId key
|
# OpenId key
|
||||||
OPENID_PRIVATE_KEY_PATH=local_data/jwtRS256.key
|
OPENID_PRIVATE_KEY_PATH=local_data/jwtRS256.key
|
||||||
@ -110,17 +107,17 @@ OPENID_PUBLIC_KEY_PATH=local_data/jwtRS256.key.pub
|
|||||||
# Words to generate random email alias
|
# Words to generate random email alias
|
||||||
WORDS_FILE_PATH=local_data/words.txt
|
WORDS_FILE_PATH=local_data/words.txt
|
||||||
|
|
||||||
# Github
|
# Login with Github
|
||||||
GITHUB_CLIENT_ID=to_fill
|
# GITHUB_CLIENT_ID=to_fill
|
||||||
GITHUB_CLIENT_SECRET=to_fill
|
# GITHUB_CLIENT_SECRET=to_fill
|
||||||
|
|
||||||
# Google
|
# Login with Google
|
||||||
GOOGLE_CLIENT_ID=to_fill
|
# GOOGLE_CLIENT_ID=to_fill
|
||||||
GOOGLE_CLIENT_SECRET=to_fill
|
# GOOGLE_CLIENT_SECRET=to_fill
|
||||||
|
|
||||||
# Facebook
|
# Login with Facebook
|
||||||
FACEBOOK_CLIENT_ID=to_fill
|
# FACEBOOK_CLIENT_ID=to_fill
|
||||||
FACEBOOK_CLIENT_SECRET=to_fill
|
# FACEBOOK_CLIENT_SECRET=to_fill
|
||||||
|
|
||||||
# Flask profiler
|
# Flask profiler
|
||||||
# FLASK_PROFILER_PATH=/tmp/flask-profiler.sql
|
# FLASK_PROFILER_PATH=/tmp/flask-profiler.sql
|
||||||
@ -131,7 +128,7 @@ FACEBOOK_CLIENT_SECRET=to_fill
|
|||||||
|
|
||||||
# By default, files are uploaded to s3
|
# By default, files are uploaded to s3
|
||||||
# Set this variable to use the local "static/upload/" directory instead
|
# Set this variable to use the local "static/upload/" directory instead
|
||||||
# LOCAL_FILE_UPLOAD=true
|
LOCAL_FILE_UPLOAD=true
|
||||||
|
|
||||||
# The landing page
|
# The landing page
|
||||||
# LANDING_PAGE_URL=https://simplelogin.io
|
# LANDING_PAGE_URL=https://simplelogin.io
|
||||||
|
Loading…
Reference in New Issue
Block a user