mirror of
https://github.com/originalmk/skrytka-app.git
synced 2024-11-20 10:28:50 +00:00
36 lines
2.3 KiB
Markdown
36 lines
2.3 KiB
Markdown
![Logo skrytki](skrytka-small.png)
|
||
# skrytka.app
|
||
![Badge z licencją AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-9cf)
|
||
|
||
**Be aware that this app is not stable yet and new commits may introduce breaking changes**
|
||
|
||
To start this application you need to:
|
||
|
||
1. You can use `git clone https://github.com/Skrytka-App/Skrytka.App` to download this app.
|
||
2. Configure database
|
||
- Install PostgreSQL DBMS
|
||
- Setup some database and user with permissions to it
|
||
- Create .env file in the main directory and fill it in with fields DB_USER, DB_PASS, DB_HOST, DB_PORT, DB_NAME and COOKIE_SECRET. In case of confusion you may check exemplary .env file saved as .env.example in the root directory of this repository.
|
||
3. Run `npm install` in the main directory.
|
||
4. Run SQL migrations. To do that you should have knex installed globally too (npm install knex -g) and then execute `knex migrate:latest` in the root directory. For app to be usable it is also recommended to insert some data to the database.
|
||
- Note: Images should be added in media/images directory and image paths inserted into database should only contain part starting with images/ for example image may be uploaded at media/images/wozLEFT.webp and path in database should be images/wozLEFT.webp.
|
||
5. Run `npm install` in the client directory.
|
||
6. Run `npm build` in the client directory.
|
||
- You need to do this after every update of app's frontend (you can do it every time you pull new version of this app).
|
||
7. Run `npm start` in the main directory
|
||
8. App will run on localhost:5000
|
||
|
||
Note: pm2 or/and nginx may be used to run this app for production
|
||
|
||
## Updating
|
||
|
||
1. Stop the app. Execute `pm2 stop <your-app-name>` if you use pm2.
|
||
2. Use `git pull` to get latest changes.
|
||
3. Run `knex migrate:latest` in the root directory. Remember you need to have knex installed both globally and locally (it is in package.json so if you run `npm install` you will have it installed) to do that.
|
||
4. Go to client directory and enter `npm build`.
|
||
5. Start the app. If you use pm2, exectue `pm2 start <your-app-name>`.
|
||
|
||
## Contributing
|
||
You are welcome to help us create Skrytka. Just remember to dicuss what you want to work (specified issue - if there is no one then you should create one for that).
|
||
Code contributed should be tested to work correctly!
|