mirror of
https://github.com/philomena-dev/philomena.git
synced 2024-11-23 20:18:00 +01:00
5822635408
* Updates readme (cgroups v2) * Clarify SELinux instructions Co-authored-by: Parasprite <foalspeedahead@gmail.com>
53 lines
1.8 KiB
Markdown
53 lines
1.8 KiB
Markdown
# Philomena
|
|
![Philomena](/assets/static/images/phoenix.svg)
|
|
|
|
## Getting started
|
|
On systems with `docker` and `docker-compose` installed, the process should be as simple as:
|
|
|
|
```
|
|
docker-compose build
|
|
docker-compose up
|
|
```
|
|
|
|
If you use `podman` and `podman-compose` instead, the process for constructing a rootless container is nearly identical:
|
|
|
|
```
|
|
podman-compose build
|
|
podman-compose up
|
|
```
|
|
|
|
Once the application has started, navigate to http://localhost:8080 and login with admin@example.com / trixieisbestpony
|
|
|
|
## Troubleshooting
|
|
|
|
If you are running Docker on Windows and the application crashes immediately upon startup, please ensure that `autocrlf` is set to `false` in your Git config, and then re-clone the repository. Additionally, it is recommended that you allocate at least 4GB of RAM to your Docker VM.
|
|
|
|
If you run into an Elasticsearch bootstrap error, you may need to increase your `max_map_count` on the host as follows:
|
|
```
|
|
sudo sysctl -w vm.max_map_count=262144
|
|
```
|
|
|
|
If you have SELinux enforcing (Fedora, Arch, others; manifests as a `Could not find a Mix.Project` error), you should run the following in the application directory on the host before proceeding:
|
|
```
|
|
chcon -Rt svirt_sandbox_file_t .
|
|
```
|
|
|
|
This allows Docker or Podman to bind mount the application directory into the containers.
|
|
|
|
If you are using a platform which uses cgroups v2 by default (Fedora 31+), use `podman` and `podman-compose`.
|
|
|
|
## Deployment
|
|
You need a key installed on the server you target, and the git remote installed in your ssh configuration.
|
|
|
|
git remote add production philomena@<serverip>:philomena/
|
|
|
|
The general syntax is:
|
|
|
|
git push production master
|
|
|
|
And if everything goes wrong:
|
|
|
|
git reset HEAD^ --hard
|
|
git push -f production master
|
|
|
|
(to be repeated until it works again)
|