Find a file
2019-12-15 21:21:14 -05:00
.github Update issue templates (#2) 2019-12-07 22:07:49 -05:00
assets various fixes: 2019-12-12 10:51:44 -05:00
config add redis host for docker env, fixes #3 2019-12-08 18:34:18 -05:00
docker fix non-podman setup 2019-12-03 17:56:26 -05:00
lib admin users and roles 2019-12-15 21:21:14 -05:00
priv admin users and roles 2019-12-15 21:21:14 -05:00
rel use fixed version and emulator reboots for now 2019-12-07 13:58:45 -05:00
test we'll add these later 2019-12-12 21:25:06 -05:00
.formatter.exs initial 2019-08-14 20:32:32 -04:00
.gitignore primitive sign in 2019-10-31 13:57:39 -04:00
.iex.exs galleries index 2019-11-17 23:47:09 -05:00
docker-compose.yml refactor processor architecture 2019-12-07 00:49:20 -05:00
LICENSE add totp & registration freeze 2019-08-17 18:06:11 -04:00
mix.exs use fixed version and emulator reboots for now 2019-12-07 13:58:45 -05:00
mix.lock add missing file roots 2019-12-07 10:16:59 -05:00
post-receive use fixed version and emulator reboots for now 2019-12-07 13:58:45 -05:00
README.md add release config 2019-12-07 12:17:12 -05:00

Philomena

Next generation imageboard.

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

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, 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.

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)