Compare commits
4 commits
8cf2037877
...
2fd04ca110
Author | SHA1 | Date | |
---|---|---|---|
2fd04ca110 | |||
b5ea49ceb4 | |||
04286b95d4 | |||
6bd88f6b2f |
3 changed files with 116 additions and 7 deletions
115
README.md
115
README.md
|
@ -10,11 +10,122 @@ The differences between the upstream repository are described below:
|
||||||
- Has a better Docker entry point where you can control the backend without using pre-written shell scripts
|
- Has a better Docker entry point where you can control the backend without using pre-written shell scripts
|
||||||
- Supports Podman quite well
|
- Supports Podman quite well
|
||||||
|
|
||||||
|
## How to Setup (Podman Rootless)
|
||||||
|
|
||||||
|
### 0. Requirements
|
||||||
|
|
||||||
|
- A decent CPU
|
||||||
|
- 2GB of memory (200MB runtime)
|
||||||
|
- 500MB free disk space
|
||||||
|
- Podman runs as non-root user
|
||||||
|
|
||||||
|
### 1. Build your image
|
||||||
|
|
||||||
|
This will take 10+ minutes.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cd /YOUR/GIT/DIRECTORY/akkoma/
|
||||||
|
podman build -t akkoma .
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Create a Podman Pod for Akkoma
|
||||||
|
|
||||||
|
```sh
|
||||||
|
podman pod create \
|
||||||
|
--publish YOUR_PORT:4000 \
|
||||||
|
akkoma
|
||||||
|
```
|
||||||
|
|
||||||
|
You can use **pasta(1)** if you want to preserve incoming IPs and easily access the host machine through the network gateway.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
podman pod create \
|
||||||
|
--network pasta:--map-gw,-a,10.0.2.0,-n,24,-g,10.0.2.1 \
|
||||||
|
--add-host gateway:10.0.2.1 \
|
||||||
|
--publish YOUR_PORT:4000 \
|
||||||
|
akkoma
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Setting up the database
|
||||||
|
|
||||||
|
```sh
|
||||||
|
podman run -d \
|
||||||
|
--pod akkoma \
|
||||||
|
--restart unless-stopped \
|
||||||
|
--name akkoma-db \
|
||||||
|
-e POSTGRES_DB=YOUR_DB_NAME \
|
||||||
|
-e POSTGRES_USER=YOUR_DB_USER \
|
||||||
|
-e POSTGRES_PASSWORD=YOUR_DB_PASS \
|
||||||
|
-v ${PWD}/docker-db/:/var/lib/postgresql/data/:Z \
|
||||||
|
postgres:14-alpine
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. Setting up the backend
|
||||||
|
|
||||||
|
```sh
|
||||||
|
podman run -d \
|
||||||
|
--pod akkoma-pod \
|
||||||
|
--restart unless-stopped \
|
||||||
|
--name akkoma-web \
|
||||||
|
-e DB_NAME=YOUR_DB_NAME \
|
||||||
|
-e DB_USER=YOUR_DB_USER \
|
||||||
|
-e DB_PASS=YOUR_DB_PASS \
|
||||||
|
-v ${PWD}/static/:/var/lib/akkoma/static/:Z \
|
||||||
|
-v ${PWD}/uploads/:/var/lib/akkoma/uploads/:Z \
|
||||||
|
-v ${PWD}/etc/:/etc/akkoma/:Z \
|
||||||
|
akkoma
|
||||||
|
|
||||||
|
podman exec -it akkoma-web \
|
||||||
|
pleroma_ctl \
|
||||||
|
instance gen \
|
||||||
|
--output /etc/akkoma/config.exs
|
||||||
|
```
|
||||||
|
|
||||||
|
You will be asked a few questions. Make sure the database password is not `[autogenerated]`.
|
||||||
|
|
||||||
|
### 5. Test your setup
|
||||||
|
|
||||||
|
```sh
|
||||||
|
podman restart akkoma-web
|
||||||
|
curl -I http://localhost:YOUR_PORT/
|
||||||
|
```
|
||||||
|
|
||||||
|
You should see `HTTP/1.1 200 OK`.
|
||||||
|
|
||||||
|
### 6. Setting up the frontend
|
||||||
|
|
||||||
|
```sh
|
||||||
|
podman exec -it akkoma-web \
|
||||||
|
pleroma_ctl \
|
||||||
|
frontend install \
|
||||||
|
pleroma-fe
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
podman exec -it akkoma-web \
|
||||||
|
pleroma_ctl \
|
||||||
|
frontend install \
|
||||||
|
admin-fe
|
||||||
|
```
|
||||||
|
|
||||||
|
### 7. Create your first user
|
||||||
|
|
||||||
|
```sh
|
||||||
|
podman exec -it akkoma-web \
|
||||||
|
pleroma_ctl \
|
||||||
|
user new \
|
||||||
|
YOUR_NAME \
|
||||||
|
YOUR@EMAIL.EXAMPLE \
|
||||||
|
--admin
|
||||||
|
```
|
||||||
|
|
||||||
|
Open the printed link to set your password.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## akkoma
|
## Akkoma
|
||||||
|
|
||||||
*a smallish microblogging platform, aka the cooler pleroma*
|
_a smallish microblogging platform, aka the cooler pleroma_
|
||||||
|
|
||||||
 
|
 
|
||||||
|
|
||||||
|
|
|
@ -745,11 +745,11 @@
|
||||||
# available: %{...}
|
# available: %{...}
|
||||||
|
|
||||||
config :pleroma, :frontends,
|
config :pleroma, :frontends,
|
||||||
primary: %{"name" => "pleroma-fe", "ref" => "stable"},
|
primary: %{"name" => "pleroma-fe", "ref" => "itepechi"},
|
||||||
admin: %{"name" => "admin-fe", "ref" => "stable"},
|
admin: %{"name" => "admin-fe", "ref" => "stable"},
|
||||||
mastodon: %{"name" => "mastodon-fe", "ref" => "akkoma"},
|
mastodon: %{"name" => "mastodon-fe", "ref" => "akkoma"},
|
||||||
pickable: [
|
pickable: [
|
||||||
"pleroma-fe/stable"
|
"pleroma-fe/itepechi"
|
||||||
],
|
],
|
||||||
swagger: %{
|
swagger: %{
|
||||||
"name" => "swagger-ui",
|
"name" => "swagger-ui",
|
||||||
|
@ -761,7 +761,7 @@
|
||||||
"name" => "pleroma-fe",
|
"name" => "pleroma-fe",
|
||||||
"git" => "https://akkoma.dev/AkkomaGang/pleroma-fe",
|
"git" => "https://akkoma.dev/AkkomaGang/pleroma-fe",
|
||||||
"build_url" =>
|
"build_url" =>
|
||||||
"https://akkoma-updates.s3-website.fr-par.scw.cloud/frontend/${ref}/akkoma-fe.zip",
|
"https://git.itepechi.me/itepechi/akkoma-fe/releases/download/${ref}/akkoma-fe.zip",
|
||||||
"ref" => "stable",
|
"ref" => "stable",
|
||||||
"build_dir" => "dist"
|
"build_dir" => "dist"
|
||||||
},
|
},
|
||||||
|
|
|
@ -18,8 +18,6 @@ services:
|
||||||
build: .
|
build: .
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
MIX_ENV: prod
|
|
||||||
ERL_EPMD_ADDRESS: 127.0.0.1
|
|
||||||
DB_NAME: akkoma
|
DB_NAME: akkoma
|
||||||
DB_USER: akkoma
|
DB_USER: akkoma
|
||||||
DB_PASS: akkoma
|
DB_PASS: akkoma
|
||||||
|
|
Loading…
Reference in a new issue