How to set up Mastodon using Docker Compose

Prerequisites Docker and Docker Compose installed Domain name pointing to your server 1. Create Project Directory mkdir mastodon cd mastodon 2. Create Docker Compose File Create a docker-compose.yml file: version: '3' services: db: restart: always image: postgres:14-alpine shm_size: 256mb networks: - internal_network healthcheck: test: ['CMD', 'pg_isready', '-U', 'postgres'] volumes: - postgres_data:/var/lib/postgresql/data environment: - POSTGRES_HOST_AUTH_METHOD=trust redis: restart: always image: redis:7-alpine networks: - internal_network healthcheck: test: ['CMD', 'redis-cli', 'ping'] volumes: - redis_data:/data web: restart: always image: tootsuite/mastodon:latest networks: - external_network - internal_network healthcheck: test: ['CMD-SHELL', 'wget -q --spider http://localhost:3000/health || exit 1'] timeout: 10s depends_on: - db - redis environment: - DB_HOST=db - DB_USER=postgres - DB_NAME=postgres - DB_PASS= - REDIS_HOST=redis - LOCAL_DOMAIN=your-domain.com - SINGLE_USER_MODE=false - SMTP_SERVER=smtp.mailgun.org - SMTP_PORT=587 - SMTP_LOGIN=your-smtp-login - SMTP_PASSWORD=your-smtp-password - SMTP_FROM_ADDRESS=notifications@your-domain.com volumes: - ./public/system:/mastodon/public/system ports: - "3000:3000" command: bash -c "rm -f /mastodon/tmp/pids/server.pid && bundle exec rails s -p 3000" streaming: restart: always image: tootsuite/mastodon:latest networks: - external_network - internal_network depends_on: - db - redis environment: - DB_HOST=db - DB_USER=postgres - DB_NAME=postgres - DB_PASS= - REDIS_HOST=redis - LOCAL_DOMAIN=your-domain.com volumes: - ./public/system:/mastodon/public/system ports: - "4000:4000" command: node ./streaming sidekiq: restart: always image: tootsuite/mastodon:latest networks: - internal_network depends_on: - db - redis environment: - DB_HOST=db - DB_USER=postgres - DB_NAME=postgres - DB_PASS= - REDIS_HOST=redis - LOCAL_DOMAIN=your-domain.com volumes: - ./public/system:/mastodon/public/system command: bundle exec sidekiq networks: external_network: internal_network: internal: true volumes: postgres_data: redis_data: 3. Create Environment File Create a .env.production file with your configuration: ...

2025年9月29日 · 4 分钟 · 698 字 · Shafiq Alibhai

Key Life Advice from People in Their 40s to Those in Their 20s

Key Life Advice from People in Their 40s to Those in Their 20s Physical Health & Self-Care Take care of your teeth - they’re the only set you’ll ever have Take care of your knees and back Stretch every day or at least more than never - stay limber because once flexibility is gone, it’s almost impossible to get back Don’t wait to get in shape - start working out now in whatever way you enjoy Use sunscreen and drink plenty of water Mental Health & Self-Perception Stop caring what other people think - this was one of the most emphasized points You’re not special, no one cares what you do, and the sooner you accept it, the sooner you can be at peace with yourself Don’t take yourself too seriously - you’ll probably look back ten years later mildly mortified at how deep you thought you were It’s okay and healthy to sit in silence - put down your phone and just be Time & Life Perspective Time goes by very fast - never waste a day Chase your dreams! You don’t want to be 80 years old regretting not travelling or pursuing your passion You don’t have as much time as you think you do - do something every day, even if it’s just for yourself Social Comparisons & Life Timelines Don’t fall into the trap of thinking everyone else your age has something you don’t Once you’re out of school, there are no timelines anymore - you’re not supposed to do anything by any particular point in your life Don’t worry about high school - once you’re done, no one cares except for getting your diploma Relationships & Social Life Choose friends wisely - don’t keep friends who bring you down, only call when they need something, or discourage your growth Just ask - whether it’s the person who gets your heart beating or the pay raise you deserve, things won’t come to you by themselves Financial Wisdom Save money and invest - investments roughly double every decade Doing something you like for a living is more rewarding than doing something that pays exceptionally well Personal Growth Fail more - failure is not a catastrophe but part of the process of getting better Deprogram yourself from societal lies and examine your beliefs thoroughly Learn to live in the present - the past is just memory and the future is imagination Source: Reddit comments

2025年9月29日 · 2 分钟 · 406 字 · Shafiq Alibhai

Comparison of WHPH and Super Productivity Apps

WHPH (Work Hard Play Hard) Key Features: Task Management: Organise and track your daily tasks efficiently Habit Tracking: Build and maintain positive habits with progress monitoring Application Usage Tracking: Monitor how you spend time on different applications Time Optimisation: Analyse your time usage patterns and improve productivity Optional data synchronization between your desktop and mobile devices over your local network Available for Android, Windows, and Linux platforms Privacy & Sync: ...

2025年9月29日 · 2 分钟 · 290 字 · Shafiq Alibhai

How to test AA and AAA batteries using a multimeter

Turn the dial to a higher voltage setting - Try the “200” setting in the DC voltage (V⎓) section. This will handle voltages up to 200V. Check your connections - Make sure: The black probe is firmly in the “COM” port The red probe is firmly in the “VΩmA” port You’re making good contact with the battery terminals Verify the battery orientation - Make sure you’re touching: Black probe to the negative (-) end of the battery Red probe to the positive (+) end of the battery

2025年9月29日 · 1 分钟 · 87 字 · Shafiq Alibhai

Iceraven and Ironfox browser comparison

Iceraven and IronFox are both open-source browsers for Android, each offering privacy and customization features but with different emphases and user audiences. Core Features Feature Iceraven IronFox Privacy & Telemetry Reduced telemetry, customisable123 Strongly privacy-hardened, all telemetry removed456 Add-ons/Extensions Extensive support, larger list than stock Firefox178 Supports Firefox Android extensions6 Customization About:config, more desktop-like options127 Advanced privacy defaults, stripped-down interface456 Speed & Performance Comparable to Brave/Chrome; resource-optimised89 Lightweight, slightly faster than stock Firefox6 Main Focus Customization, extension and power-user features12 Privacy, de-bloated and anti-tracking465 Updates Community-driven, slower but steady210 Active, responsive to user issues54 Official Channels Github APK releases, not on Play Store128 F-Droid/Accrescent, Github, not on Play Store46 Iceraven Browser Built on stable Firefox for Android, with a focus on more add-on availability and configuration options like about:config1112. Appeals to users who want to replicate desktop Firefox’s customization and plugin experience on mobile111. Releases and updates are maintained via Github and aren’t distributed via the Play Store128. Some comments note the lack of warranties or guarantees for security; best used by power users familiar with browser internals12. IronFox Browser Derived from Mull (itself a privacy-focused Firefox fork), with aggressive tracking and telemetry removal456. Prioritizes user privacy, blocks telemetry by default, and comes with strict tracking-protection settings46. Keeps features like Firefox Sync; disables or restricts features leaking data (such as WebGL, unless manually enabled)46. Distributed via alternative app stores like F-Droid, Accrescent, and Github; not available on Play Store46. Some advanced privacy features may result in compatibility issues with certain websites, especially those relying on features IronFox disables by default4. Summary Iceraven is ideal for those wanting a “power-user” browser with deep customization and a broad add-on library, making it similar to desktop Firefox in spirit1117. IronFox is best for users who place privacy first, seeking a Firefox-based browser that automatically strips out telemetry and unnecessary features for a lightweight, secure experience54612. Both offer more control and privacy than standard Firefox for Android, but Iceraven focuses on flexibility while IronFox focuses on privacy hardening. 1314151617181920 ...

2025年9月29日 · 2 分钟 · 355 字 · Shafiq Alibhai

Implementing TOGAF using SCRUM methodology

Implementing TOGAF Using SCRUM Methodology Implementing TOGAF (The Open Group Architecture Framework) using Scrum requires blending the structured, enterprise-wide approach of TOGAF with the agile, iterative delivery model of Scrum. Below is a step-by-step guide to achieve this: 1. Understand TOGAF and Scrum Synergy TOGAF provides a high-level framework for enterprise architecture (EA) with phases like ADM (Architecture Development Method). Scrum is an agile methodology for iterative software/product development with Sprints, backlogs, and cross-functional teams. Goal: Use Scrum to execute TOGAF phases incrementally while maintaining agility. 2. Map TOGAF ADM Phases to Scrum Sprints Instead of executing TOGAF linearly, break it into iterative cycles (Sprints): ...

2025年9月28日 · 3 分钟 · 463 字 · Shafiq Alibhai

Things to do and questions to ask when starting a new contract

Before starting a contract, consider the following: Is a BPSS check necessary? Is a DBS check necessary? Is the start date dependent on the client providing a laptop and completing setup? Red Flags and Lessons Learned Be cautious when: Code reviews are done by someone not actively working with you or partially working with you. Organizations use ServiceNow for project requests instead of support/change tickets. There are no operational tasks done in a squad/team. The lead engineer is not working on your project. Best practices: Get to know all ongoing projects before focusing on one. Create a onboarding Jira ticket if possible. Conduct 1-to-1 meetings with all team members. Focus on making a positive impact and building workplace relationships rather than just performance. Questions to Ask the Client ...

2025年5月22日 · 1 分钟 · 199 字 · Shafiq Alibhai

Consulting Framework

To determine the viability of a consulting project, consider the following factors: Can the client easily find a solution online? Ideally, the answer should be “no”, indicating that the problem requires specialized expertise. What are the consequences of a failed solution? The cost of failure should be significant, but not catastrophic. This could include financial losses, reputational damage, or operational disruptions. How quickly can you deliver a solution? The faster you can deliver a working solution, the better. This demonstrates your value to the client and helps build trust. How confident are you in your ability to deliver a great solution? You should be 100% confident in your ability to deliver a high-quality solution. Anything less may undermine the client’s trust and make it harder to close the deal.

2025年5月22日 · 1 分钟 · 129 字 · Shafiq Alibhai

Book Binding

Bookbinding is a great hobby to pick up! Here are some benefits: You can create personalized gifts for your friends and family. It’s a healthy pastime that can improve your mental health. Bookbinding allows you to stay connected with people, whether through creating gifts or joining a community of bookbinders. Equipments and materials I use 50Pcs Hot Melt Glue Strips 285mm Card Making Thermal Sticky for Book Binding | eBay ...

2025年5月22日 · 2 分钟 · 317 字 · Shafiq Alibhai

Incomplete notes on Personal Finance

Notes on budgeting strategies, savings goals, Investments: Stocks, bonds, real estate, retirement planning etc and Financial literacy: personal finance, taxes, insurance, and financial planning. Quantified Self: Income sources (salary, freelance work, investments) Expenses (fixed and variable) Budget allocations (groceries, utilities, entertainment, etc.) Savings rate Debt payments (credit cards, loans, mortgages) Credit score Net worth calculation Investment portfolio value Investment contributions Investment returns or losses Retirement savings progress Emergency fund balance Insurance premiums paid Tax-related activities (filing deadlines, documentation) Financial goals progress Money-saving strategies implemented Cash flow management Charity or donations made Subscription services (cost, frequency of use) Cost-cutting measures taken (e.g., negotiating bills, cancelling unused subscriptions) Income earned Expenses tracked Budget adhered to Savings accumulated Investments made Debt paid off Credit score monitored Financial goals set Financial independence progress Retirement planning undertaken Emergency fund maintained Insurance coverage assessed Taxes filed Estate planning considered Financial literacy efforts made Philanthropy or charitable giving practiced Financial setbacks overcome Financial milestones celebrated Invest in stocks, mutual funds, or other assets. ...

2025年5月22日 · 3 分钟 · 521 字 · Shafiq Alibhai