Files
Pinry/docs/src/development.md

89 lines
2.3 KiB
Markdown
Raw Normal View History

2019-12-08 19:35:05 +00:00
# Developing Pinry
Pinry currently has two major requirements:
2024-09-30 20:37:15 +08:00
- Python@3.6+
- NodeJS@18
2019-12-08 19:35:05 +00:00
For minor requirements you need two have installed two package managers that
are not the defaults for these languages:
2024-09-30 20:37:15 +08:00
- Python, poetry
- NodeJS, pnpm
2019-12-08 19:35:05 +00:00
To install these is pretty simple, you can just run:
cd pinry
2024-09-30 20:37:15 +08:00
pip install poetry
npm install -g pnpm
2019-12-08 19:35:05 +00:00
After that you can install this project with:
2024-09-30 20:37:15 +08:00
poetry install
cd pinry-spa; pnpm install
2019-12-08 19:35:05 +00:00
You will need to run two separate items as of right now, the SPA and the
backend:
2024-09-30 20:37:15 +08:00
poetry run python manage.py migrate
poetry run python manage.py runserver
2019-12-08 19:35:05 +00:00
And from another terminal:
2024-09-30 20:37:15 +08:00
cd pinry-spa; pnpm serve
## Testing
We have many tests built into Pinry to ensure that changes don't break
anything. If you are live dangerously and have cutting edge new Pinry
features first you can use our master branch for your own instance. We
recommend using our tags/versions though.
To run Pinry's tests inside the Pinry repo run:
2024-09-30 20:37:15 +08:00
poetry run python manage.py test
# Docker
Follow the steps below to install Pinry locally or on any server. This
process installs the minimal requirements to run Pinry. For development
requirements and procedures, see testing above.
Current docker configuration will just mount source code directory to
docker app directory and run any codes existed in current git branch,
you may also add "local_settings.py" to customize settings without
changing settings file in `pinry/settings`.
- Install the requirements:
- Docker
- Docker Compose
2022-05-05 00:35:54 +08:00
- Set any custom configuration options you need and run
2022-05-05 00:35:54 +08:00
cp docker-compose.example.yml docker-compose.yml
# edit docker-compose.yml and change the secret-key,
# don't forget to backup this config file.
# You should build frontend first
docker-compose up build_frontend
# then start the backend server
docker-compose up -d web
- If you want to run Pinry with current user in docker
./start_docker_with_current_user.sh [-d]
2022-05-05 00:35:54 +08:00
- Bootstrap the database(optional)
docker-compose exec web python3 manage.py migrate --settings=pinry.settings.docker
2022-05-05 00:35:54 +08:00
**Note** : No static file server configured, your should configure nginx or other server to serve
static files from `./static`(as path `/static`) and `./pinry-spa/dist` (as html root `/`)