mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-21 01:25:55 +02:00
Created Installation via Docker (markdown)
parent
2609eff89d
commit
5c5d805af7
1 changed files with 35 additions and 0 deletions
35
Installation-via-Docker.md
Normal file
35
Installation-via-Docker.md
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Installation of Part-DB via docker
|
||||
|
||||
**Warning: The methods described here, configure PHP without HTTPS and therefore should only be used locally. If you want to expose Part-DB to the internet, you have to configure a reverse proxy!**
|
||||
|
||||
## Docker-compose
|
||||
Part-DB can be installed via docker. A pre-built docker image is available under [jbtronics/part-db1](https://hub.docker.com/repository/docker/jbtronics/part-db1/).
|
||||
In the moment the master tag should be used (which is built from the latest commits in the master branch), as no tagged releases are available yet.
|
||||
|
||||
The easiest way to use it is to use the docker-compose.yml available [here](https://raw.githubusercontent.com/Part-DB/Part-DB-symfony/master/docs/docker/docker-compose.yaml):
|
||||
0. Install docker and docker-compose like described under https://docs.docker.com/compose/install/
|
||||
1. Create a folder where the Part-DB data should live
|
||||
2. Download docker-compose.yml and move it to the folder created above
|
||||
3. Inside the folder, run `docker-compose up -d`
|
||||
4. Create the inital database with `docker exec --user=www-data partdb php bin/console doctrine:migrations:migrate` and watch for the password output
|
||||
5. Part-DB is available under `http://localhost:8080` and you can log in with username `admin` and the password shown before
|
||||
|
||||
The docker image uses a SQLite database and all data (database, uploads and other media) is put into folders relative to the docker-compose.yml.
|
||||
|
||||
## Direct use of docker image
|
||||
You can use the `jbtronics/part-db1:master` image directly. You have to expose the port 80 to a host port and configure volumes for `/var/www/html/uploads` and `/var/www/html/public/media`.
|
||||
|
||||
If you want to use SQLite database (which is default), you have to configure Part-DB to put the database file in a mapped volume via the `DATABASE_URL` environment variable.
|
||||
For example if you set `DATABASE_URL=sqlite:///%kernel.project_dir%/var/db/app.db` then you will have to map the `/var/www/html/var/db/` folder to the docker container (see docker-compose.yaml for example).
|
||||
|
||||
You also have to create the database like described above in step 4.
|
||||
|
||||
## Running console commands
|
||||
You can run the console commands described in README by executing `docker exec --user=www-data -it partdb bin/console [command]`
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
*Login not possible. Login page is just reloading and no error message is shown or something like "CSFR token invalid"*:
|
||||
|
||||
Clear all cookies in your browser or use a inkognito tab for Part-DB.
|
||||
This related to the fact that Part-DB can not set cookies via HTTP, after some webpage has set cookies before under localhost via https. This is a security mechanism of the browser and can not be bypassed by Part-DB.
|
Loading…
Add table
Add a link
Reference in a new issue