mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
Tooling integration
* add .markdownlint-cli2.jsonc, .ansible-lint, .ansible-lint-ignore
configs (permissive day-1: cosmetic rules disabled, semantic ones on)
* extend scripts/install/lint.sh with generic install_pip_pkg helper +
ensure_ansible_lint / ensure_galaxy_importer / ensure_markdownlint_cli2
ensure_* functions (pip / npm with sudo / --user / --break-system-packages
fallbacks). install_ansible_tools now also pulls ansible-lint and
galaxy-importer; new `markdown` install group.
* extend scripts/lint/ansible.sh to run ansible-lint after the existing
syntax-check.
* add scripts/lint/markdown.sh and scripts/lint/galaxy.sh runners. The
galaxy runner parallelizes via xargs (-P=$(nproc)), prints OK/FAIL per
role, and treats `bare-name dependency` errors as success since our
roles/ tree is not a Galaxy collection layout. All other Galaxy schema
errors still fail.
* Makefile: new lint-markdown and lint-galaxy targets, both wired into
`make lint`.
* CI: new workflows lint-markdown.yml and lint-galaxy.yml; lint-ansible.yml
now installs ansible-core + ansible-lint; ci-orchestrator wires both
new lint workflows into lint-gate.
Galaxy schema fixes
* shorten the canonical `galaxy_info.company` block from three lines to
two ("Kevin Veen-Birkenbach\nhttps://www.veen.world", 45 chars) so it
stays under Galaxy's hard 50-char limit. Updated everywhere: 229 role
meta/main.yml plus _CANONICAL_COMPANY in
tests/lint/repository/test_role_meta_main_galaxy_schema.py.
* shorten 19 over-long role descriptions to <=255 chars.
* add stub READMEs for sys-svc-compose-ca and sys-utils-service-loader.
Markdown baseline fixes
* markdownlint-cli2 --fix run repo-wide (formatting normalization
across CHANGELOG, role READMEs, docs).
* manual MD041 fixes: prepend H1 in 15 files (CHANGELOG, LICENSE,
TODO.md helpers, role README templates, etc.).
* MD025 / MD003 / MD001 / MD032 manual fixes for heading-style and
list-spacing edge cases.
* role README content polish: "## Single Point of Truth (SPOT)" headings
renamed to "## User data resolution" (D3 self-label rule).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
160 lines
4.7 KiB
Markdown
160 lines
4.7 KiB
Markdown
# Pixelfed Administration
|
|
|
|
## Accessing Services
|
|
|
|
### Application Access
|
|
|
|
To gain shell access to the application container, run the following command:
|
|
|
|
```bash
|
|
compose exec -it application bash
|
|
```
|
|
|
|
### Clear Cache
|
|
|
|
```bash
|
|
compose exec -it application php artisan cache:clear
|
|
```
|
|
|
|
### Database Access
|
|
|
|
To access the MariaDB instance in the database container, run the following command:
|
|
|
|
```bash
|
|
compose exec -it database mariadb -u pixelfed -p
|
|
```
|
|
|
|
### User Management via CLI in Pixelfed Docker Setup
|
|
|
|
To manage users in your Pixelfed instance running in a Docker container, as configured in Kevin Veen-Birkenbach's web-app-pixelfed role, you can follow these steps via the Command Line Interface (CLI):
|
|
|
|
1. **Access the Application Container:** First, gain shell access to the Pixelfed application container. Use the command provided in the README:
|
|
|
|
```bash
|
|
compose exec -it application bash
|
|
```
|
|
|
|
This command lets you access the bash shell inside the `application` Docker container where Pixelfed is running.
|
|
|
|
2. **Navigate to Pixelfed Directory:** Once inside the container, navigate to the Pixelfed directory. This is typically the root directory where Pixelfed is installed.
|
|
|
|
3. **Use Artisan Commands:** Pixelfed is built on Laravel, so you'll use Laravel's Artisan CLI for user management. Here are some common tasks:
|
|
|
|
- **Create a New User:**
|
|
|
|
```bash
|
|
php artisan user:create
|
|
```
|
|
|
|
This command will prompt you to enter the user's details like username, email, and password.
|
|
|
|
- **List Users:**
|
|
|
|
```bash
|
|
php artisan user:list
|
|
```
|
|
|
|
This command displays a list of all users.
|
|
|
|
- **Delete a User:**
|
|
|
|
```bash
|
|
php artisan user:delete {username}
|
|
```
|
|
|
|
Replace `{username}` with the actual username of the user you wish to delete.
|
|
|
|
- **Reset Password:**
|
|
|
|
```bash
|
|
php artisan user:reset-password {username}
|
|
```
|
|
|
|
This will initiate a password reset process for the specified user.
|
|
|
|
4. **Verify and Validate:** Depending on your Pixelfed's configuration, especially if email verification is required, you might need to perform additional steps to verify new accounts or modify user details.
|
|
|
|
5. **Exit the Container:** After completing your user management tasks, exit the Docker container shell by typing `exit`.
|
|
|
|
### Note
|
|
|
|
- **Commands Variability:** The available Artisan commands can vary based on your version of Pixelfed and Laravel. Always refer to the specific documentation for your version.
|
|
- **Permissions:** Ensure you have the necessary permissions and rights within the Docker container to perform these actions.
|
|
- **Environment Specifics:** The exact paths and commands may vary based on your Docker and Pixelfed setup, as defined in your `compose.yml` and other configuration files.
|
|
|
|
This process provides a streamlined way to manage Pixelfed users directly from the CLI in a Dockerized environment, ensuring that you can efficiently administer your Pixelfed instance without needing to access the Pixelfed web interface.
|
|
|
|
## Instagram Import Cleanup
|
|
|
|
If you have imported posts from Instagram, you can clean up the imported data and files as follows:
|
|
|
|
### Database Cleanup
|
|
|
|
Run these commands inside your MariaDB shell to remove import related data:
|
|
|
|
```bash
|
|
DELETE from import_posts WHERE 1;
|
|
DELETE from import_jobs WHERE 1;
|
|
DELETE from import_datas WHERE 1;
|
|
DELETE from statuses where created_at < "2022-12-01 22:15:39";
|
|
DELETE from media where deleted_at >= "2023-07-28 14:39:05";
|
|
```
|
|
|
|
### File System Cleanup
|
|
|
|
Run these commands to remove the imported files and trigger the cleanup job:
|
|
|
|
```bash
|
|
compose exec -u "www-data" application rm -rv "/var/www/storage/app/imports/1"
|
|
compose exec -u "www-data" application php artisan schedule:run
|
|
```
|
|
|
|
## Full Cleanup (Reset)
|
|
|
|
For a hard reset, which will delete all data and stop all services, use the following commands:
|
|
|
|
```bash
|
|
compose down
|
|
container volume rm pixelfed_application_data pixelfed_database pixelfed_redis
|
|
```
|
|
|
|
## Update Procedure
|
|
|
|
To update your Pixelfed instance, navigate to the directory where your `compose.yml` file is located and run these commands:
|
|
|
|
```bash
|
|
cd {{ DIR_COMPOSITIONS }}pixelfed/ &&
|
|
compose down &&
|
|
container network prune -f &&
|
|
compose pull &&
|
|
compose build &&
|
|
compose -p pixelfed up -d --force-recreate
|
|
```
|
|
|
|
## Inspecting the Services
|
|
|
|
To see the status of all services or follow the logs, use these commands:
|
|
|
|
```bash
|
|
compose ps -a
|
|
compose logs -f
|
|
```
|
|
|
|
## Debug
|
|
|
|
To debug the system set APP_DEBUG to true, like descriped [here](https://docs.pixelfed.org/).
|
|
|
|
```bash
|
|
nano config/app.php
|
|
php artisan cache:clear
|
|
php artisan route:cache
|
|
php artisan view:clear
|
|
php artisan config:cache
|
|
```
|
|
|
|
## Modifying files
|
|
|
|
```bash
|
|
apt update && apt upgrade && apt install nano
|
|
```
|