elestio/friendica
Friendica, verified and packaged by Elestio
9.6K
Friendica is a decentralised communications platform that integrates social communication. Our platform links to independent social projects and corporate services.
Deploy a fully managed friendica on elest.io if you want automated backups, reverse proxy with SSL termination, firewall, automated OS & Software updates, and a team of Linux experts and open source enthusiasts to ensure your services are always safe, and functional.
You can deploy it easily with the following command:
git clone https://github.com/elestio-examples/friendica.git
Copy the .env file from tests folder to the project directory
cp ./tests/.env ./.env
Edit the .env file with your own values.
Create data folders with correct permissions
mkdir -p ./db
mkdir -p ./friendica
Run the project with the following command
docker-compose up -d
You can access the Web UI at: http://your-domain:7654
Here are some example snippets to help you get started creating a container.
version: '3.3'
services:
db:
image: mariadb
restart: always
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_RANDOM_ROOT_PASSWORD=yes
app:
image: friend:${SOFTWARE_VERSION_TAG}
restart: always
volumes:
- ./friendica:/var/www/html
ports:
- "172.17.0.1:7654:80"
environment:
- MYSQL_HOST=${MYSQL_HOST}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- FRIENDICA_URL=${FRIENDICA_URL}
- FRIENDICA_ADMIN_MAIL=${FRIENDICA_ADMIN_MAIL}
- SMTP=${SMTP}
- SMTP_PORT=${SMTP_PORT}
- SMTP_DOMAIN=${SMTP_DOMAIN}
- SMTP_FROM=${SMTP_FROM}
- SMTP_AUTH=${SMTP_AUTH}
depends_on:
- db
Variable | Value (example) |
---|---|
SOFTWARE_VERSION_TAG | latest |
FRIENDICA_URL | https://yourdomain |
FRIENDICA_ADMIN_MAIL | admin@test.com |
MYSQL_HOST | db-host-name |
MYSQL_USER | db-user |
MYSQL_PASSWORD | db-pass |
MYSQL_DATABASE | db-name |
SMTP | smtp.server |
SMTP_PORT | 25 |
SMTP_DOMAIN | smtp.domain |
SMTP_FROM | smtp.from.domian |
SMTP_AUTH | off |
The Elestio Friendica Docker image sends the container logs to stdout. To view the logs, you can use the following command:
docker-compose logs -f
To stop the stack you can use the following command:
docker-compose down
To make backup and restore operations easier, we are using folder volume mounts. You can simply stop your stack with docker-compose down, then backup all the files and subfolders in the folder near the docker-compose.yml file.
Creating a ZIP Archive For example, if you want to create a ZIP archive, navigate to the folder where you have your docker-compose.yml file and use this command:
zip -r myarchive.zip .
Restoring from ZIP Archive To restore from a ZIP archive, unzip the archive into the original folder using the following command:
unzip myarchive.zip -d /path/to/original/folder
Starting Your Stack Once your backup is complete, you can start your stack again with the following command:
docker-compose up -d
That's it! With these simple steps, you can easily backup and restore your data volumes using Docker Compose.
docker pull elestio/friendica